parent
370c1fee8f
commit
feea4fbf9d
|
@ -7,31 +7,47 @@ pan_loop:
|
|||
|
||||
lda #0
|
||||
sta COUNT
|
||||
sta TICKER
|
||||
sta P2_OFFSET
|
||||
|
||||
pan_outer_outer_loop:
|
||||
|
||||
ldx #191
|
||||
pan_outer_loop:
|
||||
|
||||
; $2000 ; 0010 -> 0100 0011 -> 0101
|
||||
lda hposn_high,X
|
||||
sta pil_smc1+2
|
||||
sta pil_smc2+2
|
||||
sta pil_smc3+2
|
||||
|
||||
; sta pil_smc4+2
|
||||
; eor #$60
|
||||
|
||||
sta pil_smc6+2
|
||||
; $4000
|
||||
eor #$60
|
||||
sta pil_smc5+2
|
||||
sta pil_smc7+2
|
||||
sta pil_smc8+2
|
||||
sta pil_smc9+2
|
||||
|
||||
; $2000
|
||||
lda hposn_low,X
|
||||
sta pil_smc1+1
|
||||
sta pil_smc2+1
|
||||
; sta pil_smc4+1
|
||||
sta pil_smc6+1
|
||||
sta pil_smc5+1
|
||||
sta pil_smc8+1
|
||||
|
||||
; $2000+1
|
||||
|
||||
sta pil_smc3+1
|
||||
inc pil_smc3+1
|
||||
sta pil_smc7+1
|
||||
inc pil_smc7+1
|
||||
sta pil_smc9+1
|
||||
inc pil_smc9+1
|
||||
|
||||
|
||||
; clc
|
||||
; adc COUNT
|
||||
; sta pil_smc3+1
|
||||
; sta pil_smc4+1
|
||||
stx XSAVE
|
||||
|
||||
|
||||
|
@ -41,7 +57,7 @@ pan_outer_loop:
|
|||
; updated: 34*39
|
||||
|
||||
pil_smc1:
|
||||
ldx $2000,Y ; 4+
|
||||
ldx $2000,Y ; ; 4+
|
||||
pan_inner_loop:
|
||||
|
||||
lda left_lookup_main,X ; 4+
|
||||
|
@ -61,25 +77,103 @@ pil_smc2:
|
|||
|
||||
; leftover
|
||||
|
||||
;pil_smc3:
|
||||
; lda $4000
|
||||
;pil_smc4:
|
||||
; sta $2000,Y
|
||||
; X has $2000,39
|
||||
lda left_lookup_main,X ; 4+
|
||||
sta TEMPY ; 3
|
||||
|
||||
pil_smc5:
|
||||
ldx $4000 ; 4+
|
||||
lda left_lookup_next,X ; 4+
|
||||
ora TEMPY ; 3
|
||||
|
||||
pil_smc6:
|
||||
sta $2000,Y ; 5
|
||||
|
||||
; X has $4000
|
||||
lda left_lookup_main,X ; 4+
|
||||
sta TEMPY ; 3
|
||||
|
||||
pil_smc7:
|
||||
ldx $4000+1 ; 4+
|
||||
lda left_lookup_next,X ; 4+
|
||||
ora TEMPY ; 3
|
||||
|
||||
pil_smc8:
|
||||
sta $4000 ; 5
|
||||
|
||||
lda left_lookup_main,X ; 4+
|
||||
pil_smc9:
|
||||
sta $4000+1 ; 5
|
||||
|
||||
; $2038 $2039 $4000 $4001
|
||||
;0 DCCBBAA GGFFEED KJJIIHH NNMMLLK
|
||||
;1 EDDCCBB HHGGFFE LKKJJII ~~NNMML
|
||||
;2 FEEDDCC IIHHGGF MLLKKJJ ~~~~NNM
|
||||
;3 GFFEEDD JJIIHHG NMMLLKK ~~~~~~N
|
||||
;4 HGGFFEE KKJJIIH ~NNMMLL ~~~~~~~
|
||||
;5 IHHGGFF LLKKJJI ~~~NNMM ~~~~~~~
|
||||
;6 JIIHHGG MMLLKKJ ~~~~~NN ~~~~~~~
|
||||
;7 KJJIIHH NNMMLLK ~~~~~~~ ~~~~~~~
|
||||
;8 RQQPPOO UUTTSSR
|
||||
|
||||
; every 8 clicks need to copy over two more columns
|
||||
|
||||
ldx XSAVE
|
||||
|
||||
dex
|
||||
cpx #$ff
|
||||
bne pan_outer_loop
|
||||
; bne pan_outer_loop
|
||||
beq done_pan_outer_loop
|
||||
jmp pan_outer_loop
|
||||
done_pan_outer_loop:
|
||||
|
||||
lda KEYPRESS
|
||||
bmi done_pan
|
||||
|
||||
; check if update
|
||||
; FIXME: use mod 7 table here
|
||||
inc TICKER
|
||||
lda TICKER
|
||||
cmp #7
|
||||
bne no_ticker
|
||||
|
||||
lda #0
|
||||
sta TICKER
|
||||
inc P2_OFFSET
|
||||
inc P2_OFFSET
|
||||
|
||||
ldx #0
|
||||
p2_loop:
|
||||
lda hposn_low,X
|
||||
sta GBASL
|
||||
lda hposn_high,X
|
||||
eor #$60
|
||||
sta GBASH
|
||||
|
||||
ldy P2_OFFSET
|
||||
lda (GBASL),Y
|
||||
pha
|
||||
iny
|
||||
lda (GBASL),Y
|
||||
ldy #1
|
||||
sta (GBASL),Y
|
||||
dey
|
||||
pla
|
||||
sta (GBASL),Y
|
||||
|
||||
inx
|
||||
cpx #192
|
||||
bne p2_loop
|
||||
|
||||
|
||||
no_ticker:
|
||||
inc COUNT
|
||||
lda COUNT
|
||||
cmp #139
|
||||
beq done_pan
|
||||
|
||||
bne pan_outer_outer_loop
|
||||
; bne pan_outer_outer_loop
|
||||
jmp pan_outer_outer_loop
|
||||
|
||||
done_pan:
|
||||
bit KEYRESET
|
||||
|
|
|
@ -143,6 +143,9 @@ intro_start:
|
|||
|
||||
jsr horiz_pan
|
||||
|
||||
lda #5
|
||||
jsr wait_seconds
|
||||
|
||||
|
||||
;============================
|
||||
; draw sprites
|
||||
|
|
|
@ -234,6 +234,10 @@ SCROLL_IN = $F3
|
|||
MEMCOUNT = $F4
|
||||
FAKE_KEY_COUNT = $F5
|
||||
|
||||
; OPENER
|
||||
TICKER = $F1
|
||||
P2_OFFSET = $F2
|
||||
|
||||
;==============================================
|
||||
; $FC-$FF we use for in/out pointers
|
||||
;==============================================
|
||||
|
|
Loading…
Reference in New Issue