Spectrum/2068 Compatibility

Authors

Publication

Pub Details

Date

Pages

BASIC Terms

See all articles from CATS v2 n12

It is not the case that all BASIC programs for the SPECTRUM will run as is on the 2068. The IN function will return different values when used to scan the keyboard. For example, with no keys pressed, the 2068 will return 31 while a SPECTRUM will return either 255 or 191 depending on the version. There are a number of books on the 2068 (including the owner’s manual) which are in serious error since they assume version 2 SPECTRUM values also apply to the 2068.

Another difference in the BASIC is that the SPECTRUM has two symbols not in the 2068 standard set; TIMEX replaced them with the functions STICK and FREE. A program which tries to print the character codes 124 or 126 will produce symbols on the SPECTRUM and keywords on the 2068.

SPECTRUM programs with machine code can run on the 2068 given two conditions: RAMTOP is set high enough in memory to accommodate the BASIC program, and no calls to ROM routines are made. Some SPECTRUM programs for the 16K machine will fail to run properly on the 2068 due to the former problem; e.g. PSION’s HORIZONS will not run on the 2068 unless you remap the RAM, or relocate the machine code to a higher address. The main problem is that the 2068 BASIC program area starts at an address which is several thousand bytes higher than for the SPECTRUM. If RAMTOP is set at —say— 32255, as is the case for the programs on the HORIZON’s tape, then the 2068 has less than 6K bytes for the BASIC program while a 16K SPECTRUM will have over 8K free for the BASIC.

A machine code program with calls to ROM routines will not run as is. To make it run you must alter the addresses of the called routines. For example, if the SPECTRUM program calls the keyboard scanning routine at 028E (hex) this must be changed to 0654 (decimal), which is the address of an equivalent routine in the 2068. The TIMEX ROM has all of the routines in the SPECTRUM (or a routine which is functionally the same) so the problem of conversion of machine code is relatively easy, if you make up a cross-index of ROM routines. The putting together of such an index is not easy but it has been done.

Products

 

Media

 

Image Gallery

Source Code

Scroll to Top