I've just spent two days reverse-engineering the
Atari Digital Vector
Generator down to state machine level. Thank %DEITY for schematics!
You're lucky. I normally have to start by producing the schematics (mind
you, for simple stuff, its quicker _for me_ to draw them out than either
to do battle with the manufacturer or to download them and figure out
how to print them...)
Only thing I am trying to work out is why the hell the state machine jumps to
state 9 on startup, which is a DMALD microinstruction. Basically, when it
starts up, it pulls an address off the stack and jumps to it. Unless I'm
Are you sure it does? In particular, are you sure the output of the stack
is not tri-stated and the lines driven by something else?
wrong, that means it jumps to a random address on
startup. That is, unless
the LS670 Register File Memory used for the stack is guaranteed to power up
with all registers loaded with 0000(bin), but IMO that's a dangerous
assumption to make without testing.
Just a shame LS670s are pretty much unobtainium these days, otherwise I would
have tested it out...
I've used the LS170 quite a bit (open-collector, not tri-state outputs),
and I am darn sure the power-up state is not guaranteed to be anything
special.
-tony