• Please review our updated Terms and Rules here

ATD M117 Reverse Engineering + Switch Settings

cr1901

Veteran Member
Joined
Dec 28, 2011
Messages
817
Location
NJ
I have an ATD Model M117 memory expansion board that came with my IBM 5150 when I got it in 2011.

For the past several- 8, 9?- years, the card has not worked. I couldn't figure out whether it was because my DRAM was bad, I wasn't populating the DRAM banks correctly, I didn't have the correct switch settings (I couldn't find them on TH99 last I checked), or the card was actually flat-out broken. That's at least 4!/24 ways things can go wrong.

Because I don't know a sunk cost when I see one, I kept the board all these years in hope I could eventually fix it. In February 2021, I traced out a basic schematic for the card. But the switch settings depend on a PAL16L8 that implements a bunch of glue logic, and it took me a while before I was up to REing that. And just this past weekend, I dumped the PAL, figured out the switch settings, and determined that "yes, the card was, in fact, broken all this time (one of the 74LS158s had an output stuck low)."

I have documented my RE results on Github, and hope it is useful to others. For people who just need the switch settings/don't care about the details (all three of them?), I'm reproducing the switch settings table here:

SW 4SW 3SW 2SW 1Start Address/FunctionEnd Address4164 DRAM Banks41256 DRAM Banks
XOFFOFFOFFUnimplementedN/AN/AN/A
XOFFOFFON0x40000 (256kB)0x8FFFF (576kB)21
XOFFONOFFUnimplementedN/AN/AN/A
XOFFONON0x40000 (256kB)0x9FFFF (640kB)1, 23
XONOFFOFFUnimplementedN/AN/AN/A
XONOFFON0x20000 (128kB)0x9FFFF (640kB)None2, 3
XONONOFF0x10000 (64kB)0x9FFFF (640kB)12, 3
XONONON0x60000 (384kB)0x9FFFF (640kB)None1
OFFXXXEnable parity checkingN/AN/AN/A
ONXXXDisable parity checkingN/AN/AN/A

"X" is "don't care"/"either switch position is fine". If you don't have enough RAM chips to populate all the used banks for a given switch setting, always populate Bank 1, then 2, then 3, or if Bank 1 is unused, populate Bank 2, then 3.
 
Back
Top