• Please review our updated Terms and Rules here

Cloning a HAL/PAL, Part 12 - The Trantor T130B memory PAL

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
44,474
Location
Pacific Northwest, USA
Part 11 is here. The beginning of this series is here.

This part of this thread is dedicated to the memory of the late Don Maslin, who never did figure out how to get his T130B to boot. We've solved it, Don!

There are probably more Trantor T130B SCSI adapters floating around than any other 8-bit ISA card, save perhaps, for the Seagate ST-01. Most of them were sold with SCSI CD-ROM drives or SCSI tape drives and lack not only the boot ROM, but also U6, a PAL that enables the boot ROM facility. Doubtless this was part of a special deal offered to some OEMs and Trantor didn't want to cut into its retail sales. So, if you can get the duplicate of the PAL on a "retail" T130B and a copy of the BIOS ROM, you're all set.

But that's a big "if". That PAL has stymied a lot of people since the introduction of this card in 1992. Fortunately, I was able to obtain a card with the factory PAL, so let's see what it takes to duplicate it.

The PAL is a 16L8, which we saw back in the previous section with the Sound Blaster card. So it should be no problem, right? Well, maybe not.

First, we read the PAL in the same setup that we've been using all along. It sees a PAL with 14 input lines and 4 output lines. (That's a truth table with 16,384 entries--I'm glad we're not trying to figure this one out "by hand"!) If we run the output through Espresso (Minilog won't handle that many entries), we get the following equations for the output:
Code:
Pin12 = (!Pin14&!Pin15&Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&!Pin5&!Pin4&!Pin3) | (
    !Pin14&!Pin15&Pin16&Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&Pin4&Pin3) | (
    !Pin14&Pin15&!Pin16&!Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&!Pin4&Pin3) | (
    !Pin14&Pin15&!Pin16&Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&Pin4&Pin3) | (
    !Pin14&Pin15&Pin16&!Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&!Pin4&Pin3) | (
    !Pin14&!Pin15&!Pin16&Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&!Pin4&Pin3) | (
    !Pin14&!Pin15&!Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&Pin4&Pin3);

Pin13 = ();

Pin18 = (!Pin15&Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&!Pin5&!Pin4&!Pin3) | (
    !Pin15&Pin16&Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&Pin4&Pin3) | (Pin15
    &!Pin16&!Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&!Pin4&Pin3) | (Pin15&!Pin16
    &Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&Pin4&Pin3) | (Pin15&Pin16&!Pin17
    &Pin9&Pin8&!Pin7&!Pin6&Pin5&!Pin4&Pin3) | (!Pin15&!Pin16&Pin17&Pin9
    &Pin8&Pin7&!Pin6&Pin5&!Pin4&Pin3) | (!Pin15&!Pin16&!Pin17&Pin9&Pin8
    &Pin7&!Pin6&Pin5&Pin4&Pin3);

Pin19 = (!Pin15&Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&!Pin5&!Pin4&!Pin3&!Pin1) | (
    !Pin15&Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&!Pin5&!Pin4&!Pin3&!Pin2) | (
    !Pin15&Pin16&Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&Pin4&Pin3&!Pin1) | (
    !Pin15&Pin16&Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&Pin4&Pin3&!Pin2) | (
    Pin15&!Pin16&!Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&!Pin4&Pin3&!Pin1) | (
    Pin15&!Pin16&!Pin17&Pin9&Pin8&!Pin7&Pin6&Pin5&!Pin4&Pin3&!Pin2) | (
    Pin15&!Pin16&Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&Pin4&Pin3&!Pin1) | (
    Pin15&!Pin16&Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&Pin4&Pin3&!Pin2) | (
    Pin15&Pin16&!Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&!Pin4&Pin3&!Pin1) | (
    !Pin15&!Pin16&Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&!Pin4&Pin3&!Pin1) | (
    !Pin15&!Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&Pin4&Pin3&!Pin1) | (
    Pin15&Pin16&!Pin17&Pin9&Pin8&!Pin7&!Pin6&Pin5&!Pin4&Pin3&!Pin2) | (
    !Pin15&!Pin16&Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&!Pin4&Pin3&!Pin2) | (
    !Pin15&!Pin16&!Pin17&Pin9&Pin8&Pin7&!Pin6&Pin5&Pin4&Pin3&!Pin2);

Whoah.... That's some set of equations. As a matter of fact, the last entry has 14 product terms, but the PAL is limited to only 8. And what gives with the null entry for Pin 13?

Clearly, we've got some work to do...

So, Onwards to part 13.
 
Back
Top