1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-22 12:30:41 +00:00

interrupt flag is cleared/restored rather than cleared/set

git-svn-id: svn://svn.cc65.org/cc65/trunk@890 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
izydorst 2001-09-10 22:11:19 +00:00
parent 490e3b8c0f
commit 35f403b702
2 changed files with 10 additions and 5 deletions

View 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
; --------------------------------------------------------------------------

View 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