F&M EPROM Switchboard Support

To run the COMX emulator with the F&M EPROM Switchboard card select f&m.eprom.board.1.2.bin in any available slot (CARD 1 if no expansion box is used). To load a predefined F&M EPROM Switchboard configuration use the menu below:

In this configuration slot 4 is used (yellow ellipse), this means that for all CARD Sx commands mentioned in this chapter CARD S4 should be used.

The EPROM Switchboard includes one 2 KB EPROM with the firmware and up to five 8 KB EPROMs with additional software. The 2 KB firmware ROM is placed at address hex F800-FFFF, this location is also used by the CDP 1870 but the CDP 1870 in the COMX architecture did not allow reading of page memory so selecting an EPROM at this location was actually possible.

The 8 KB EPROMs are all mapped at address hex C000-DFFF. The first 8 KB EPROM will always be loaded with f&m.utilities.bin as additional firmware is included in this EPROM. To select what software is loaded into the additional 4 EPROMs press the F&M EPROM Switchboard 'Setup' button (orange ellipse). A new window will open showing the default EPROM files. Note EPROM software can only be change if the COMX emulator is not running.

Use any of the pull down menu's (blue ellipse) to select different ROMs or just fill in a different ROM name. Alternatively use the EPROMx buttons (orange ellipse) to select ROMs in different folders via the file selector window that opens. To save changes press the 'Save' button (yellow ellipse).

Firmware Commands

CARD Sx or CALL(@F800)

