Programming Features

From Color 64 BBS Wiki
Revision as of 13:44, 14 December 2025 by Admin (talk | contribs) (Undo revision 676 by Admin (talk))


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.