> Oh wow, fascinating stuff. I've never heard of a PC that does that - I guess it would > have to be done by gating the CPU's clock line. That must have been a tricky circuit > to get working in the first place, let alone to emulate!
Depends on the bus interface. For the 68000 it's dead easy to withhold /DTACK for an arbitrary number of cycles while the hardware being accessed does stuff (the SCSI interface on 680x0 Macintoshes does this via some gate array magic to allow reading/writing data 4 bytes at a time from the 8-bit-wide SCSI controller). Dead easy in hardware anyway, it's a PITA to emulate
Anyway, MAME in the past standardized on getting the cycle counts right, lately we've been rewriting CPU cores to be able to stop on any cycle because it keeps coming up. The FIFO in Sega Model 2 will stall the i960 main CPU if it's empty, and it'll stall the geometry DSP if it's full, for instance.
|