The 'CARDS Sx' command (or when no expansion box is used 'CALL(@F800)' will select the EPROM Switchboard and show which of the 5 EPROMs is active.

For example when the EPROM Switchboard is defined in expansion box slot 4:

CARD S4
will result in:
CURRENT EPROM = x
where 'x' is EPROM number 0 to 4. Example showing both CARD S4 and CALL(@F800):

CARD Sx y or CALL(@F800) y

The 'CARDS Sx y' command (or when no expansion box is used 'CALL(@F800) y' will select the EPROM Switchboard and EPROM y, where y is 0 to 4.

For example when the EPROM Switchboard is defined in expansion box slot 2:

CARD S4 4
will result in selection of EPROM 4 between address hex C000-DFFF. Example showing selection of EPROM 1 followed by EPROM 2:

CARD Sx CAT or CALL(@F800) CAT

The 'CARDS Sx CAT' command (or when no expansion box is used 'CALL(@F800) CAT' will select the EPROM Switchboard and show all software defined in the firmware EPROM as well as in EPROM 0 to 4.

For example when the EPROM Switchboard is defined in expansion box slot 2:

CARD S4 CAT
will show something like:
F&M EPROM SWITCHBOARD

   AVAILABLE EPROM'S: x, y, z...
   ROM SIZE	    : size K

	FILE NAME	USE OF RAM

  01:OLD		    NONE
  02:CLOCK-ON		@BFF0 / @BFF4
  03:CHAR		    NONE
  04:F&M INIT		@B000 / @B5FF
  05:STARTUP		@4400 / @479F

Where 'x, y, z...' indicates which EPROM numbers are used/defined (0, 1, 2, 3 and/or 4), 'size' is the total size of all EPROMs (10K to 42K). In the above example 5 programs are loaded in the EPROMs, where 'OLD' and 'CHAR' indicate 'NONE' meaning no RAM is used when executing these programs, in other words they RUN in EPROM memory. In the other cases the addresses of the used RAM is indicated. Any software that indicates use of RAM from hex 4400 like 'STARTUP' above will be copied to RAM and overwrite any BASIC software in COMX memory.

Example:

CARD Sx "software" or CALL(@F800) "software"

The 'CARDS Sx "software"' command (or when no expansion box is used 'CALL(@F800) "software"' will select the EPROM Switchboard and execute or load indicated software if available.

For example when the EPROM Switchboard is defined in expansion box slot 2:

CARD S4,"CLOCK-ON"
will start the 'CLOCK-ON' software. However:
CARD S4,"STARTUP"
will load the program STARTUP in BASIC memory (overwriting any other BASIC software that was in COMX memory). The message:
PROGRAM LOADED
START WITH RUN
will also be shown. Note that in some cases the "software" should be followed by a number (CHAR) or a '+' (LOAD/SAVE routines) see also software format described below.

Example:

EPROM 0 Software: F&M Utilities

OLD

Format: CARD Sx "OLD"

F&M Old, this small program recovers a BASIC program after a computer reset, giving the COMX BASIC a 'warm' start. Note this only works if the BASIC program in memory before the restart started with:

10 REM

CLOCK-ON, CLOCK-OFF

Formats:

CARD Sx "CLOCK-ON"
CARD Sx "CLOCK-OFF"
F&M Clock: CLOCK-ON will start a clock in the top right of the screen, CLOCK-OFF will turn it off. The remaining clock functions can be done by POKE commands:
POKE (@BFF0,0): Clock printed
POKE (@BFF0,1): Not printed but running
POKE (@BFF1,h): Set hours
POKE (@BFF2,m): Set minutes
POKE (@BFF3,s): Set seconds
When the BASIC scroll function is used the clock will still be printed on the top right, however note that sometimes (quite often when NOT using the f&m expansion rom) the clock will not be removed and the 'old' time will show up at the bottom of the screen. I'm not sure if this is a fault in the original clock software or a bug in the emulator.

Example:

CHAR

Format: CARD Sx "CHAR" y

F&M Char, will 'SHAPE' (define) small character set:

y = 1: Default COMX characters
y = 2: Small under shift
y = 3: Capitals under shift

T-PSAVE, T-PLOAD, T-DSAVE, T-DLOAD and + variants

Formats:

CARD Sx "T-PSAVE"
CARD Sx "T-PLOAD"
CARD Sx "T-DSAVE"
CARD Sx "T-DLOAD"
CARD Sx "T-PSAVE"+
CARD Sx "T-PLOAD"+
CARD Sx "T-DSAVE"+
CARD Sx "T-DLOAD"+
F&M Turbo tape routines work exactly like BASIC save/load commands except much faster. The '+' versions are improved versions resulting in different wav formats. The wav files created with the regular versions can be loaded with the regular and '+' versions. Wav files created with the '+' versions are not loadable with the regular versions.

DOS NEW

Format: CARD Sx "DOS NEW"

This more or less performs the same as 'DOS NEW' except this loads the DOS boot loaders from EPROM instead of from DISK. Normally not used directly, but this program is called before running any of the other EPROM disk routines to allow starting them without a formatted disk present.

F&M INIT

Format: CARD Sx "F&M INIT"

Formats a disk like the INIT program however with an F&M boot sector which will attempt to load and run a program called 'STARTUP' when DOS is initialised (like with DOS NEW).

STARTUP

Format: CARD Sx "STARTUP"

An example start-up program showing all programs on disk and allowing starting them from a menu. This software can be saved on a disk created by F&M INIT and will in that case start automatically after the first 'DOS' command. To save STARTUP to disk use the following DOS command:

DOS SAVE,"STARTUP",@4400

F&M LOCK

Format: CARD Sx "F&M LOCK"

Locks all software on the disk.

F&M UNLOCK

Format: CARD Sx "F&M UNLOCK"

Unlocks all software on the disk.

EPROM 1 Software: Disk Utilities

INIT

Format: CARD Sx "INIT"

COMX Disk initialisation program to create a new disk image including COMX DOS boot data. See examples for 3 different disk options below.

1. Double sided disk, 35 tracks per side with a total size of 140K:

2. Single sided disk, 70 tracks with a total size of 140K:

3. Single sided disk, 35 tracks with a total size of 70K:

LOCK

Format: CARD Sx "LOCK"

COMX lock software to lock one file on a disk.

UNLOCK

Format: CARD Sx "UNLOCK"

COMX unlock software, to unlock one file on a disk.

DISKCOPY

Format: CARD Sx "DISKCOPY"

COMX disk copy software to make an exact copy of a disk, including a format (initialisation) of the destination disk before copy begins.

FILECOPY

Format: CARD Sx "FILECOPY"

COMX file copy software to copy any file to another disk image.

DISKHELP

Format: CARD Sx "DISKHELP"

COMX disk help program, showing the description of disk error codes.

EPROM 2 Software: F&M Monitor

Format: CARD Sx "MONITOR"

F&M Monitor+, standard ‘monitor’ program to write machine code software (using hex code) and to inspect memory. The program also includes some simple tools for moving code, register inspection and clearing memory. One very handy feature is the ability to insert ‘NOP’ (or #C4) instructions anywhere in the written code and at the same time ‘translating’ 1802 branch instructions, i.e. changing the destination address if changed by the ‘insert’. This includes additional ‘inserts’ if a short branch has to be changed to a long branch and as such needed 3 bytes instead of 2; also the branch itself will in such cases be changed to a long branch.

EPROM 3 Software: F&M Basic

Format: CARD Sx "F&M BASIC"

F&M BASIC loaded from EPROM to COMX RAM.

EPROM 4 Software: Tennismania

Format: CARD Sx "TENNISMANIA"

Pong clone for the COMX, written by Steven de Vries and F&M.

Additional EPROM Software: Hit and Run

Format: CARD Sx "HIT AND RUN"

COMX Game Hit and Run. This EPROM is not selected by default but can be loaded instead of EPROM 1 to 4.