Programming features: Difference between revisions
No edit summary Tag: Reverted |
Tags: Undo Reverted |
||
| Line 3: | Line 3: | ||
Color 64 was written to be easily modified. Several things have been designed into the system to make it easier for the programmer to modify the BBS system: | Color 64 was written to be easily modified. Several things have been designed into the system to make it easier for the programmer to modify the BBS system: | ||
The Color 64 ML adds many powerful commands and functions to BASIC's vocabulary, so that code can be designed as efficiently as possible. The ML code supporting this for versions 8.1 and beyond resides at $C000–$C3FF | The Color 64 ML adds many powerful commands and functions to BASIC's vocabulary, so that code can be designed as efficiently as possible. The ML code supporting this for versions 8.1 and beyond resides at $C000–$C3FF, with the token interception layer being invoked at $0314/$0315. | ||
Specifically: | Specifically: | ||
| Line 22: | Line 20: | ||
| Returning control to BASIC after patching | | Returning control to BASIC after patching | ||
| C041 4C 8D 08 JMP $088D | | C041 4C 8D 08 JMP $088D | ||
This code places the program back into BASIC’s main execution loop. This provides useful information on how ML Functions (@##), ML Variables (!##), and ML Commands (.##) are processed. | This code places the program back into BASIC’s main execution loop. This provides useful information on how ML Functions (@##), ML Variables (!##), and ML Commands (.##) are processed. | ||
|} | |} | ||
Revision as of 13:44, 14 December 2025
Color 64 was written to be easily modified. Several things have been designed into the system to make it easier for the programmer to modify the BBS system:
The Color 64 ML adds many powerful commands and functions to BASIC's vocabulary, so that code can be designed as efficiently as possible. The ML code supporting this for versions 8.1 and beyond resides at $C000–$C3FF, with the token interception layer being invoked at $0314/$0315.
Specifically:
| Installing vectors into BASIC/KERNAL |
C01E BD 00 C1 LDA $C100,X C021 9D 14 03 STA $0314,X C024 BD 01 C1 LDA $C101,X C027 9D 15 03 STA $0315,X The code above copies vectors into $0314/$0315 (IRQ / BRK / interpreter hooks). This is the token interception layer. |
| Returning control to BASIC after patching | C041 4C 8D 08 JMP $088D
This code places the program back into BASIC’s main execution loop. This provides useful information on how ML Functions (@##), ML Variables (!##), and ML Commands (.##) are processed. |
The overlays were designed uniformly, so that all overlays have the same basic "skeleton" of essential routines.
The overlays were left "open ended", which means that you can easily install one of the many pre-written modules into your overlays.
The Enhanced BASIC Language
Color 64 offers a set of powerful new additions to the BASIC programming language. These additions only work while the BBS program is running, as it is a modification of BASIC made by the ML associated with the BBS program.
The descriptions of the new commands are presented in the following format: Items enclosed in angle brackets, "<" and ">", are descriptions of data items that you must provide. Items enclosed in square brackets, "[" and “]", are optional items.