On 4/1/2017 10:10 PM,
gro...@gmail.com wrote:
> On Saturday, April 1, 2017 at 6:51:44 PM UTC-10, Don Y wrote:
>> You said: "Even I was able to read the PROM (I found out how to adapt this
>> chip to a 2716 socket for reading,) all it is going to give me is
>> microcode." How are you "reading" the "2716"?
>>
>> I.e., if you are reading it with a "prom programmer/reader" that can talk
>> to a PC -- either directly *or* indirectly -- then just "read" the entire
>> PROM into the PC and examine the data there.
>>
>> Worst case, you will have a pure binary file that you can then examine
>> with a "hex editor".
>
> Sorry, typo on my part... I meant to say "Even {if} I was able to..."
>
> From what I've seen on-line, people are building circuit boards that
> basically re-map the pinouts of the PROM to conform to a 2716 pinout. Some
> guys are even making a huge profit selling these boards on eBay - $22 for
> just one board. Crazy!!!
What is your time worth? And, what risk do you run of transcribing
"data" from a logic probe to a typewritten form?
> Anyhoo, with a chip programmer, the PROM can be read. As you mentioned, the
> dump would be just pure binary. The code is probably micro instructions
> proprietary to the PROM itself. The dump would actually be unusable unless
> it is written back to a blank PROM of the same kind.
It's not "micro instructions". Its just a set of 4 logic functions each
of eight variables (two of which you have claimed are always '1').
The contents of the PROM mean nothing in and of themselves. Rather,
they are probably *latched* on a clock edge and applied to some other
circuitry:
ROM
+-----+
inputs --->[ ]---->|A D|--->[ ]----> outputs
^ +-----+ ^
| |
clock -----+------------------+
where the [] are edge-triggered registers that ensure the inputs to the
ROM can only change at certain times (to ensure the addresses aren't in
a state of flux for each "cycle") and the outputs of the ROM are only
sampled at a time when they are known to have "settled".
> So what I have in mind is to build a quick circuit to produce a truth table
> of the PROM. Then once I have that, I should be able to program a
> microcontroller to produce the exact same signals.
Look at the truth table. With just 6 variables, it's manageable as
a simple (set of 4) Karnaugh maps. You should be able to "reduce" the
raw maps to logic equations just by inspection. You can then evaluate
the logic equations to decide whether its easier to just throw some
discrete logic together to emulate the ROM.
See what you *need* before deciding on how you will implement it.
E.g., if the contents of every even address in the ROM are 1010
and odd addresses are 1001, then the logic equations will tell you
that the leftmost output is "always 1", the next is "always 0", the
one after it is the LSb of the ROM address, inverted and the last
is the LSb of the ROM address, not inverted. While this *might* be
unlikely, it also might be similar!
[A colleague used an 8KB EPROM as a "logic block" in a design many
years ago. Turned out that it could have been replaced by an AND
gate and an inverter -- i.e., a quad NAND would have been overkill
as well as faster, smaller and considerably cheaper!]