Electronic – single stepping TS68000 microprocessor

debouncedebuggingmicroprocessor

I recently got TS68000 microprocessor. My final goal is to build a simple computer based on that CPU.

For now I am trying to find a way to single step it.

I found schematic below by John Tsiombikas and I tried to introduce it but I failed…

Below is run using 10MHz clock.
I de-bounced my switch (used with pull-up resistor to revert the logic) and connected it to SN74LS93N (4 input NAND – Schmitt Trigger) – 3 pins are set HIGH and 1 is driven by button so when I press the button the output goes HIGH

Output of this gate is connected to MM74C74N (Dual D Flip Flop) – D-Flipflop – output(Q) is connected to second D-Flipflop
Second Flip Flop Q' output are both connected to – dual Input NAND gate – output from this gate is what I am after(DTACK).

However when I press the button is stays HIGH for longer than 1 clock cycle as explained in John's video

Not sure what am I doing wrong…

P.S – I hope you can read my writing… I am not the best drawing schematics…

John's Diagram
enter image description here

Best Answer

tl, dr: you don't need to make any circuit. Use 'trace' mode instead.

The 68000 has the ability to cause an exception on every instruction. This is the Trace bit, set in the Status Register (SR). When Trace is set, the 68000 executes one instruction, then branches to the trace exception handler routine whose address is at vector 9 / offset 0x24, from which it will branch to your debugger.

I also found reference to a complete design that includes the ability to single-step by manipulating DTACK*. Link here: https://github.com/jefftranter/68000/blob/master/TS2/v2/ts2.pdf