shave some bytes

This commit is contained in:
4am 2021-06-18 22:06:12 -04:00
parent 3e261a01e6
commit 0150b09f75
7 changed files with 30 additions and 28 deletions

View File

@ -8,12 +8,11 @@
; all registers clobbered ; all registers clobbered
; all other flags clobbered ; all other flags clobbered
;------------------------------- ;-------------------------------
!zone { !macro IDDinkeyDOS {
IDDinkeyDOS
lda #$0B lda #$0B
ldx #$2B ldx #$2B
tay tay
jsr compare ; if T00,S0B,$2B == jsr compare ; if T00,S0B,$2B ==
!byte $29,$44,$49,$4E,$4B,$45,$59,$44,$4F,$53,$00 !byte $29,$44,$49,$4E,$4B,$45,$59,$44,$4F,$53,$00
rts ; passport-test-suite/Ultima V.woz [C=0] matches ; passport-test-suite/Ultima V.woz [C=0] matches
} }

View File

@ -236,7 +236,8 @@ IDBootloader
; detectable now because IDVolumeName just read the first sector of the ; detectable now because IDVolumeName just read the first sector of the
; volume directory into memory so we can look for a unique filename ; volume directory into memory so we can look for a unique filename
; ;
+ jsr IDDinkeyDOS +
+IDDinkeyDOS
bcs + bcs +
lda #$0B lda #$0B
sta gDisplayBytes sta gDisplayBytes
@ -247,7 +248,8 @@ IDBootloader
; ;
; Apple Pascal (all versions) ; Apple Pascal (all versions)
; ;
+ jsr IDPascal +
+IDPascal
bcs + bcs +
jsr PrintByID jsr PrintByID
!byte s_pascalb0 !byte s_pascalb0
@ -277,7 +279,8 @@ IDBootloader
; ;
; TSR bootloader ; TSR bootloader
; ;
+ jsr IDTSR +
+IDTSR
bcs + bcs +
jsr PrintByID jsr PrintByID
!byte s_tsr !byte s_tsr
@ -287,7 +290,8 @@ IDBootloader
; Micrograms bootloader ; Micrograms bootloader
; (just for display) ; (just for display)
; ;
+ jsr IDMicrograms +
+IDMicrograms
bcs + bcs +
jsr PrintByID jsr PrintByID
!byte s_micrograms !byte s_micrograms
@ -295,7 +299,8 @@ IDBootloader
; Quick-DOS ; Quick-DOS
; (just for display) ; (just for display)
; ;
+ jsr IDQuickDOS +
+IDQuickDOS
bcs + bcs +
jsr PrintByID jsr PrintByID
!byte s_quickdos !byte s_quickdos
@ -303,7 +308,8 @@ IDBootloader
; RDOS ; RDOS
; (just for display) ; (just for display)
; ;
+ jsr IDRDOS +
+IDRDOS
bcs + bcs +
jsr PrintByID jsr PrintByID
!byte s_rdos !byte s_rdos

View File

@ -8,8 +8,7 @@
; all other flags clobbered ; all other flags clobbered
; all registers clobbered ; all registers clobbered
;------------------------------- ;-------------------------------
!zone { !macro IDMicrograms {
IDMicrograms
lda #$00 lda #$00
ldx #$01 ldx #$01
ldy #$0A ldy #$0A
@ -19,10 +18,10 @@ IDMicrograms
!byte $D0,$12 !byte $D0,$12
!byte $A9,$C6 !byte $A9,$C6
!byte $85,$3F !byte $85,$3F
bcs .exit ; passport-test-suite/Shapes and Patterns.woz [C=0] matches bcs @notMicrograms ; passport-test-suite/Shapes and Patterns.woz [C=0] matches
ldx #$42 ldx #$42
ldy #$02 ldy #$02
jsr compare jsr compare
!byte $4C,$00 !byte $4C,$00
.exit rts @notMicrograms
} }

View File

