mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
a bit better 5200 keyboard but still not good...
This commit is contained in:
@@ -2181,5 +2181,37 @@ ybarrel
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
;--------------------------------------------------
|
||||||
|
.proc PMoutofScreen
|
||||||
|
;--------------------------------------------------
|
||||||
|
lda #$00 ; let all P/M disappear
|
||||||
|
:8 sta hposp0+#
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
|
;--------------------------------------------------
|
||||||
|
.proc ColorsOfSprites
|
||||||
|
lda TankColoursTable ; colours of sprites under tanks
|
||||||
|
sta PCOLR0
|
||||||
|
lda TankColoursTable+1
|
||||||
|
sta PCOLR1
|
||||||
|
lda TankColoursTable+2
|
||||||
|
sta PCOLR2
|
||||||
|
lda TankColoursTable+3
|
||||||
|
sta PCOLR3
|
||||||
|
LDA TankColoursTable+4
|
||||||
|
STA COLOR3 ; joined missiles (5th tank)
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
|
;--------------------------------------------------
|
||||||
|
.proc SetPMWidth
|
||||||
|
lda #$00
|
||||||
|
sta sizep0 ; P0-P3 widths
|
||||||
|
sta sizep0+1
|
||||||
|
sta sizep0+2
|
||||||
|
sta sizep0+3
|
||||||
|
lda #%01010101
|
||||||
|
sta sizem ; all missiles, double width
|
||||||
|
rts
|
||||||
|
.endp
|
||||||
|
|
||||||
.endif
|
.endif
|
||||||
+3
-68
@@ -37,6 +37,7 @@ STRIG0 = $1a ;There is no strig0 but we will make this the shadow of the TR
|
|||||||
chbas = $1b ;There is no CHBAS but we will make this the shadow of the CHBASE
|
chbas = $1b ;There is no CHBAS but we will make this the shadow of the CHBASE
|
||||||
CONSOL = $1c ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys
|
CONSOL = $1c ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys
|
||||||
consol_reset = $07;The constant value representing that no consol key is pressed
|
consol_reset = $07;The constant value representing that no consol key is pressed
|
||||||
|
kbcode = $1d ;There is no keyboard on the Atari 5200, so replace kbcode h/w reads with a byte variable read based on the keypad keys
|
||||||
|
|
||||||
; PAGE 2
|
; PAGE 2
|
||||||
VIMIRQ EQU $0200 ;IMMED IRQ VECTOR
|
VIMIRQ EQU $0200 ;IMMED IRQ VECTOR
|
||||||
@@ -74,7 +75,7 @@ POT5 EQU POKEY+$05
|
|||||||
POT6 EQU POKEY+$06
|
POT6 EQU POKEY+$06
|
||||||
POT7 EQU POKEY+$07
|
POT7 EQU POKEY+$07
|
||||||
ALLPOT EQU POKEY+$08
|
ALLPOT EQU POKEY+$08
|
||||||
KBCODE EQU POKEY+$09
|
KBCODE_5200 EQU POKEY+$09
|
||||||
RANDOM EQU POKEY+$0a
|
RANDOM EQU POKEY+$0a
|
||||||
POTGO EQU POKEY+$0b
|
POTGO EQU POKEY+$0b
|
||||||
SERIN EQU POKEY+$0d
|
SERIN EQU POKEY+$0d
|
||||||
@@ -268,70 +269,4 @@ scr32 = @dmactl(narrow|dma|players|missiles|lineX1)
|
|||||||
_pause = $0d
|
_pause = $0d
|
||||||
_reset = $0e
|
_reset = $0e
|
||||||
.ende
|
.ende
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.enum @kbcode
|
|
||||||
_none = 255
|
|
||||||
_esc = 28
|
|
||||||
_1 = 31
|
|
||||||
_2 = 30
|
|
||||||
_3 = 26
|
|
||||||
_4 = 24
|
|
||||||
_5 = 29
|
|
||||||
_6 = 27
|
|
||||||
_7 = 51
|
|
||||||
_8 = 53
|
|
||||||
_9 = 48
|
|
||||||
_0 = 50
|
|
||||||
_lt = 54
|
|
||||||
_gt = 55
|
|
||||||
_del = 52
|
|
||||||
_tab = 44
|
|
||||||
_Q = 47
|
|
||||||
_W = 46
|
|
||||||
_E = 42
|
|
||||||
_R = 40
|
|
||||||
_T = 45
|
|
||||||
_Y = 43
|
|
||||||
_U = 11
|
|
||||||
_I = 13
|
|
||||||
_O = 8
|
|
||||||
_P = 10
|
|
||||||
_min = 14
|
|
||||||
_up = 14 ; cursor function
|
|
||||||
_eq = 15
|
|
||||||
_down = 15 ; cursor function
|
|
||||||
_ret = 12
|
|
||||||
_A = 63
|
|
||||||
_S = 62
|
|
||||||
_D = 58
|
|
||||||
_F = 56
|
|
||||||
_G = 61
|
|
||||||
_H = 57
|
|
||||||
_J = 1
|
|
||||||
_K = 5
|
|
||||||
_L = 0
|
|
||||||
_semicolon = 2
|
|
||||||
_plus = 6
|
|
||||||
_left = 6 ; cursor function
|
|
||||||
_asterisk = 7
|
|
||||||
_right = 7 ; cursor function
|
|
||||||
_caps = 60
|
|
||||||
_Z = 23
|
|
||||||
_X = 22
|
|
||||||
_C = 18
|
|
||||||
_V = 16
|
|
||||||
_B = 21
|
|
||||||
_N = 36
|
|
||||||
_M = 37
|
|
||||||
_comma = 32
|
|
||||||
_dot = 34
|
|
||||||
_slash = 38
|
|
||||||
_atari = 39
|
|
||||||
_help = 17
|
|
||||||
_F1 = 3
|
|
||||||
_F2 = 4
|
|
||||||
_F3 = 19
|
|
||||||
_F4 = 20
|
|
||||||
_space = 33
|
|
||||||
.ende
|
|
||||||
+22
-42
@@ -6,7 +6,7 @@
|
|||||||
;Miami & Warsaw 2022
|
;Miami & Warsaw 2022
|
||||||
|
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
.def TARGET = 800; 5200 ; or 800
|
.def TARGET = 5200 ; or 800
|
||||||
;atari800 -5200 -cart ${outputFilePath} -cart-type 4
|
;atari800 -5200 -cart ${outputFilePath} -cart-type 4
|
||||||
;atari800 -run ${outputFilePath}
|
;atari800 -run ${outputFilePath}
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
OPT h-f+ ; no headers, single block --> cart bin file
|
OPT h-f+ ; no headers, single block --> cart bin file
|
||||||
icl 'lib/5200SYS.ASM'
|
icl 'lib/5200SYS.ASM'
|
||||||
icl 'lib/5200MACRO.ASM'
|
icl 'lib/5200MACRO.ASM'
|
||||||
/* .enum @kbcode
|
.enum @kbcode
|
||||||
/*
|
/*
|
||||||
_0
|
_0
|
||||||
_1
|
_1
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
_pause = $0d
|
_pause = $0d
|
||||||
_reset = $0e
|
_reset = $0e
|
||||||
*/
|
*/
|
||||||
/* _space = $00
|
_space = $00
|
||||||
_Y = $01
|
_Y = $01
|
||||||
_up = $02
|
_up = $02
|
||||||
_O = $03
|
_O = $03
|
||||||
@@ -163,10 +163,10 @@
|
|||||||
_down = $08
|
_down = $08
|
||||||
_I = $09
|
_I = $09
|
||||||
_esc = $0a
|
_esc = $0a
|
||||||
_ret = $0b
|
_ret = $fa ;$0b
|
||||||
_M = $0d
|
_M = $0d
|
||||||
_S = $0e
|
_S = $0e
|
||||||
_del = $0e ; not used in 5200
|
_del = $fe ; not used in 5200
|
||||||
|
|
||||||
.ende */
|
.ende */
|
||||||
.ELSE
|
.ELSE
|
||||||
@@ -262,6 +262,7 @@ FirstSTART
|
|||||||
.IF TARGET = 5200
|
.IF TARGET = 5200
|
||||||
mva #$0f STICK0
|
mva #$0f STICK0
|
||||||
mva #$04 CONSOL5200 ;Speaker off, Pots enabled, port #1 selected
|
mva #$04 CONSOL5200 ;Speaker off, Pots enabled, port #1 selected
|
||||||
|
mwa #kb_continue VKEYCNT ;Keyboard handler
|
||||||
.ENDIF
|
.ENDIF
|
||||||
VMAIN VBLinterrupt,7 ;jsr SetVBL
|
VMAIN VBLinterrupt,7 ;jsr SetVBL
|
||||||
|
|
||||||
@@ -1003,27 +1004,6 @@ B0 DEY
|
|||||||
sta MaxForceTableL,x
|
sta MaxForceTableL,x
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
|
||||||
.proc PMoutofScreen
|
|
||||||
;--------------------------------------------------
|
|
||||||
lda #$00 ; let all P/M disappear
|
|
||||||
:8 sta hposp0+#
|
|
||||||
rts
|
|
||||||
.endp
|
|
||||||
;--------------------------------------------------
|
|
||||||
.proc ColorsOfSprites
|
|
||||||
lda TankColoursTable ; colours of sprites under tanks
|
|
||||||
sta PCOLR0
|
|
||||||
lda TankColoursTable+1
|
|
||||||
sta PCOLR1
|
|
||||||
lda TankColoursTable+2
|
|
||||||
sta PCOLR2
|
|
||||||
lda TankColoursTable+3
|
|
||||||
sta PCOLR3
|
|
||||||
LDA TankColoursTable+4
|
|
||||||
STA COLOR3 ; joined missiles (5th tank)
|
|
||||||
rts
|
|
||||||
.endp
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc WeaponCleanup;
|
.proc WeaponCleanup;
|
||||||
@@ -1125,17 +1105,6 @@ MakeTanksVisible
|
|||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc SetPMWidth
|
|
||||||
lda #$00
|
|
||||||
sta sizep0 ; P0-P3 widths
|
|
||||||
sta sizep0+1
|
|
||||||
sta sizep0+2
|
|
||||||
sta sizep0+3
|
|
||||||
lda #%01010101
|
|
||||||
sta sizem ; all missiles, double width
|
|
||||||
rts
|
|
||||||
.endp
|
|
||||||
;--------------------------------------------------
|
|
||||||
.proc DLIinterruptGraph
|
.proc DLIinterruptGraph
|
||||||
;sta dliA
|
;sta dliA
|
||||||
;sty dliY
|
;sty dliY
|
||||||
@@ -1313,6 +1282,17 @@ exitVBL
|
|||||||
jmp XITVBV
|
jmp XITVBV
|
||||||
.ENDIF
|
.ENDIF
|
||||||
.endp
|
.endp
|
||||||
|
.IF TARGET = 5200
|
||||||
|
.proc kb_continue
|
||||||
|
sta kbcode ;Store key code in shadow.
|
||||||
|
exit pla
|
||||||
|
tay
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
pla
|
||||||
|
rti
|
||||||
|
.endp
|
||||||
|
.ENDIF
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
.proc RandomizeSequence0
|
.proc RandomizeSequence0
|
||||||
ldx #0
|
ldx #0
|
||||||
@@ -1787,15 +1767,15 @@ noingame
|
|||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'weapons.asm'
|
icl 'constants.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'textproc.asm'
|
icl 'textproc.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'grafproc.asm'
|
icl 'grafproc.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'ai.asm'
|
icl 'weapons.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'constants.asm'
|
icl 'ai.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
icl 'artwork/talk.asm'
|
icl 'artwork/talk.asm'
|
||||||
;----------------------------------------------
|
;----------------------------------------------
|
||||||
@@ -1823,8 +1803,8 @@ font4x4
|
|||||||
org ROM_SETTINGS ; 5200 ROM settings address $bfe8
|
org ROM_SETTINGS ; 5200 ROM settings address $bfe8
|
||||||
; "01234567890123456789"
|
; "01234567890123456789"
|
||||||
.byte " scorch 5200 v" ;20 characters title
|
.byte " scorch 5200 v" ;20 characters title
|
||||||
build ; " "
|
build ; " "
|
||||||
.byte " "
|
.byte " "
|
||||||
.byte "7A" ;2 characters year .. 1900 + $7A = 2020
|
.byte "7A" ;2 characters year .. 1900 + $7A = 2020
|
||||||
.word FirstSTART
|
.word FirstSTART
|
||||||
.ELSE
|
.ELSE
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user