]> git.sur5r.net Git - cc65/commitdiff
interrupt flag is cleared/restored rather than cleared/set
authorizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 10 Sep 2001 22:11:19 +0000 (22:11 +0000)
committerizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Mon, 10 Sep 2001 22:11:19 +0000 (22:11 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@890 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/geos/mousesprite/mouse.s
libsrc/geos/system/get_ostype.s

index 8e49af16cf5e7afc5523a6f9f4ecfddacdad1841..a5f59fa2e4e8f690344f0a91fa986de79b65a8b4 100644 (file)
@@ -110,7 +110,8 @@ _mouse_pos:
 
        ldy     #0                      ; Structure offset
 
-       sei                             ; Disable interrupts
+        php
+        sei                            ; Disable interrupts
 
                lda     mouseXPos               ; Transfer the position
        sta     (ptr1),y
@@ -124,7 +125,7 @@ _mouse_pos:
        iny
        sta     (ptr1),y
 
-       cli                             ; Reenable interrupts
+       plp                             ; Reenable interrupts
        rts                             ; Done
 
 ; --------------------------------------------------------------------------
@@ -157,13 +158,14 @@ _mouse_info:
 
 _mouse_move:
        jsr     popsreg                 ; Get X
-       sei                             ; Disable interrupts
+        php
+        sei                            ; Disable interrupts
        sta     mouseYPos
        lda     sreg
        ldx     sreg+1
        sta     mouseXPos
        stx     mouseXPos+1
-       cli                             ; Enable interrupts
+       plp                             ; Enable interrupts
        rts
 
 ; --------------------------------------------------------------------------
index bd40b5bf6004e1b539b3f592262f227d075f30cd..f92f634a91b8b341c5b2cba8738eae034526c050 100644 (file)
@@ -35,7 +35,9 @@ get_tv:
            bne tvmode
 only40:            ldx #0                      ; COLUMNS40
 tvmode:                                        ; PAL/NTSC check here, result in A
-           bit rasreg
+            php
+           sei                         ; disable interrupts
+            bit rasreg
            bpl tvmode                  ; wait for rasterline  127<x<256
            lda #24                     ; (rasterline now >=256!)
 modelp:            cmp rasreg                  ; wait for rasterline = 24 (or 280 on PAL)
@@ -48,4 +50,5 @@ ntsc:     lda #$80                    ; NTSC
 
 modeend:    stx tmp1
            ora tmp1
+           plp                         ; restore interrupt state
            rts