Description
This expansion board enables prototyping, cartridge development, or ROM extensions for the Commander X16 by utilizing its available 3.5MB of additional ROM space via banking. It also includes 512KB of EEPROM storage using four Onsemi CAT24M01 I²C EEPROMs, each supporting over a million writes and rated for 100 years of data retention—ideal for save-state data and other persistent storage.
By default, the board ships completely assembled with one blank 512KB SST39SF040 nor flash IC. In addition, all four I²C EEPROMs are installed. Optionally you can add up to 6 more 512KB flash ICs via the drop-down if you would like more space. You may also select a high, or low-profile card tab to match your computer type.
Technical Overview
The Commander X16 supports up to 4MB of ROM, with 512KB already onboard. The ROM expansion board accesses the remaining 3.5MB via the expansion bus using seven DIP-32 sockets, optimized for Microchip SST39SF040 512KB NOR flash chips. While smaller chips like SST39SF010 (128KB) or SST39SF020 (256KB) can be used, they will wrap within their allocated space (e.g., a 128KB ROM repeats four times in a 512KB region). Using smaller chips may reduce cost for cartridges which need less space at the end.
This board is ROM-only but will support a planned future adapter PCB with surface-mount SRAM, enabling mixed RAM usage.
Features
- Write Protection: Each DIP socket includes a jumper pad on the write line for optional protection.
- Writing to EEPROM: Requires KERNAL I²C routines, with each chip appearing as two addresses (e.g., $50 and $51 for 64KB each). Addresses $52-$57 cover the remaining chips. EEPROM read/write speeds are slower but suitable for persistent data storage.
- Ongoing Development: Example code for EEPROM interaction will be released as development continues.
For more details on EEPROM interfacing, refer to the CAT24M01 datasheet, and for Commander X16 I²C routines, check the X16 KERNAL documentation. The SST flash ICs may be programmed with an external programmer, or by using the excellent utility written by FlightControl: the CX16 Update program. This program was primarily written as a utility to update the SMC, VERA and system ROM, but it is also handy at updating the ROM within the cartridge space.
Be sure to see the listing for cartridges, if you would perfer that form factor instead. They are functionally equivalent, but the cartridges are available with no I²C EEPROM if desired, to keep the cost of cartridges as low as possible.