mirror of
https://github.com/a2-4am/passport.git
synced 2025-01-02 17:30:53 +00:00
split and shrink tables
This commit is contained in:
parent
6ceb65808d
commit
870666d15f
@ -16,17 +16,21 @@
|
|||||||
cmp #ID_MECC4+1
|
cmp #ID_MECC4+1
|
||||||
bcs .jmpexit
|
bcs .jmpexit
|
||||||
asl
|
asl
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
adc gMECCFastloadType
|
||||||
adc gMECCFastloadType
|
adc gMECCFastloadType
|
||||||
ldx #6
|
ldx #6
|
||||||
- pha
|
- pha
|
||||||
tay
|
tay
|
||||||
txa
|
txa
|
||||||
pha
|
pha
|
||||||
lda .table+2,y
|
lda .table+2-18,y
|
||||||
sta .cmpbyte
|
sta .cmpbyte
|
||||||
sta .modbyte
|
sta .modbyte
|
||||||
lda .table,y
|
lda .table-18,y
|
||||||
ldx .table+1,y
|
ldx .table+1-18,y
|
||||||
ldy #$01
|
ldy #$01
|
||||||
jsr compare
|
jsr compare
|
||||||
.cmpbyte
|
.cmpbyte
|
||||||
@ -45,6 +49,7 @@
|
|||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
|
tya
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
|
@ -4,14 +4,60 @@
|
|||||||
|
|
||||||
!zone {
|
!zone {
|
||||||
bit gMode ; nothing to do here in verify-only mode
|
bit gMode ; nothing to do here in verify-only mode
|
||||||
bpl .jmpexit1
|
bpl .jmpexit
|
||||||
ldy gIsRWTS ; DOS 3.3-shaped RWTSen only
|
ldy gIsRWTS ; DOS 3.3-shaped RWTSen only
|
||||||
beq .initmatch
|
beq .initmatch1
|
||||||
|
|
||||||
.jmpexit1
|
.jmpexit
|
||||||
jmp .exit
|
jmp .exit
|
||||||
|
|
||||||
.initmatch
|
; address prologue (read)
|
||||||
|
; A,X
|
||||||
|
|
||||||
|
.table1
|
||||||
|
!byte $03,$4F
|
||||||
|
!byte $03,$59
|
||||||
|
!byte $03,$64
|
||||||
|
!byte $03,$8B
|
||||||
|
!byte $03,$95
|
||||||
|
!byte $02,$E1
|
||||||
|
!byte $02,$EB
|
||||||
|
!byte $02,$F6
|
||||||
|
!byte $03,$2F
|
||||||
|
!byte $03,$39
|
||||||
|
.table1_e
|
||||||
|
|
||||||
|
; Y, compare bytes (nop-pad to four bytes)
|
||||||
|
|
||||||
|
.table2
|
||||||
|
!byte $03,$D0,$F0,$EA,$EA
|
||||||
|
!byte $04,$D0,$F2,$A0,$03
|
||||||
|
!byte $02,$D0,$E7,$EA,$EA
|
||||||
|
!byte $02,$D0,$AE,$EA,$EA
|
||||||
|
!byte $03,$D0,$A4,$18,$EA
|
||||||
|
!byte $03,$D0,$F4,$EA,$EA
|
||||||
|
!byte $04,$D0,$F2,$A0,$56
|
||||||
|
!byte $02,$D0,$E7,$EA,$EA
|
||||||
|
!byte $03,$D0,$0A,$EA,$EA
|
||||||
|
!byte $03,$F0,$5C,$38,$EA
|
||||||
|
.table2_e
|
||||||
|
|
||||||
|
; compare/modify byte
|
||||||
|
|
||||||
|
.table3
|
||||||
|
!byte $D5
|
||||||
|
!byte $AA
|
||||||
|
!byte $96
|
||||||
|
!byte $DE
|
||||||
|
!byte $AA
|
||||||
|
!byte $D5
|
||||||
|
!byte $AA
|
||||||
|
!byte $AD
|
||||||
|
!byte $DE
|
||||||
|
!byte $AA
|
||||||
|
.table3_e
|
||||||
|
|
||||||
|
.initmatch1
|
||||||
sty .findmatch1+1
|
sty .findmatch1+1
|
||||||
|
|
||||||
.findmatch1
|
.findmatch1
|
||||||
@ -32,20 +78,25 @@
|
|||||||
!byte $D1 ; SMC
|
!byte $D1 ; SMC
|
||||||
bcs +
|
bcs +
|
||||||
|
|
||||||
|
pha
|
||||||
|
txa
|
||||||
|
adc #7
|
||||||
pha
|
pha
|
||||||
lda .findmatch1+1
|
lda .findmatch1+1
|
||||||
asl
|
lsr
|
||||||
|
adc .findmatch1+1
|
||||||
adc .findmatch1+1
|
adc .findmatch1+1
|
||||||
adc #4
|
adc #4
|
||||||
tay
|
tay
|
||||||
ldx #$04
|
ldx #$04
|
||||||
- lda .table2+2-1,y
|
- lda .table2+1-1,y
|
||||||
sta .cmpbytes2-1,x
|
sta .cmpbytes2-1,x
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
ldx .table2,y
|
pla
|
||||||
lda .table2+1,y
|
tax
|
||||||
|
lda .table2,y
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
jsr compare
|
jsr compare
|
||||||
@ -53,11 +104,15 @@
|
|||||||
!byte $EA,$EA,$EA,$EA
|
!byte $EA,$EA,$EA,$EA
|
||||||
bcs +
|
bcs +
|
||||||
|
|
||||||
ldy .findmatch1+1
|
pha
|
||||||
ldx .table3+1,y
|
lda .findmatch1+1
|
||||||
stx .cmpbyte3
|
lsr
|
||||||
stx .modify3
|
tay
|
||||||
ldx .table3,y
|
lda .table3,y
|
||||||
|
sta .cmpbyte3
|
||||||
|
sta .modify3
|
||||||
|
pla
|
||||||
|
dex
|
||||||
ldy #1
|
ldy #1
|
||||||
jsr compare
|
jsr compare
|
||||||
.cmpbyte3 ; SMC
|
.cmpbyte3 ; SMC
|
||||||
@ -70,6 +125,18 @@
|
|||||||
!byte $D1
|
!byte $D1
|
||||||
|
|
||||||
+ ldy .findmatch1+1
|
+ ldy .findmatch1+1
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
cpy #.table1_e-.table1
|
||||||
|
bne .initmatch1
|
||||||
|
|
||||||
|
ldy #$00
|
||||||
|
|
||||||
|
.initmatch2
|
||||||
|
sty .findmatch4+1
|
||||||
|
|
||||||
|
.findmatch4
|
||||||
|
ldy #$D1 ; SMC
|
||||||
lda .table4,y
|
lda .table4,y
|
||||||
ldx .table4+1,y
|
ldx .table4+1,y
|
||||||
ldy #1
|
ldy #1
|
||||||
@ -77,25 +144,30 @@
|
|||||||
!byte $A9
|
!byte $A9
|
||||||
bcs +
|
bcs +
|
||||||
|
|
||||||
+ ldy .findmatch1+1
|
pha
|
||||||
ldx .table5+1,y
|
lda .findmatch4+1
|
||||||
stx .cmpbyte5+1
|
lsr
|
||||||
ldx .table5,y
|
tay
|
||||||
|
lda .table5,y
|
||||||
|
sta .cmpbyte5+1
|
||||||
|
pla
|
||||||
|
inx
|
||||||
|
inx
|
||||||
ldy #2
|
ldy #2
|
||||||
jsr compare
|
jsr compare
|
||||||
.cmpbyte5
|
.cmpbyte5
|
||||||
!byte $20,$D1 ; SMC
|
!byte $20,$D1 ; SMC
|
||||||
|
|
||||||
bcs +
|
bcs +
|
||||||
dex
|
|
||||||
pha
|
pha
|
||||||
lda .findmatch1+1
|
lda .findmatch4+1
|
||||||
lsr
|
lsr
|
||||||
tay
|
tay
|
||||||
lda .table6,y
|
lda .table6,y
|
||||||
sta .cmpbyte6
|
sta .cmpbyte6
|
||||||
sta .modify6
|
sta .modify6
|
||||||
pla
|
pla
|
||||||
|
dex
|
||||||
ldy #1
|
ldy #1
|
||||||
jsr compare
|
jsr compare
|
||||||
.cmpbyte6
|
.cmpbyte6
|
||||||
@ -107,61 +179,12 @@
|
|||||||
.modify6
|
.modify6
|
||||||
!byte $D1 ; SMC
|
!byte $D1 ; SMC
|
||||||
|
|
||||||
+ ldy .findmatch1+1
|
+ ldy .findmatch4+1
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
cpy #.table1_e-.table1
|
cpy #.table4_e-.table4
|
||||||
beq .jmpexit2
|
bne .initmatch2
|
||||||
jmp .initmatch
|
beq .exit
|
||||||
|
|
||||||
.jmpexit2
|
|
||||||
jmp .exit
|
|
||||||
|
|
||||||
; address prologue (read)
|
|
||||||
; A,X
|
|
||||||
|
|
||||||
.table1
|
|
||||||
!byte $03,$4F
|
|
||||||
!byte $03,$59
|
|
||||||
!byte $03,$64
|
|
||||||
!byte $03,$8B
|
|
||||||
!byte $03,$95
|
|
||||||
!byte $02,$E1
|
|
||||||
!byte $02,$EB
|
|
||||||
!byte $02,$F6
|
|
||||||
!byte $03,$2F
|
|
||||||
!byte $03,$39
|
|
||||||
.table1_e
|
|
||||||
|
|
||||||
; X,Y, compare bytes (nop-pad to four bytes)
|
|
||||||
|
|
||||||
.table2
|
|
||||||
!byte $56,$03,$D0,$F0,$EA,$EA
|
|
||||||
!byte $60,$04,$D0,$F2,$A0,$03
|
|
||||||
!byte $6B,$02,$D0,$E7,$EA,$EA
|
|
||||||
!byte $92,$02,$D0,$AE,$EA,$EA
|
|
||||||
!byte $9C,$03,$D0,$A4,$18,$EA
|
|
||||||
!byte $E8,$03,$D0,$F4,$EA,$EA
|
|
||||||
!byte $F2,$04,$D0,$F2,$A0,$56
|
|
||||||
!byte $FD,$02,$D0,$E7,$EA,$EA
|
|
||||||
!byte $36,$03,$D0,$0A,$EA,$EA
|
|
||||||
!byte $40,$03,$F0,$5C,$38,$EA
|
|
||||||
.table2_e
|
|
||||||
|
|
||||||
; X, compare byte
|
|
||||||
|
|
||||||
.table3
|
|
||||||
!byte $55,$D5
|
|
||||||
!byte $5F,$AA
|
|
||||||
!byte $6A,$96
|
|
||||||
!byte $91,$DE
|
|
||||||
!byte $9B,$AA
|
|
||||||
!byte $E7,$D5
|
|
||||||
!byte $F1,$AA
|
|
||||||
!byte $FC,$AD
|
|
||||||
!byte $35,$DE
|
|
||||||
!byte $3F,$AA
|
|
||||||
.table3_e
|
|
||||||
|
|
||||||
; address prologue (write)
|
; address prologue (write)
|
||||||
; A,X
|
; A,X
|
||||||
@ -182,22 +205,22 @@
|
|||||||
!byte $02,$AC
|
!byte $02,$AC
|
||||||
.table4_e
|
.table4_e
|
||||||
|
|
||||||
; X, compare byte
|
; compare byte
|
||||||
|
|
||||||
.table5
|
.table5
|
||||||
!byte $7B,$D5
|
!byte $D5
|
||||||
!byte $80,$D5
|
!byte $D5
|
||||||
!byte $85,$D5
|
!byte $D5
|
||||||
!byte $AF,$D5
|
!byte $D5
|
||||||
!byte $B4,$D5
|
!byte $D5
|
||||||
!byte $B9,$D5
|
!byte $D5
|
||||||
!byte $54,$B8
|
!byte $B8
|
||||||
!byte $59,$B8
|
!byte $B8
|
||||||
!byte $5E,$B8
|
!byte $B8
|
||||||
!byte $9F,$B8
|
!byte $B8
|
||||||
!byte $A4,$B8
|
!byte $B8
|
||||||
!byte $A9,$B8
|
!byte $B8
|
||||||
!byte $AE,$B8
|
!byte $B8
|
||||||
.table5_e
|
.table5_e
|
||||||
|
|
||||||
; modify byte
|
; modify byte
|
||||||
|
Loading…
Reference in New Issue
Block a user