When, in Kirby's Adventure, I saw that the IRQ vector was 0029, I thought, No way. I then checked a trace of a split-screen scrolling operation and saw that indeed, the IRQ vector is at 0029! I guess it writes brand new code into the RAM and then executes it from there. Then again, I sorta knew it was possible.
Code:
$0029:48 PHA A:00 X:FF Y:00 P:nvUbdIZC
$002A:A9 00 LDA #$00 A:00 X:FF Y:00 P:nvUbdIZC
$002C:8D 00 E0 STA $E000 = #$6E A:00 X:FF Y:00 P:nvUbdIZC
$002F:8D 00 E0 STA $E000 = #$6E A:00 X:FF Y:00 P:nvUbdIZC
$0032:4C BF FB JMP $FBBF A:00 X:FF Y:00 P:nvUbdIZC
$002A:A9 00 LDA #$00 A:00 X:FF Y:00 P:nvUbdIZC
$002C:8D 00 E0 STA $E000 = #$6E A:00 X:FF Y:00 P:nvUbdIZC
$002F:8D 00 E0 STA $E000 = #$6E A:00 X:FF Y:00 P:nvUbdIZC
$0032:4C BF FB JMP $FBBF A:00 X:FF Y:00 P:nvUbdIZC