User`s guide

15
80 COLUMN CARD
REMEMOrizer implements a video card which is largely compatible with the original FDX 80 column
card.
It outputs in 8 colours to VGA, 640x480 at 60Hz but does not RGB or Composite video, like the FDX
did.
In addition to the normal 80x24 mode, it also supports 80x48 mode. To do this it has 8KB of memory,
rather than 4KB.
It supports accesses to ports 0x30, 0x31, 0x32, 0x33, 0x38 and 0x39. Inputting from port 0x30 does
not cause the bell to ring.
It emulates a subset of the 6845 CRTC registers (as per datasheet), specifically registers 10, 12, 13,
14 and 15. In addition, it has REMEMOrizer special register 31, in which bit 0 controls whether it is
80x24 or 80x48.
The normal Memotech alphanumeric font is present in on-chip ROM in the FPGA. The graphics
characters are programmatically generated from the graphic character number, saving 2.5KB of
scarce on-chip memory.
SOUND
The Memotech sound chip is programmed by writing to port 6 and strobing the output by reading
from port 3.
On a normal MTX, when you input from port 3, the result is 3. There is nothing in the circuit to
explicitly ensure this is the case. Its just happens that way - the 3 is still on the bus from the opcode
fetch, so thats the data which is returned. Wait a short while, and the bus will float high.
With REMEMOrizer the bus floats high much quicker, probably as a consequence of the FPGA pulling
it high, so without any further intervention, inputting from port 3 returns 0xff.
This is a problem, because Pothole Pete and Son of Pete both input from port 3 and keep doing so
until the result is 3. It is as if the programmers believed that getting 3 back indicates the operation
was complete.
Accordingly, REMEMOrizer will explicitly drive the bus to the value 3 when you input from port 3.
This same hack appears in MEMU and REMEMOTECH.