5200 keypad works like the A800 keyboard - Great!
This commit is contained in:
+21
-5
@@ -26,7 +26,7 @@
|
|||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
icl 'definitions.asm'
|
icl 'definitions.asm'
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
FirstZpageVariable = $62
|
FirstZpageVariable = $61
|
||||||
.zpvar DliColorBack .byte = FirstZpageVariable
|
.zpvar DliColorBack .byte = FirstZpageVariable
|
||||||
.zpvar xdraw .word ;= $64 ;variable X for plot
|
.zpvar xdraw .word ;= $64 ;variable X for plot
|
||||||
.zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen)
|
.zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen)
|
||||||
@@ -72,6 +72,7 @@ FirstZpageVariable = $62
|
|||||||
.zpvar sfx_effect .byte
|
.zpvar sfx_effect .byte
|
||||||
.zpvar RMT_blocked .byte
|
.zpvar RMT_blocked .byte
|
||||||
.zpvar ScrollFlag .byte
|
.zpvar ScrollFlag .byte
|
||||||
|
.zpvar SkStatSimulator .byte
|
||||||
|
|
||||||
; --------------OPTIMIZATION VARIABLES--------------
|
; --------------OPTIMIZATION VARIABLES--------------
|
||||||
.zpvar Force .word
|
.zpvar Force .word
|
||||||
@@ -156,13 +157,13 @@ FirstZpageVariable = $62
|
|||||||
*/
|
*/
|
||||||
_space = $00
|
_space = $00
|
||||||
_Y = $01
|
_Y = $01
|
||||||
_up = $f2 ;02
|
_up = $02
|
||||||
_O = $03
|
_O = $03
|
||||||
_left = $f4 ;04
|
_left = $04
|
||||||
_tab = $05
|
_tab = $05
|
||||||
_right = $f6 ;06
|
_right = $06
|
||||||
_A = $07
|
_A = $07
|
||||||
_down = $f8 ;08
|
_down = $08
|
||||||
_I = $09
|
_I = $09
|
||||||
_esc = $0a
|
_esc = $0a
|
||||||
_ret = $fb ;$0b ;not used in 5200
|
_ret = $fb ;$0b ;not used in 5200
|
||||||
@@ -274,6 +275,8 @@ FirstSTART
|
|||||||
mva #$08 MODUL-6+$e17
|
mva #$08 MODUL-6+$e17
|
||||||
mva #$06 MODUL-6+$e3d
|
mva #$06 MODUL-6+$e3d
|
||||||
NoRMT_PALchange
|
NoRMT_PALchange
|
||||||
|
.ELSE
|
||||||
|
mva #$7f SkStatSimulator
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
|
|
||||||
@@ -1308,6 +1311,10 @@ nextlinedisplay
|
|||||||
mwa #Credits DLCreditsAddr
|
mwa #Credits DLCreditsAddr
|
||||||
EndOfCreditsVBI
|
EndOfCreditsVBI
|
||||||
.IF TARGET = 5200
|
.IF TARGET = 5200
|
||||||
|
lda SkStatSimulator
|
||||||
|
bmi @+
|
||||||
|
inc SkStatSimulator
|
||||||
|
@
|
||||||
center = 114 ;Read analog stick and make it look like a digital stick
|
center = 114 ;Read analog stick and make it look like a digital stick
|
||||||
threshold = 60
|
threshold = 60
|
||||||
|
|
||||||
@@ -1352,6 +1359,7 @@ EndOfCreditsVBI
|
|||||||
.IF TARGET = 5200
|
.IF TARGET = 5200
|
||||||
.proc kb_continue
|
.proc kb_continue
|
||||||
sta kbcode ;Store key code in shadow.
|
sta kbcode ;Store key code in shadow.
|
||||||
|
mva #0 SkStatSimulator
|
||||||
exit pla
|
exit pla
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
@@ -1635,6 +1643,10 @@ SetRandomWalls
|
|||||||
beq checkJoyGetKey ; key not pressed, check Joy
|
beq checkJoyGetKey ; key not pressed, check Joy
|
||||||
cmp #$f7 ; SHIFT
|
cmp #$f7 ; SHIFT
|
||||||
beq checkJoyGetKey
|
beq checkJoyGetKey
|
||||||
|
.ELSE
|
||||||
|
lda SkStatSimulator
|
||||||
|
and #%11111110
|
||||||
|
bne checkJoyGetKey ; key not pressed, check Joy
|
||||||
.ENDIF
|
.ENDIF
|
||||||
lda kbcode
|
lda kbcode
|
||||||
cmp #@kbcode._none
|
cmp #@kbcode._none
|
||||||
@@ -1700,6 +1712,10 @@ StillWait
|
|||||||
and #%00000110 ; Select and Option only
|
and #%00000110 ; Select and Option only
|
||||||
cmp #%00000110
|
cmp #%00000110
|
||||||
bne StillWait
|
bne StillWait
|
||||||
|
.ELSE
|
||||||
|
lda SkStatSimulator
|
||||||
|
and #%11111110
|
||||||
|
beq StillWait
|
||||||
.ENDIF
|
.ENDIF
|
||||||
KeyReleased
|
KeyReleased
|
||||||
rts
|
rts
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user