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).
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 S4will result in:
CURRENT EPROM = xwhere 'x' is EPROM number 0 to 4. Example showing both CARD S4 and CALL(@F800):
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 4will result in selection of EPROM 4 between address hex C000-DFFF. Example showing selection of EPROM 1 followed by EPROM 2:
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 CATwill 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:
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 RUNwill 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:
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
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 secondsWhen 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:
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
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.
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.
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).
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
Format: CARD Sx "F&M LOCK"
Locks all software on the disk.
Format: CARD Sx "F&M UNLOCK"
Unlocks all software on the disk.
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:
Format: CARD Sx "LOCK"
COMX lock software to lock one file on a disk.
Format: CARD Sx "UNLOCK"
COMX unlock software, to unlock one file on a disk.
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.
Format: CARD Sx "FILECOPY"
COMX file copy software to copy any file to another disk image.
Format: CARD Sx "DISKHELP"
COMX disk help program, showing the description of disk error codes.
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.
Format: CARD Sx "F&M BASIC"
F&M BASIC loaded from EPROM to COMX RAM.
Format: CARD Sx "TENNISMANIA"
Pong clone for the COMX, written by Steven de Vries and F&M.
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.