As part of the reverse engineering effort for the Bookman Archive, I uncovered the pinouts for the ROM cartridges of the Bookman systems. The process of discovery is noted here in the Bookman Archive’s Reverse Engineering page. This post will elaborate on the design of the ROM dumper and how I overcame the obstacles preventing its reliable function.

Completion of the pinout mapping

The pinout mapping in its initial pass turned out to be incomplete as there were some misconceptions and unhandled cases:

  • Mapping only accounted for the first flash memory chip. Two chips were populated for larger capacity cards and without the proper pinout mapping, we’d be limited to ROM dumps that were entirely stored on chip 1.

  • Address pins were not correctly understood. The datasheets for the flash memory chips mentioned several different modes of operation, which included a pin that could called be A-1 or A0 depending on how the chip was used. In order to address the maximum 4MB (4194304 bytes) of storage offered by the largest Bookman cards, the address bus would need 22 pins. A-1 is effectively the first pin for larger cards.