Virtual H89 Computer Memory

The JAR defaults to a set of ROM images, but those may be overridden. The defaults are the 444-79 "floppy" (H17) ROM and the MMS-84B "monitor" ROM.

RAM add-on devices are installed in slots P501, P502, P503 (upper connectors, with corresponding lower connectors). If any memory add-on is installed, the core system is assumed to be 48K plus add-on (regardless of any other settings).

If no memory add-on is installed (the "H88" configuration), then the following properties determine the memory configuration:

The following properties configure RAM and ROM:

floppy_rom
Selects the file to use for the H17 "floppy" ROM image (2K). While most MMS configurations do not use this, it is still required for proper operation of the monitor. Default is the built-in 444-79 image.
monitor_rom
Selects the file to use for the "monitor" ROM image (2K or 4K). Default is the built-in MMS-84B image.
slot_p501, slot_p502, slot_p503
Specifies the memory add-on card installed. Only one memory add-on can be specified, but the actual slot number does not matter. Recognized values are:

MMS77311, MMS77312, WH-88-16
A 16K RAM add-on, providing 64K total RAM. ROM is enabled in the low 8K after RESET, and setting GPIO bit 5 to "1" will disable ROM and allow RAM to be read for the lower 8K. Writes to the lower 8K always go to RAM. NOTE: currently it is not possible to only install the "ORG 0" mod. The only way to run less than 64K RAM is without "ORG 0" capability.
MMS77318
The MMS 128K add-on RAM. Provides 8 "banks" with various configurations. Banks 0 and 1 (A and B) are the same as the two modes for 64K add-ons. See MMS documentation. Similar to other memory add-ons, writes to the lower 8K always go to RAM. For the Dump Page debug command, banks are numbered according to mappings, from MMS documentation map "A" is 0 and so on with map "H" being 7.
X2H8
The X/2-H8 Trionyx banked-memory adapter, plus 256K of RAM addressed as 16K pages. Memory pages are locked into their relative 16K page. Depends on standard H89 "ORG0" hardware. For the Dump Page debug command, banks are numbered according to memory address bits 16 and 17.
H8-512K
Norberto's 512K addon for the H8 (and eventually H89). This memory is organized as 16K pages but allows arbitrary mapping of memory pages to CPU address space pages. It also supports mapping a different page for reading than for writing, which enables direct bank-to-bank copy operations. This board is bypassed (forced to 64K mode) unless bit 7 of the last MMU byte output is "1". For the Dump Page debug command, banks are numbered according to memory address bits 16, 17, and 18.