check this out! it's an accelerator card that turns your 8088 PC or XT into a 286. let's try and get it running... š§µ
hmm, there's some damage to the sockets
the card is an Orchid Tiny Turbo 286.
looks like a trace got cut. this board was in a pile of other circuit boards, and the component leads from another board scratched it up
much better
the bodge wire is a piece of wire wrap wire that i bent using needle-nose pliers and then flattened slightly.
i am missing this circuit board. it plugs into the socket on the accelerator, provides a header for the ribbon cable going to the CPU socket on the motherboard, and has a 40 pin socket for the original 8088 (for non-turbo mode).
(photo taken from the internets)
it appears to be a single-layer PCB, at least I don't see any traces on the top. so maybe the header is just a pass-through and the CPU is wired in parallel. but how would the 8088 get disabled? š¤
looks like it drives the reset pin. š¤
so pin 34 is not connected on the motherboard, but pin 21 (reset) goes to the output of the 8284A. i think the daughterboard uses pin 34 to sneak a special reset signal into its 8088. when in turbo mode, pin 34 must go high to put the 8088 into reset.
the reason this is important is that the daughterboard's 40-pin header passes through the board and plugs directly into the socket on the accelerator card.
it can't directly drive the reset signal because that's already being driven from the motherboard.
so i think the daughterboard wires the 8088 socket to all the header pins 1:1, with the exception of the 8088's reset line, which goes to pin 34 instead of pin 21.
this also means that the accelerator card should work fine even without the daughtercard, as long as the turbo switch is always on.
thanks to @compu_85 who sent this photo of the bottom of the daughtercard. turns out i was right! pin 21 of the 8088 on the daughtercard indeed goes to pin 34 of the header.
crimped up a cable. I should be able to use this without the daughterboard as long as the turbo switch is on.
pulling the 8088. this extractor works pretty well.
will it work?
D E A D. š¤·āāļø
clock is fine, reset is fine, but something is putting the 286 into a bus hold state.
how do i get suckered into doing these things
i've reverse engineered most of the data path, as well as the cache.
the cache is 4K x 16 bits (8KB). but how does it work?
there are 2 more cache chips, so each 16 bit word has a 7 bit tag associated with it.
there's a comparator that checks the 7 bit tag against the 7 uppermost address bits (during a read), and a buffer to copy the address bits into the tag (during a write).
if the comparator matches, then you just grab the data value out of the cache and hand it over to the 286 instead of reading it from main memory! simple.
during a write, you just set the data value and the tag into the cache (and presumably to main memory as well, but i haven't reverse engineered that part yet)
there's a bunch of control logic involved to limit the ranges of memory where the cache is active. that's probably all in the PALs.
another detail: i suspect the 8th tag bit is a "dirty" bit used to mark locations that were written to externally by another bus master (such as the DMA controller). the dirty bit forces the cache compare to fail so it has to fetch the value from main memory.
this is how I'm reverse engineering it. pick a pin, then use the brush to figure out what it is wired to.
and here it is, fully ohmed out. i just need to redraw it so it is easier to understand, adding buses and so forth.
all cleaned up! now back to troubleshooting...
thought these grounded pins were odd (and TURBO going to 2 pins) but it's not a short. shining a flashlight through the board shows connections to the ground plane.
another look at the "brush" i'm using to reverse engineer the board. just a short piece of 10 gauge battery cable. it's designed to flex so it has a high strand count. quadcopter and RC folks use this stuff so it's easy to find.
this morning @bitsavers helped me with the PAL chips. unfortunately they're all locked, so i'll have to figure out another way to reverse engineer them.
the 16L8 devices do not have registers, so (in theory) they can be reverse engineered by brute force--inputting all possible inputs and watching the outputs. the 20R4 devices have output registers and can form state machines, so brute force isn't going to work.
16L8 complicating factor: outputs can be fed back into the product terms. this means you can make flip flops out of NAND gates, and a brute force approach won't find them.
the Ad Lib MCA sound card that i reverse engineered used a PAL with such a flip flop in it.
on to troubleshooting.
the 286 isn't running code...because it's getting held in reset, looks like. the logic high voltage is...not great. (2.7V)
sus
yeah this chip doesn't seem to be 100% ok
the reverse engineered schematic is now on Github!
github.com/schlae/tiny-tuā¦
I went shopping today!
the new chip seems ok
will it work, or is something else broken too?
it's running code! looks like DMA is having issues though.
weird because it boots DOS just fine. granted there are issues with xt-ide but maybe it's the CF card.
it runs Commander Keen! (I swapped in a VGA card)
TOPBENCH results.
here's the culprit. bad chip.
almost forgot what these boards were for haha
replacement CPU daughterboard since my card didn't come with one.
the solder tails on the header don't look quite long enough.
straightened a right angle header.
there we go! I just need to install the 8088 and this can go back into the computer.
it works great! i tried it with and without the turbo switch.
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.