Skip to content

Latest commit

 

History

History
 
 

platform-mtx

The following MTX512 features are supported
- 6845 based colour text display attributes yet) as /dev/tty1
- VDP based graphics display (equivalent to MSX1 but on ports 1 and 2) with
  interrupts fed into CTC#0 as /dev/tty2. TTY usage is supported.
- Keyboard including F1/F2 to switch tty
- SDX WD1791 style floppy controller at 0x10
- Silicon discs. These are mapped as device 8 not as /dev/hd because their
  contents (on real ones) vanish if you power off. The default build will
  blindly use the first silicon disc as swap. Alter config.h to build
  without swap.
- CTC timers
- Z80 DART RS232
- Printer

The following are not yet supported
- Colour/attributes on the displays (graphics ioctls)
- FDX SASI DMA controller
- SN76489A sound

The Rememorizer and Rememotech are not supported. Adding support for them
should not be difficult.


Memory Management

Memory is split into four banks the decode for which is dependent upon
whether the box is in "ROM based" or "RAM based" mode. The memory is then
switched in 48K banks with a 16K true common.

All memory management is controlled by the page port (port 0). Bit 7 is set
to 1 to turn the ROMs off, bit 4-6 detemine the rom page address, bits 0-3
select the RAM bank. The port is *write only*.

Note that Rememorizer is different, it allows 0x0f to be written to the
low 3 bits of port 0, then port 0xd2, d0, d1 control the 3 16K banks and also
has an SD card. Under Rememorizer you could instead do a 16K banked port and
get better performance and memory usage.


Loading

On the MEMU emulator you can do a fast load for testing as follows

./fullcpm.sh -iobyte 0x80 -addr 0x0100 -mem platform/fuzix.com -addr 0x0100
-serial2-out /dev/tty -diag-console -sdx-mfloppy mfloppy/ref.fs -sdx-tracks
-80

(and add -diag-whatever as needed)

This flips the box into pure RAM mode, loads the image at 0x100 and runs it
fro there with the root floppy as mfloppy/ref.fs which needs to be a
suitable image. I'm currently using an 80 track image, but 40 will work
fine (40 in 80 won't yet). It's quicker than booting CP/M and loading
the image.

To build an 80 track image once everthing else is built go into
Standalone/filesystem-src and do

./build-mini-filesystem /tmp/root.fs 128 2560


A 40 track image will need to be hand built with a few of the less useful
utilities removed.