BASIC extension: Difference between revisions

Content deleted Content added
Mention that they are also known as '''BASIC extensions''' and added Category:BASIC extensions
Citation bot (talk | contribs)
Altered url. URLs might have been anonymized. | Use this bot. Report bugs. | Suggested by Jay8g | Linked from User:Jay8g/sandbox | #UCB_webform_linked 32/291
 
(33 intermediate revisions by 23 users not shown)
Line 1:
'''BASIC toolkits''' (aka '''BASIC extensions''') - not to be confused with [[toolkit|widget toolkits]] - were a common type of program for 1980s 8-bit [[home computer]]s. Generally third-party extensions, they added additional features to thea computer's built-in [[BASIC programming language|BASIC]] [[interpreter (computing)|interpreter]].
 
==Technical concept==
Toolkits ran as [[terminate and stay resident]] extensions to the BASIC interpreter supplied with the machine. At the time, such interpreters almost always came programmed into the [[Readread-only Only Memorymemory|ROM]] of the computer, making it impossible to modify or [[Patch (computing)|patch]] the [[computermachine code|code]]. It was also extremely rare for manufacturers to offer upgrades or bugfixes except as part of new models of machine. Typical toolkit functionality included editing extensions, such as commands to renumber a program, perform block line deletions and so on, and additional keywords to perform new functions.
 
As the original language was held in immutable [[read-only memory|ROM]], it generally was difficult for a toolkit to directly extend the language, except by adding new keywords to perform functions not implemented by the original interpreter. For example, the [[Lightning BASIC]] toolkit extended the [[Amstrad PCW]]'s [[Mallard BASIC]] language with many new facilities - see the Mallard BASIC article for details.
 
==Functionality==
The [[Beta BASIC]] extension to [[Sinclair BASIC]] on the [[ZX Spectrum]] computer started out as a simple toolkit but grew into an interpreter in its own right.
Typical toolkit functionality included editing extensions, such as commands to renumber a program, perform block line deletions and so on, facilities to make [[structured programming]] possible, and additional keywords to perform new functions. In the case of the latter, these new functions often allowed the programmer to easily access the computer's [[computer graphics|graphics]], [[sound effects|sound]] and other hardware which was often partially or completely unsupported in the early BASICs. This would have otherwise been achieved by arcane usage of ''[[PEEK and POKE]]'' commands and [[machine language]] [[Subroutine|routines]].
 
==Examples==
[[Category:BASIC extensions|*]]
*[[Beta BASIC]]<ref>{{Cite web |title=Andy Wright {{!}} World of SAM |url=https://www.worldofsam.org/people/andy-wright |access-date=2025-05-09 |website=www.worldofsam.org}}</ref> ([[ZX Spectrum]]) &ndash; Extension to [[Sinclair BASIC]]; started out as a simple toolkit but grew into a full interpreter
[[category:Programming]]
*Lightning BASIC ([[Amstrad PCW]]) &ndash; Extension to [[Mallard BASIC]] with many new facilities (see the Mallard BASIC article for details)
*[[Simons' BASIC]]<ref>{{Cite book |last=Dillon |first=Roberto |url=https://books.google.com/books?id=ecuoBQAAQBAJ&dq=Simons%27+BASIC+Commodore+64&pg=PA26 |title=Ready: A Commodore 64 Retrospective |date=2014-12-03 |publisher=Springer |isbn=978-981-287-341-5 |pages=26 |language=en}}</ref> ([[Commodore 64]]) &ndash; Extension to [[Commodore BASIC|BASIC 2.0]] with 114 extra commands; programmed by a 16-year-old boy and marketed by CBM
*[[Super Expander]] ([[VIC-20]]) &ndash; A combined [[random-access memory|RAM]]-expansion (3 [[kibibyte]]s) and BASIC extension [[ROM cartridge|cartridge]]
 
==See also==
*[[List of BASIC dialects#BASIC extensions]]
* [[List of computers with on-board BASIC]]
 
==References==
{{reflist}}
 
{{BASIC}}
 
{{DEFAULTSORT:Basic Extension}}
[[Category:BASIC extensions|* ]]
[[Category:BASIC programming language]]