Jump to content

BASIC extension: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
I don't think anyone will confuse BASIC extensions with widget toolkits
That's machine code.
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Unreferenced|date=December 2009}}
{{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]].
'''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==
==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 [[read-only memory|ROM]] of the computer, making it impossible to modify or [[Patch (computing)|patch]] the [[computer code|code]]. It was also extremely rare for manufacturers to offer upgrades or bugfixes except as part of new models of machine.
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 [[machine 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.
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: Line 10:
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]].
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]] ([[ZX Spectrum]]) – Extension to [[Sinclair BASIC]]; started out as a simple toolkit but grew into a full interpreter
*[[Beta BASIC]] ([[ZX Spectrum]]) – Extension to [[Sinclair BASIC]]; started out as a simple toolkit but grew into a full interpreter
*[[Lightning BASIC]] ([[Amstrad PCW]]) – Extension to [[Mallard BASIC]] with many new facilities (see the Mallard BASIC article for details)
*Lightning BASIC ([[Amstrad PCW]]) – Extension to [[Mallard BASIC]] with many new facilities (see the Mallard BASIC article for details)
*[[Simons' BASIC]] ([[Commodore 64]]) – Extension to [[Commodore BASIC|BASIC 2.0]] with 114 extra commands; programmed by a 16-year old boy and marketed by CBM
*[[Simons' BASIC]] ([[Commodore 64]]) – 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]]) – A combined [[random-access memory|RAM]]-expansion (3 [[kibibyte]]s) and BASIC extension [[cartridge (electronics)|cartridge]]
*[[Super Expander]] ([[VIC-20]]) – A combined [[random-access memory|RAM]]-expansion (3 [[kibibyte]]s) and BASIC extension [[ROM cartridge|cartridge]]


==See also==
==See also==
*[[List of BASIC dialects#BASIC extensions]]
*[[List of BASIC dialects#BASIC extensions]]
* [[List of computers with on-board BASIC]]

==References==
{{reflist}}

{{BASIC}}


{{DEFAULTSORT:Basic Extension}}
{{DEFAULTSORT:Basic Extension}}

Latest revision as of 21:33, 30 June 2024

BASIC toolkits (aka BASIC extensions) were a common type of program for 1980s 8-bit home computers. Generally third-party extensions, they added additional features to a computer's built-in BASIC interpreter.

Technical concept

[edit]

Toolkits ran as extensions to the BASIC interpreter supplied with the machine. At the time, such interpreters almost always came programmed into the ROM of the computer, making it impossible to modify or patch the 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 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.

Functionality

[edit]

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 graphics, 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 routines.

Examples

[edit]

See also

[edit]

References

[edit]