mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
failed manual convert. reflush
This commit is contained in:
@@ -0,0 +1,163 @@
|
||||
icl '../Atari/lib/ATARISYS.ASM'
|
||||
icl '../Atari/lib/MACRO.ASM'
|
||||
|
||||
screen_height = 26
|
||||
screen = $1000 ; start - 40*screen_height
|
||||
|
||||
org $2010 ; after the screen
|
||||
|
||||
src = $80
|
||||
dest = $82
|
||||
top_src = $84
|
||||
|
||||
start
|
||||
mwa #dl dlptrs
|
||||
mva #>WeaponFont chbas
|
||||
|
||||
mwa #man_text_en top_src
|
||||
|
||||
main_loop
|
||||
mwa top_src src
|
||||
mwa #screen dest
|
||||
|
||||
ldx #screen_height-1
|
||||
screen_copy
|
||||
ldy #39
|
||||
@
|
||||
lda (src),y
|
||||
sta (dest),y
|
||||
dey
|
||||
bpl @-
|
||||
adw src #40
|
||||
adw dest #40
|
||||
dex
|
||||
bpl screen_copy
|
||||
|
||||
jsr GetKey
|
||||
cmp #@kbcode._down
|
||||
beq scroll_down
|
||||
cmp #@kbcode._up
|
||||
beq scroll_up
|
||||
jmp main_loop
|
||||
|
||||
scroll_down
|
||||
adw top_src #40
|
||||
cpw top_src #(man_text_en_end-screen_height*40)
|
||||
scc:mwa #(man_text_en_end-screen_height*40) top_src
|
||||
jmp main_loop
|
||||
|
||||
scroll_up
|
||||
sbw top_src #40
|
||||
cpw top_src #man_text_en
|
||||
scs:mwa #man_text_en top_src
|
||||
jmp main_loop
|
||||
|
||||
|
||||
;--------------------------------------------------
|
||||
.proc GetKey
|
||||
; returns pressed value in A
|
||||
; when [ESC] is pressed, escFlag is set
|
||||
; result: A=keycode
|
||||
;--------------------------------------------------
|
||||
getKeyAfterWait
|
||||
lda SKSTAT
|
||||
cmp #$ff
|
||||
beq checkJoyGetKey ; key not pressed, check Joy
|
||||
cmp #$f7 ; SHIFT
|
||||
beq checkJoyGetKey
|
||||
lda kbcode
|
||||
cmp #@kbcode._none
|
||||
beq checkJoyGetKey
|
||||
and #$3f ;CTRL and SHIFT ellimination
|
||||
cmp #@kbcode._esc ; 28 ; ESC
|
||||
bne getkeyend
|
||||
mvy #$80 escFlag
|
||||
bne getkeyend
|
||||
|
||||
checkJoyGetKey
|
||||
;------------JOY-------------
|
||||
;happy happy joy joy
|
||||
;check for joystick now
|
||||
lda STICK0
|
||||
and #$0f
|
||||
cmp #$0f
|
||||
beq notpressedJoyGetKey
|
||||
tay
|
||||
lda joyToKeyTable,y
|
||||
bne getkeyend
|
||||
|
||||
notpressedJoyGetKey
|
||||
;fire
|
||||
lda STRIG0
|
||||
beq JoyButton
|
||||
jsr Check2button
|
||||
bcc SecondButton
|
||||
bne checkSelectKey
|
||||
checkSelectKey
|
||||
lda CONSOL
|
||||
and #%00000010 ; Select
|
||||
beq SelectPressed
|
||||
lda CONSOL
|
||||
and #%00000100 ; Option
|
||||
bne getKeyAfterWait
|
||||
OptionPressed
|
||||
lda #@kbcode._atari ; Option key
|
||||
bne getkeyend
|
||||
SecondButton
|
||||
SelectPressed
|
||||
lda #@kbcode._tab ; Select key
|
||||
bne getkeyend
|
||||
JoyButton
|
||||
lda #@kbcode._ret ;Return key
|
||||
getkeyend
|
||||
ldy #0
|
||||
sty ATRACT ; reset atract mode
|
||||
rts
|
||||
Check2button
|
||||
lda PADDL0
|
||||
and #$c0
|
||||
eor #$C0
|
||||
cmp PaddleState
|
||||
sta PaddleState
|
||||
rts
|
||||
.endp
|
||||
|
||||
|
||||
dl
|
||||
:2 .byte SKIP8
|
||||
.byte LMS+MODE2
|
||||
.word screen
|
||||
:(screen_height-1) .byte MODE2
|
||||
.byte JVB
|
||||
.word dl
|
||||
|
||||
joyToKeyTable
|
||||
.by $ff ;00
|
||||
.by $ff ;01
|
||||
.by $ff ;02
|
||||
.by $ff ;03
|
||||
.by $ff ;04
|
||||
.by $ff ;05
|
||||
.by $ff ;06
|
||||
.by @kbcode._right ;07
|
||||
.by $ff ;08
|
||||
.by $ff ;09
|
||||
.by $ff ;0a
|
||||
.by @kbcode._left ;0b
|
||||
.by $ff ;0c
|
||||
.by @kbcode._down ;0d
|
||||
.by @kbcode._up ;0e
|
||||
.by $ff ;0f
|
||||
|
||||
escflag .byte 0
|
||||
paddlestate .byte 0
|
||||
.align 40
|
||||
man_text_en
|
||||
icl 'man_cart_txt_EN.asm'
|
||||
man_text_en_end
|
||||
|
||||
.align $400
|
||||
WeaponFont
|
||||
ins '../artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt'
|
||||
|
||||
run start
|
||||
Reference in New Issue
Block a user