Expansion Box
The expansion box allows up to 4 interface cards to be connected to the COMX. The expansion box firmware ROM maps to memory location @E000-@EFFF. Location @E000-@E7FF also overwrites location @1000-@17FF of the BASIC ROM, this trick extended basic with commands and logic to switch between different interface cards.
Next to the standard firmware ROM there is an adaptation made by F&M (Frank and Marcel van Tongeren) this adapted ROM added a screen editor feature to COMX BASIC. Both ROM versions are included in the Emma 02 emulator.
Note: The following SW is not compatible with the F&M expansion ROM but versions included in the Emma 02 installation package have been corrected:
- Killerwatt
- F&M Schaak
- Ijskikker
- Torens van Hanoi
- Kleiduiven Schieten
- F&M Monitor+
- Life 2

Screen Editor
With the F&M screen editor any text already on the screen can be changed and given as input to the basic interpreter. Just move the cursor, which is now just a yellow line, over the screen with the arrow/joystick keys and change the text on any line to the desired input. Do not forget to push the return key to allow the basic interpreter to analyse the input.
CTRL D: Delete character at cursor and shift rest of line left
CTRL S: Clear the screen
CTRL I: Insert space at cursor and shift rest of line right
SPACEBAR during LISTING: Pause LIST function until next SPACEBAR press
Screen editor off: POKE (@43F8, 1)
Screen editor on: POKE (@43F8, 0)
Standard COMX basic edit functions like repeat last line with CTRL R will not work when the screen editor is active.
Note 1: Some software, like the original version of the F&M Monitor+, might not be fully compatible with the screen editor and when giving control back to BASIC, after the program is ended, the screen looks empty but at every return key ERR CODE 39 is given. To solve this just press CTRL S to really clear the screen.
Note 2: Some software, like Kleiduiven Schieten, Torens van Hanoi, Ijskikker and F&M Schaak might not be fully compatible with the screen editor because they use the character 0 for a different shape. In this case the screen will be filled with funny shaped characters instead of spaces. To avoid this problem you can switch off the screen editor by using POKE (@43F8, 1).
Note 3: Some software, like Killerwatt might not be fully compatible with the screen editor and will cause the game to crash.
CARD Sn
This option is used whenever the user wants to select a particular interface card plugged into slot n. n ranges from 1 to 4.
CARD Tm
This option is used whenever the user wants to use the Thermal Printer card. The Thermal Printer card will be selected or an error message will be echoed if the Thermal Printer card does not exist. m specifies the functional options of the Thermal Printer card. m ranges from 0 to 8:
Syntax | Function |
CARD T0 | Mode preselection |
CARD T1 | Switch off the thermal printer with 8 line feeds |
CARD T2 | Enter the thermal printer Text mode |
CARD T3 | Switch on the printer and TV display |
CARD T4 | Disable keyboard input |
CARD T5 | Memory dump (HEX & ASCII) |
CARD T6 | Switch the printer to no line space |
CARD T7 | Self test |
CARD T8 | Create screen image |
Note: before using assembly calls to the Thermal Printer ROM, the user should enable the thermal printer card first. This is done by the OUT 1 instruction or in BASIC by using any CARD Tm before the CALL statement.
For use of the Screen image creation (CARD T8) please use the CALL (@C0F0) screen capture statements as described on the Thermal printer page.
CARD Pm
This option is used whenever the user wants to use the Standard (Serial RS232 or Parallel) Printer card. The Standard Printer card will be selected or an error message will be echoed if the Standard Printer card does not exist. m specifies the functional options of the Standard Printer card. m ranges from 0 to 11:
Syntax | Function |
CARD P0m | Selection routine (m = 1-11, for P1-P11) |
CARD P1 | Switch off the printer |
CARD P2 | Switch on the printer with control character suppressed |
CARD P3 | Switch on the printer |
CARD P4 | Switch on the printer and TV display mode with control character suppressed |
CARD P5 | Switch on the printer and TV display mode |
CARD P6 | Disable keyboard input to printer |
CARD P7 (parallel printer) | F&M Feature Select (only available in F&M ROM version 1.1, in 1.0 use CALL (@C030)) |
CARD P7 (serial printer) | Change RS232 Settings |
CARD P8 | Memory dump |
CARD P9 | Shape lower case characters (only available in F&M ROM) |
CARD P10 | Self test |
CARD P11 | Recall Basic after reset, will only work if Basic program started with '10 REM' before restart (only available in F&M ROM) |
Note: before any assembly calls to the parallel or serial printer ROM, the user should enable the printer card first. This is done by the OUT 1 instruction or in BASIC by using any CARD Pm before the CALL statement.
CARD Bm
This option is used whenever the user wants to use the RAM Card. The RAM card will be selected or an error message will be echoed if it does not exist. m specifies one of the 8K RAM blocks of the RAM card, m ranges from 0 to 3.
CARD M
This option is used whenever the user wants to move a block of memory content from one place to another. Before this statement, the user should poke the source address into @BF45, @BF46 (HI/LO), the target address into @BF47, @BF48 (HI/LO) and the length of the block into @BF49, @BF4A (HI/LO).
CARD Q
This option is used when the user does not want the 80-column display any more. Notice that the 80-column display has a higher priority over the 40-column display.
CARD V
This option is used whenever the user wants to compare a block of memory content with another. Before this statement, the user should poke the source address into @BF45, @BF46 (HI/LO), the target address into @BF47, @BF48 (HI/LO) and the length of the block into @BF49, @BF4A (HI/LO).
DOS
This option is used whenever the user wants to use DOS with DOS controller card installed. The DOS card will be selected or an error message will be given if it does not exist.