BASIC extension: Difference between revisions

Content deleted Content added
applying WP:MOS in regard to hyphenation: —> "16-year-old" [1 instance]—WP:MOS#Numbers (point 1)—WP:HYPHEN, sub-subsection 3, points 3 and 8
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
 
(10 intermediate revisions by 7 users not shown)
Line 1:
{{Unreferenced|date=December 2009}}
'''BASIC toolkits''' (aka '''BASIC extensions''') were a common type of program for 1980s 8-bit [[home computer]]s. Generally third-party extensions, they added additional features to a computer's built-in [[BASIC programming language|BASIC]] [[interpreter (computing)|interpreter]].
 
__NOTOC__
==Technical concept==
Toolkits ran as extensions to the BASIC interpreter supplied with the machine. At the time, such interpreters almost always came programmed into the [[read-only memory|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.
 
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.
Line 10 ⟶ 9:
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==
==Notable examples==
*[[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
*[[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]] ([[Commodore VIC-20|CBM VIC-20]]) &ndash; A combined [[random-access memory|RAM]]-expansion (3 [[kibibyte]]s) and BASIC extension [[ROM cartridge (electronics)|cartridge]]
 
==See also==
*[[List of BASIC dialects#BASIC extensions]]
* [[List of computers with on-board BASIC]]
 
==References==
{{reflist}}
 
{{BASIC}}
 
{{DEFAULTSORT:Basic Extension}}