| |
breeze Account closed
Registered: Mar 2009 Posts: 20 |
C64 interrupts
Hi pplz :)
Please, explain to me the principle of work interrupts in the C64:
1. The Z80 cpu has a HALT command, which allows to wait for the interruption at the main loop of code.Is there such a command to CPU 6510 or is not possible?
2. In the processor Z80 when it comes to interrupt code execution in the code of main loop is stops and execute the code of interrupt. After execute the code of interrupt, continue to execute code of the main loop. Processor 6510 operates on the same principle? Or code of main loop will continue run and the code of interupt will start parallel ? |
|
... 3 posts hidden. Click here to view all posts.... |
| |
breeze Account closed
Registered: Mar 2009 Posts: 20 |
Big thanks for the clarification! |
| |
Skate
Registered: Jul 2003 Posts: 494 |
so, if we use HALT without setting any interrupts, CPU will completely stop working. I mean it's not like "jmp *", no opcodes would be fetched and executed. Did I get it right? |
| |
breeze Account closed
Registered: Mar 2009 Posts: 20 |
Quote: so, if we use HALT without setting any interrupts, CPU will completely stop working. I mean it's not like "jmp *", no opcodes would be fetched and executed. Did I get it right?
if interrupts is disabled (DI) then you right, the Z80 will HALT. But by default way interrupts is enabled. |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
When I coded the mega-stretcher in "Demontronic" (by Megaboys) for the Gameboy Color, I used HALT to get stable raster timing, since there is no jitter in the onset of the interrupt after putting the CPU in halted mode (unlike "jmp *"). On c64 this is of course a bit more complicated, since the jitter must be neutralized/compensated for in various ways if one wants perfectly stable timing of the onset of the interrupt code. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
We have a couple of op-codes which would perform a complete HALT without any wake-on-interrupt option, most commonly called JAM or HLT. :) |
| |
Mr. SID
Registered: Jan 2003 Posts: 424 |
Yeah, would be cool if you could still service an IRQ after a JAM and wake it up again... |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
Quoting Mr. SIDYeah, would be cool if you could still service an IRQ after a JAM and wake it up again...
run FLI DXPP in Vice or Vice"SC" and close the jam popup window after pressing space. poof,magic ensues:)
dont hold your breath though- its one of Vice bugs and it doesnt work in Hoxs&Ccs or on the real box. |
| |
breeze Account closed
Registered: Mar 2009 Posts: 20 |
Thanks for the clarification, I will try to understand it all :) |
| |
Skate
Registered: Jul 2003 Posts: 494 |
@assiduous: same thing happened (JAM at $9003) in CCS64 v3.5
edit: well, hoxs64 behaved the same way. maybe I didn't see the correct result at vice at the first place. vice gets locked up just like other emulators. should something continue after jam? it does not at the latest version.
edit 2: sorry, I've missed "closing the window" part. I was pressing one of the buttons, that's why I couldn't see the magic ;) |
| |
assiduous Account closed
Registered: Jun 2007 Posts: 343 |
Quoting SkateI was pressing one of the buttons, that's why I couldn't see the magic ;)
if you press the cancel button to continue as the popup box instructs you can see it aswell. |
Previous - 1 | 2 - Next |