On 07/21/2010 01:43 PM, Ethan Dicks wrote:
On 7/21/10, JP Hindin<jplist2008 at
kiwigeek.com> wrote:
Hey;
I was reading something the other day about being able to hand-clock a
Z80, that it was so stable (due to not using dynamic registers,
apparently) that with the appropriate debounce circuit you could literally
manually step it through instructions.
Is this as rare as it sounds?
I suppose that depends on your definition of rare. It's an uncommon
feature in modern processors, but probably not uncommon in the 8-bit
world.
A friend of mine, the older brother of the guy who taught me machine
code on an Elf long, long ago, was debugging his own Elf (RCA CDP1802)
and being a high school student in the 1970s, did not own much in the
way of "fancy" test gear. He certainly didn't own an oscilloscope.
So when he was having problems figuring out what was wrong with his
Elf, he built a debounced push button and connected it in place of the
1MHz crystal. The timing diagrams in the RCA manuals are very clear
and very complete. My friend stepped through the
8-clock-pulses-per-machine-cycle and watched his machine cycle through
its various states (conveniently brought out on a pair of lines) and
was able to debug his machine with an analog meter (used as a logic
probe, essentially).
Has anyone -tried- hand-clocking a Z80?
Me? No.
-ethan
Me, yes. Z80, 1802, 80C85, 6100 and 6120 are static by design and clock
can be any
debounced signal.
The 8080, 8085 are dynamic, there is a minimum clock speed where
internal registers
(actually capacitors) may loose their charge. However I've run them
very slow
successfully.
Can't speak for others like 6800 and 6502 (65C02 is static).
In all cases running either very slow (say clock of 10,000hz or so for
dynamic parts)
or right down to stopped for static parts makes certain debug operations
much easier.
However, they can fool the unwary as loogic that works at very slow
speeds can fail
horribly when run at full speeds due to propagation delays. This was
especially true
for the 1802/5100/6120 when run near the maximum rated speeds as the CMOS
logic of the day was slow (very long propagation times).
However for hobby use the ability to slow or stop the cpu and observe
the levels using
a voltmeter, logic probe, or simple led and resistor, was both appealing
and made
access to CPU construction and debug approachable.
Allison