platform-mtx
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
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.