ZXMMC+ IF1-ROM Testing Page

 

Testing RS-232 capabilities of ZXMMC+ IF1 hardware with Windows Hyperterminal:

This test shows that the ZXMMC+ implementation of IF1 RS-232 port works just like on the original hardware. The NETWORK works perfectly too, as a ZXMMC+ equipped ZX-Spectrum has been able to transfer a SCREEN$ to another Spectrum with an original Interface I plugged in.

 

1) Create a new connection on the COM port connected to the zxmmc+

 

2) Select proper Speed and Flow Control settings:

 

3) Type-in the software on your Spectrum: this example will list itself on the hyperterminal window:

The OUT 127,100 activates the flash ROM bank 4. Without this statement, the FORMAT and OPEN # commands would not work, because they are added by the Interface I ROM. But how is it possible to switch the active ROM by a basic command, without crashing the machine?

As explained in the 'Technical Description' page, port $7F (127 decimal) is the ZXMMC+ Memory Paging Register. It allows to select one 16K bank out of 32 from FLASHROM or 32 from RAM and to page it in place of the internal Sinclair rom, at address 0 - $3FFF. Since modified 48K roms are very similar, it is possible to switch between them directly from basic because the basic interpreter itself has not been modified in any rom. Of course, switching to a bank that do not contain a 48K Basic rom will hang the machine. Why the parameter written to port 127 is '100'?

D6 SET = Page IN Enable
D5 SET = ROM is paged (instead of RAM)
D4-D0 = Bank number (the 48K modified rom for IF1 purpose resides in ROM Bank 4)

D6 = (64 decimal) + D5 (32 decimal) + 4 (bank number) = 100.

An OUT 127,0 would disable zxmmc+ memory paging and reactivate the internal Spectrum ROM.


Home    Technical Description    Hardware Details    Software    Schematic    PCB    Contact the Author