mirror of
https://github.com/a2-4am/4cade.git
synced 2024-11-23 12:33:32 +00:00
shave some cycles
This commit is contained in:
parent
7cc576c8a0
commit
37d50064c6
@ -126,12 +126,23 @@ BoxesY = $BEB0 ; [$50 bytes][accessed via BoxesY-1][should
|
||||
;WRITEAUXMEM active
|
||||
jmp MainLoop
|
||||
|
||||
siderows !byte 1,5,9,13,17,21
|
||||
branches !byte across2-back
|
||||
!byte across3-back
|
||||
!byte across4-back
|
||||
!byte across5-back
|
||||
!byte across6-back
|
||||
!byte across7-back
|
||||
|
||||
start
|
||||
!pseudopc 0 {
|
||||
copy1 ldx <topx+1
|
||||
+SET_ROW_X
|
||||
ldy <lefty+1
|
||||
jsr across1
|
||||
+COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
+COPY_BYTE
|
||||
ReBox ldx #$00 ; [SMC] X = BoxLoop index 1..80
|
||||
NextBox dex
|
||||
bne BoxLoop
|
||||
@ -142,6 +153,7 @@ NextBox dex
|
||||
bpl MainLoop
|
||||
exit sta WRITEMAINMEM
|
||||
setV rts
|
||||
|
||||
MainLoop ldx #80
|
||||
BoxLoop ldy BoxStages-1, x ; for each box, get its current stage
|
||||
inc BoxStages-1, x ; increment every box's stage every time through the loop
|
||||
@ -160,20 +172,19 @@ stage ldx #$00 ; [SMC] X = stage index 1..7, reinitialized
|
||||
sta <lefty+1
|
||||
dex
|
||||
beq copy1
|
||||
lda <siderows-1, x
|
||||
lda siderows-1, x
|
||||
sta <rowcount
|
||||
lda <across_lo-1, x
|
||||
sta <j+1
|
||||
lda branches-1, x
|
||||
sta <branch+1
|
||||
topx ldx #$FD ; [SMC]
|
||||
clv
|
||||
copy2row clc
|
||||
!byte $A9
|
||||
copy1row sec
|
||||
+SET_ROW_X
|
||||
ldy <lefty+1
|
||||
j jsr across7 ; [SMC low byte]
|
||||
inx
|
||||
bcc copy1row
|
||||
+SET_ROW_X
|
||||
branch bne across7 ; [SMC branch target][always branches]
|
||||
back bcc copy1row
|
||||
bvs ReBox
|
||||
sty <righty+1
|
||||
copyside +SET_ROW_X
|
||||
@ -199,26 +210,19 @@ across3 +COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
across2 +COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
across1 +COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
+COPY_BYTE_AND_INY
|
||||
lda (src+1), y
|
||||
src sta $FDFD, y ; [SMC]
|
||||
rts
|
||||
inx
|
||||
bne back ; always branches
|
||||
|
||||
toprow !byte 12,10,8,6,4,2,0
|
||||
leftbyte !byte 6,5,4,3,2,1,0
|
||||
siderows !byte 1,5,9,13,17,21
|
||||
across_lo
|
||||
!byte <across2
|
||||
!byte <across3
|
||||
!byte <across4
|
||||
!byte <across5
|
||||
!byte <across6
|
||||
!byte <across7
|
||||
rowcount
|
||||
}
|
||||
!if (*-start>=$FF) {
|
||||
!if (*-start>$FF) {
|
||||
!error "Code is too big to fit on zero page! ", *-start
|
||||
}
|
||||
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10806970
|
||||
!be24 10807078
|
||||
!le16 4244
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10759850
|
||||
!be24 10759958
|
||||
!le16 5223
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10703061
|
||||
!be24 10703169
|
||||
!le16 3593
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10715438
|
||||
!be24 10715546
|
||||
!le16 3953
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10730844
|
||||
!be24 10730952
|
||||
!le16 4628
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10748126
|
||||
!be24 10748234
|
||||
!le16 5575
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10811214
|
||||
!be24 10811322
|
||||
!le16 410
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10811932
|
||||
!be24 10812040
|
||||
!le16 448
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10812380
|
||||
!be24 10812488
|
||||
!le16 303
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10767219
|
||||
!be24 10767327
|
||||
!le16 1242
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10805640
|
||||
!be24 10805748
|
||||
!le16 1249
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10791630
|
||||
!be24 10791738
|
||||
!le16 464
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10765073
|
||||
!be24 10765181
|
||||
!le16 2146
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10768692
|
||||
!be24 10768800
|
||||
!le16 6149
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10811624
|
||||
!be24 10811732
|
||||
!le16 107
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10806889
|
||||
!be24 10806997
|
||||
!le16 81
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10811731
|
||||
!be24 10811839
|
||||
!le16 201
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10792094
|
||||
!be24 10792202
|
||||
!le16 4407
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10796501
|
||||
!be24 10796609
|
||||
!le16 1533
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10798034
|
||||
!be24 10798142
|
||||
!le16 1040
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10799074
|
||||
!be24 10799182
|
||||
!le16 3237
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10802311
|
||||
!be24 10802419
|
||||
!le16 2764
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10805075
|
||||
!be24 10805183
|
||||
!le16 460
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10805535
|
||||
!be24 10805643
|
||||
!le16 105
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10812683
|
||||
!be24 10812791
|
||||
!le16 2370
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10779735
|
||||
!be24 10779843
|
||||
!le16 6149
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10753701
|
||||
!be24 10753809
|
||||
!le16 6149
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10695029
|
||||
!be24 10695137
|
||||
!le16 8032
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10706654
|
||||
!be24 10706762
|
||||
!le16 8784
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10719391
|
||||
!be24 10719499
|
||||
!le16 11453
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10735472
|
||||
!be24 10735580
|
||||
!le16 12654
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10768461
|
||||
!be24 10768569
|
||||
!le16 231
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10774841
|
||||
!be24 10774949
|
||||
!le16 4894
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 10785884
|
||||
!be24 10785992
|
||||
!le16 5746
|
||||
|
Loading…
Reference in New Issue
Block a user