@ -9,8 +9,7 @@
; all registers clobbered ; all registers clobbered
; all other flags clobbered ; all other flags clobbered
;------------------------------- ;-------------------------------
!zone { !macro IDPascal {
IDPascal
; ;
; Apple Pascal signature (version < 1.3) ; Apple Pascal signature (version < 1.3)
; The wildcard in 7th position catches alternate jump ; The wildcard in 7th position catches alternate jump
@ -24,16 +23,16 @@ IDPascal
!byte $E0,$60 !byte $E0,$60
!byte $F0,$03 !byte $F0,$03
!byte $4C,WILDCARD,$08 !byte $4C,WILDCARD,$08
bcc .exit ; passport-test-suite/Wizplus.woz [C=0] matches bcc @notPascal ; passport-test-suite/Wizplus.woz [C=0] matches
; ;
; Apple Pascal 1.3 signature [thanks Marco V.] ; Apple Pascal 1.3 signature [thanks Marco V.]
; ;
ldy #$08 ; passport-test-suite/Triangles Through Octagons.woz [C=1] reaches here ; passport-test-suite/Triangles Through Octagons.woz [C=1] reaches here
jsr compare ; or if T00,S00,$00 == jsr compare ; or if T00,S00,$00 ==
!byte $01 !byte $01
!byte $E0,$70 !byte $E0,$70
!byte $B0,$04 !byte $B0,$04
!byte $E0,$40 !byte $E0,$40
!byte $B0 !byte $B0
.exit rts ; passport-test-suite/Triangles Through Octagons.woz [C=0] matches @notPascal ; passport-test-suite/Triangles Through Octagons.woz [C=0] matches
} }

View File

@ -9,8 +9,7 @@
; all registers clobbered ; all registers clobbered
; all other flags clobbered ; all other flags clobbered
;------------------------------- ;-------------------------------
!zone { !macro IDQuickDOS {
IDQuickDOS
lda #$00 lda #$00
ldx #$01 ldx #$01
ldy #$0A ldy #$0A
@ -20,5 +19,5 @@ IDQuickDOS
!byte $D0,$27 ; BNE +$27 !byte $D0,$27 ; BNE +$27
!byte $78 ; SEI !byte $78 ; SEI
!byte $AD,$83,$C0; LDA $C083 !byte $AD,$83,$C0; LDA $C083
rts ; passport-test-suite/Kid Niki.woz [C=0] matches ; passport-test-suite/Kid Niki.woz [C=0] matches
} }

View File

@ -9,8 +9,7 @@
; all registers clobbered ; all registers clobbered
; all other flags clobbered ; all other flags clobbered
;------------------------------- ;-------------------------------
!zone { !macro IDRDOS {
IDRDOS
lda #$00 lda #$00
tax tax
ldy #$0E ldy #$0E
@ -22,5 +21,5 @@ IDRDOS
!byte $A0,$1F ; LDY #$1F !byte $A0,$1F ; LDY #$1F
!byte $B9,$00,$08; LDA $0800,Y !byte $B9,$00,$08; LDA $0800,Y
!byte $49 ; EOR !byte $49 ; EOR
rts ; passport-test-suite/Roadwar 2000.woz [C=0] matches ; passport-test-suite/Roadwar 2000.woz [C=0] matches
} }

View File

@ -13,20 +13,21 @@
; - Dungeon ; - Dungeon
; - Theseus and the Minotaur ; - Theseus and the Minotaur
;------------------------------- ;-------------------------------
IDTSR !macro IDTSR {
lda #$00 lda #$00
ldx #$FE ldx #$FE
ldy #$02 ldy #$02
jsr compare jsr compare
!byte $B0,$0F !byte $B0,$0F
bcs + bcs @notTSR
ldx #$1C ldx #$1C
ldy #$03 ldy #$03
jsr compare jsr compare
!byte $20,$B3,$08 !byte $20,$B3,$08
bcs + bcs @notTSR
ldx #$01 ldx #$01
ldy #$04 ldy #$04
jsr compare jsr compare
!byte $A5,$27,$C9,$09 !byte $A5,$27,$C9,$09
+ rts ; passport-test-suite/Dawn Patrol.woz [C=0] matches @notTSR ; passport-test-suite/Dawn Patrol.woz [C=0] matches
}