From 47d16e86a40ebc3ba74f1293419307ea490f03bb Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Tue, 18 Jun 2013 13:00:51 +0200 Subject: [PATCH] Add indication on the screen of occurring IRQs and NMIs (only for debug version). NMI handler: set I status bit to original value before interrupt before chaining to ROM NMI handler. --- libsrc/atari/shadow_ram_handlers.s | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/libsrc/atari/shadow_ram_handlers.s b/libsrc/atari/shadow_ram_handlers.s index 8c4400cbc..206dcfcaf 100644 --- a/libsrc/atari/shadow_ram_handlers.s +++ b/libsrc/atari/shadow_ram_handlers.s @@ -4,6 +4,7 @@ ; Christian Groessler, chris@groessler.org, 2013 ; +DEBUG = 1 .if .defined(__ATARIXL__) @@ -132,9 +133,50 @@ ret: disable_rom .endmacro my_IRQ_han: +.ifdef DEBUG + php + pha + tya + pha + ldy #0 + lda (SAVMSC),y + clc + adc #1 + sta (SAVMSC),y + pla + tay + pla + plp +.endif int_wrap IRQ_save my_NMI_han: +.ifdef DEBUG + php + pha + tya + pha + ldy #39 + lda (SAVMSC),y + clc + adc #1 + sta (SAVMSC),y + pla + tay + pla + plp +.endif +; set I bit to interrupted value + pha + txa + pha + tsx + lda $103,x + pha + plp + pla + tax + pla int_wrap NMI_save my_RESET_han: -- 2.39.5