Messenger: Difference between revisions

Jump to navigation Jump to search
Correction to amount of RAM overwritten, add description of paging and I/O
(Initial article)
 
(Correction to amount of RAM overwritten, add description of paging and I/O)
Line 5: Line 5:
The Messenger does not support programs for the 128K, as the Coupé itself cannot run them, although it can be used with a 128K machine running in 48K mode.
The Messenger does not support programs for the 128K, as the Coupé itself cannot run them, although it can be used with a 128K machine running in 48K mode.


The interface provides a facility to transfer the Spectrum ROM to the Coupé, as this could not be legally distributed with the the Messenger's companion software for the Coupé at the time.  The code to transfer the ROM overwrites 16 bytes of memory in the Spectrum at address 0xc000, so care should be taken with this feature, so as to avoid corrupting anything of importance.
The interface provides a facility to transfer the Spectrum ROM to the Coupé, as this could not be legally distributed with the the Messenger's companion software for the Coupé at the time.  The code to transfer the ROM overwrites 16400 bytes (0x4000 + 16) of memory in the Spectrum at address 32768 (0x8000), so care should be taken with this feature, so as to avoid corrupting anything of importance.


The device plugs into the Coupé's MIDI/network port at one end, and the ZX Spectrum's expansion bus on the other.
The device plugs into the Coupé's MIDI/network port at one end, and the ZX Spectrum's expansion bus on the other.
Line 16: Line 16:


The Messenger 1.1 includes an 8k×8 static RAM and an 8k×8 EPROM, although only around 0.5 KiB of code is included, and only the low 256 bytes of RAM are used.
The Messenger 1.1 includes an 8k×8 static RAM and an 8k×8 EPROM, although only around 0.5 KiB of code is included, and only the low 256 bytes of RAM are used.
The Messenger ROM and RAM is paged out by writing to port 0x77, and paged in by reading from port 0x77.  More precisely, paging is triggered by I/O to ports where A7=0, A4=1, A3=0, and A1=1, i.e. (port & 0x009a) == 0x0012.  It is also paged in automatically upon execution of addresses 0x0066 and 0x0067.  The serial port is accessible through most significant bit of port 0xff6f, for both sending and receiving.  More precisely, the serial port is accessed through I/O ports where A13=1, A7=0, A4=0, A3=1 and A1=1, i.e. (port & 0x209a) == 0x200a.  Serial port I/O can be accessed regardless of whether the ROM and RAM are paged in.


== Programs with Messenger snapshots support ==
== Programs with Messenger snapshots support ==

Navigation menu