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 other flags clobbered
;-------------------------------
!zone {
IDDinkeyDOS
!macro IDDinkeyDOS {
lda #$0B
ldx #$2B
tay
jsr compare ; if T00,S0B,$2B ==
!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
; volume directory into memory so we can look for a unique filename
;
+ jsr IDDinkeyDOS
+
+IDDinkeyDOS
bcs +
lda #$0B
sta gDisplayBytes
@ -247,7 +248,8 @@ IDBootloader
;
; Apple Pascal (all versions)
;
+ jsr IDPascal
+
+IDPascal
bcs +
jsr PrintByID
!byte s_pascalb0
@ -277,7 +279,8 @@ IDBootloader
;
; TSR bootloader
;
+ jsr IDTSR
+
+IDTSR
bcs +
jsr PrintByID
!byte s_tsr
@ -287,7 +290,8 @@ IDBootloader
; Micrograms bootloader
; (just for display)
;
+ jsr IDMicrograms
+
+IDMicrograms
bcs +
jsr PrintByID
!byte s_micrograms
@ -295,7 +299,8 @@ IDBootloader
; Quick-DOS
; (just for display)
;
+ jsr IDQuickDOS
+
+IDQuickDOS
bcs +
jsr PrintByID
!byte s_quickdos
@ -303,7 +308,8 @@ IDBootloader
; RDOS
; (just for display)
;
+ jsr IDRDOS
+
+IDRDOS
bcs +
jsr PrintByID
!byte s_rdos

View File

@ -8,8 +8,7 @@
; all other flags clobbered
; all registers clobbered
;-------------------------------
!zone {
IDMicrograms
!macro IDMicrograms {
lda #$00
ldx #$01
ldy #$0A
@ -19,10 +18,10 @@ IDMicrograms
!byte $D0,$12
!byte $A9,$C6
!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
ldy #$02
jsr compare
!byte $4C,$00
.exit rts
@notMicrograms
}

View File

@ -9,8 +9,7 @@
; all registers clobbered
; all other flags clobbered
;-------------------------------
!zone {
IDPascal
!macro IDPascal {
;
; Apple Pascal signature (version < 1.3)
; The wildcard in 7th position catches alternate jump
@ -24,16 +23,16 @@ IDPascal
!byte $E0,$60
!byte $F0,$03
!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.]
;
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 ==
!byte $01
!byte $E0,$70
!byte $B0,$04
!byte $E0,$40
!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 other flags clobbered
;-------------------------------
!zone {
IDQuickDOS
!macro IDQuickDOS {
lda #$00
ldx #$01
ldy #$0A
@ -20,5 +19,5 @@ IDQuickDOS
!byte $D0,$27 ; BNE +$27
!byte $78 ; SEI
!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 other flags clobbered
;-------------------------------
!zone {
IDRDOS
!macro IDRDOS {
lda #$00
tax
ldy #$0E
@ -22,5 +21,5 @@ IDRDOS
!byte $A0,$1F ; LDY #$1F
!byte $B9,$00,$08; LDA $0800,Y
!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
; - Theseus and the Minotaur
;-------------------------------
IDTSR
!macro IDTSR {
lda #$00
ldx #$FE
ldy #$02
jsr compare
!byte $B0,$0F
bcs +
bcs @notTSR
ldx #$1C
ldy #$03
jsr compare
!byte $20,$B3,$08
bcs +
bcs @notTSR
ldx #$01
ldy #$04
jsr compare
!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
}