| |
Mace
Registered: May 2002 Posts: 1799 |
How to stop a raster IRQ?
With #$7f in $dc0d & $dd0d, #$01 in $d01a, setting the IRQ vectors in $fffe/$ffff and ack'ing $dc0d, $dd0d and $d019, I know how to start a raster interrupt.
But what do I do when I have that running and want to stop it? |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
just put the proper values back into dc0d and d01a :) |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
What groepaz said, but it depends what you need it for.
sei
lda #$00
sta $d01a
lda #$01
sta $d019
lda #$81
sta $dc0d
lda $dc0d
cli
If you disabled the timer IRQs by stopping the timers instead it'd be lda #$01; sta $dc0e; lda $dc0d.
(you could modify it with some fancy lsr $d019 acking if desired)
The timer stuff gets set up in $ff84/$fda3, so if you are going to switch on the kernal anyway you can call that.
The drawback is that the volume reg is cleared as well. |
| |
Scout
Registered: Dec 2002 Posts: 1570 |
lda $fffe
sta oldirq
lda $ffff
sta oldirq+1
sei
<do your thing>
<after pressing space do this:>
sei
lda #$37
sta $1
lda oldirq
sta $fffe
lda oldirq+1
sta $ffff
lda #$81
sta $dc0d
lda #$00
sta $D019
sta $D01A
sta $D418
lda #$1B
sta $D011
lda #$15
sta $D018
cli
jmp depackyourcrack
oldirq .word 0
Yes, what Groepaz said :) |
| |
Mace
Registered: May 2002 Posts: 1799 |
Ok, thanks.
If it doesn't work, I want to opt for a new credit in CSDb.
Credits for fucking up ;-) |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
chuck norris can stop an irq with only one hand! |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: chuck norris can stop an irq with only one hand!
... and Bruce can do it with one finger! ;) |
| |
Jayce Account closed
Registered: Dec 2001 Posts: 39 |
Amazing.. Springsteen can write good songs and stop IRQ's.. Guess that's why they call him the boss :) |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Quote: With #$7f in $dc0d & $dd0d, #$01 in $d01a, setting the IRQ vectors in $fffe/$ffff and ack'ing $dc0d, $dd0d and $d019, I know how to start a raster interrupt.
But what do I do when I have that running and want to stop it?
Pull C64 powercord |