2021-08-21 21:59:43 +00:00
|
|
|
REL
|
2021-08-25 14:35:54 +00:00
|
|
|
DSK MAINSEG
|
2021-08-21 21:59:43 +00:00
|
|
|
|
2021-08-25 14:35:54 +00:00
|
|
|
use EDS.GSOS.MACS.s
|
2021-08-26 13:52:43 +00:00
|
|
|
use Tool222.Macs.s
|
2021-08-25 14:35:54 +00:00
|
|
|
use ../../src/GTE.s
|
|
|
|
use ../../src/Defs.s
|
|
|
|
|
|
|
|
|
|
|
|
mx %00
|
|
|
|
|
|
|
|
; Space for player position variables
|
|
|
|
PlayerX equ AppSpace
|
|
|
|
PlayerY equ AppSpace+2
|
|
|
|
|
|
|
|
phk
|
|
|
|
plb
|
|
|
|
|
|
|
|
jsl EngineStartUp
|
|
|
|
|
|
|
|
stz PlayerX
|
|
|
|
stz PlayerY
|
|
|
|
|
|
|
|
ldx #0 ; Use full-screen mode
|
|
|
|
jsl SetScreenMode
|
|
|
|
|
|
|
|
:loop
|
|
|
|
jsl ReadControl
|
|
|
|
and #$007F ; Ignore the buttons for now
|
|
|
|
|
|
|
|
cmp #'q'
|
|
|
|
beq :exit
|
|
|
|
|
|
|
|
; WASD for player movement
|
|
|
|
|
|
|
|
cmp #'w'
|
|
|
|
bne :not_w
|
|
|
|
jsr :moveup
|
|
|
|
brl :loop
|
|
|
|
:not_w
|
|
|
|
|
|
|
|
cmp #'a'
|
|
|
|
bne :not_a
|
|
|
|
jsr :moveleft
|
|
|
|
brl :loop
|
|
|
|
:not_a
|
|
|
|
|
|
|
|
cmp #'s'
|
|
|
|
bne :not_s
|
|
|
|
jsr :movedown
|
|
|
|
brl :loop
|
|
|
|
:not_s
|
|
|
|
|
|
|
|
cmp #'d'
|
|
|
|
bne :not_d
|
|
|
|
jsr :moveright
|
|
|
|
:not_d
|
|
|
|
brl :loop
|
|
|
|
|
|
|
|
:moveup
|
|
|
|
lda PlayerY
|
|
|
|
dec
|
|
|
|
bpl *+5
|
|
|
|
lda #0
|
|
|
|
sta PlayerY
|
|
|
|
jmp DrawPlayer
|
|
|
|
|
|
|
|
:movedown
|
|
|
|
lda PlayerY
|
|
|
|
inc
|
|
|
|
cmp #160
|
|
|
|
bcc *+5
|
|
|
|
lda #160
|
|
|
|
sta PlayerY
|
|
|
|
jmp DrawPlayer
|
|
|
|
|
|
|
|
:moveleft
|
|
|
|
lda PlayerX
|
|
|
|
dec
|
|
|
|
bpl *+5
|
|
|
|
lda #0
|
|
|
|
sta PlayerX
|
|
|
|
jmp DrawPlayer
|
|
|
|
|
|
|
|
:moveright
|
|
|
|
lda PlayerX
|
|
|
|
inc
|
|
|
|
cmp #140
|
|
|
|
bcc *+5
|
|
|
|
lda #140
|
|
|
|
sta PlayerX
|
|
|
|
jmp DrawPlayer
|
|
|
|
|
|
|
|
; Clean up and do a GS/OS Quit
|
|
|
|
:exit
|
|
|
|
jsl EngineShutDown
|
|
|
|
|
|
|
|
:quit
|
|
|
|
_QuitGS qtRec
|
|
|
|
bcs :fatal
|
|
|
|
:fatal brk $00
|
|
|
|
|
|
|
|
qtRec adrl $0000
|
|
|
|
da $00
|
|
|
|
|
|
|
|
DrawPlayer
|
|
|
|
lda PlayerY
|
|
|
|
asl
|
|
|
|
tax
|
|
|
|
ldal ScreenAddr,x
|
|
|
|
clc
|
|
|
|
adc PlayerX
|
|
|
|
tay
|
|
|
|
jsl Spr_001
|
|
|
|
rts
|
|
|
|
|
|
|
|
; Storage for tiles (not used in this demo)
|
|
|
|
tiledata ENT
|
2021-08-21 21:59:43 +00:00
|
|
|
|
|
|
|
; Storage for sprites
|
2021-08-25 14:35:54 +00:00
|
|
|
StackAddress ds 2
|
|
|
|
PUT sprites/Ships.s
|
|
|
|
|
|
|
|
|