|
The TAP is working 100%. The problem here is a little bug in the IRQ-Emulation!
I've experienced this on several other occations as well. It seems like under certain circumstances, the IRQ just starts over again and again.
Technically speaking, the IRQ always ends with a RTI. When this command is executed, the CPU simply finishes the interrupt and returns to the program code that was running. However, due to a malfunction in CCS64's emulation, the interrupt triggers immediately, and the CPU starts to execute the interrupt code instead of the normal code which should be run inbetween. The result is that CCS64 executes only the IRQ-code, and not the rest.
It seems like there are certain conditions that leads up to this kind of lock-up, but I haven't found out what exactly happens before this sets in. It looks to me like CCS64 forgets to clear a flag somewhere, or mis-interprets some IO-registers (and that's strange indeed, since the emulation otherwise is great), believing that the IRQ is due to start immediately after it ends.
Regards, Inge
_________________ Cheers, Inge HP The High Voltage SID Collection http://www.hvsc.de
|