pouët.net

68000 vs halting

category: general [glöplog]
 
This is a hardware question.

I'm trying to pause my 68000 by grounding the clk. Seems to work pretty well. The problem I have is when I do this mid instruction. What's a good way to pause a 68000 when it's done with it's current instruction?
added on the 2016-09-13 18:24:35 by sigflup sigflup
added on the 2016-09-13 18:34:13 by bonefish bonefish
(it's software solution, but maybe it helps)
added on the 2016-09-13 18:34:57 by bonefish bonefish
Not sure whether grounding CLK is such a good idea despite the fact that it seems to work. At least the Motorola 68000 user's manual recommends to not gate CLK off at any time.
Have you tried the /HALT-pin?
(Not sure in what state the 68000 is after releasing /HALT though...)

If that's not possible, the cleanest way is most probably to request the bus (/BR) and wait for being granted the bus (/BG). That should make the 68000 wait patiently for the bus again in between instructions and not in the middle of one.
added on the 2016-09-13 18:41:14 by Paranoid Paranoid
bus request works like charm
added on the 2016-09-13 19:11:59 by sigflup sigflup
My switch now works!!! BB Image
added on the 2016-09-13 19:28:42 by sigflup sigflup
curious as to: why? :)
added on the 2016-09-13 19:52:21 by visy visy
Well, I wanted to see how overdrive did their cube thingy
added on the 2016-09-13 19:53:33 by sigflup sigflup
I bet it was rather about freezing the game to enter pokes!
added on the 2016-09-13 22:31:25 by Exin Exin
Quote:
Well, I wanted to see how overdrive did their cube thingy


What thingy?
added on the 2016-09-14 10:27:56 by Moerder Moerder
I was under the impression that you cannot stop the clock on most processors - they need it to keep their dynamic RAM like registers updated. Stopping the clock does bad things. The only processor I know that is OK with you stopping the clock is the Z80, which is why it makes a really good CPU for people wanting to build a homebrew computer - because you can clock it slowly or even by hand.

I believe this is how the old Slowmo device worked to slow down the ZX Spectrum. This was then used to make tricky parts of games easier to play or for magazines when taking screenshots with a camera.

*quick Google to check my facts*

Yeah... info on the Z80 here -> http://lateblt.tripod.com/bit62.txt


So.. yeah.. use the halt on the 68000
added on the 2016-09-14 11:14:36 by evilpaul evilpaul
NMOS Z80 allows only stopping clock at '1' state forever, not at '0'. CMOS one allows any pauses at both states.
added on the 2016-09-14 13:38:15 by lvd lvd
Quote:
I was under the impression that you cannot stop the clock on most processors

Random funfact: The Motorola DSP56300 family can be clocked down to DC, but that's not a very typical demo platform I guess. ;D
Later 6800-type CPU's can also hold the clock, like the embedded 6802 and Hitachi 6803. This was sold as a power-management feature. But I guess it does not work the same way...?
added on the 2016-09-14 14:28:13 by Exin Exin
I always had a hunch that there might be a very simple hardware solution to the halting problem!
added on the 2016-09-14 18:06:17 by yzi yzi
clock pause. I love it. I used to make XTs crash by toggling the turbo switch too much.
added on the 2016-09-14 22:51:53 by lollol lollol
Quote:
I always had a hunch that there might be a very simple hardware solution to the halting problem!

exactly :)
added on the 2016-09-14 22:52:47 by lollol lollol
Hehe nice idea! Yeah, bus request sounds like the best choice :)

I had a C64 modified in a similar way, no idea how it was done, but it only worked like 80% of the time, the other 20% that thing just crashed.
added on the 2016-09-17 22:50:17 by Kabuto Kabuto
@sigflup: Interesting idea! Are you working on any new material for the MD/Genesis? Contact me if you need some music! :) freezedream at Google.

login