Cartridges and Memory
Address | Mode | Description | Format |
---|---|---|---|
$0000-$6FFF |
R/W | System Ram | 28Kb of static ram |
$70D0 |
W | BANK Register | %cccc_bbbb cartridge 0-1 and bank 0-127 |
$8000-$FFFF |
R/W | Cartridge Space | 32Kb banked window |
Cartridges are the main form of media and expansion used by the KITTY, with the system being able to hold 2 cartridges at a time (dubbed Slot 1 and Slot 2), each of which have an individual 4Mb address space, that can be filled with programs, extra ram or peripheral devices.
They are accessed through the upper half of the KITTY memory map ($8000-$FFFF
), which acts as 32Kb window into the contents of one of the 2 carts. This window can then be controlled by writing to the BANK register located at $70D0
. The upper bit will determine the cartridge, while the 7 remaining bits will select one of up to 128 banks within it.
Finally, on hardware reset/power-on the BANK register will always be cleared to $00. As such, CPU will always begin code execution from the Bank 0 of Slot 1.
OS ROM
The "OS ROM" or "TEST ROM" is a rom present on the main KITTY PCB, which is virtuaslly mapped to cartridge Slot 1. As of time of writing (2024-01-05), the contents of this chip have not been defined.
Cartridge Pinout
The 2 cartridge slots use standard right-angle edge connectors, with 44-pins, and a spacing of 2.54mm (0.1"):
D0-D7
- 8bit data busA0-A15
- 16bit address busB0-B7
- 8bit BANK registerM3
- 3Mhz Bus ClockR/#W
- Read/Write Signal, standard 65xx polarity#R/W
- Read/Write Signal, inverted polarity#RESET
- System Reset#NMI
- Non-Maskable Interrupt#CART
- Cartridge Space AccessA15 NAND M3
#SLOT ENABLE
- If the current slot is enabled (according to bit 7 of BANK)ROM DISABLE
- Disable OS ROM (slot 1 only)x
- Unconnected
ROM DISABLE
is a signal that, when pulled high by a cartridge in Slot 1, disables the OS ROM. A cart can choose to leave this signal permanently high, to completely replace the OS ROM, or it can instead choose to implement more complex address decoding logic, allowing both to coexist within the same slot.
Flash ROM Cart
The flash cart uses a standard re-writable 39sf flash NOR chip, which are avaliable in sizes of 128KiB, 256KiB and 512KiB.
Serial Cart
The serial cart allows communication between the KITTY and a modern computer via serial over USB, the KITTY is connected to a 16c550
UART, while the desktop is connected to a MCP2221A
UART. The cart shares slot 1 with the OS ROM, being active/replacing it when BANK is $40
or higher (bit 6 high)
RAM Cart
The RAM cart provides either 128KiB or 512KiB of SRAM memory.