mirror of
https://github.com/a2-4am/passport.git
synced 2024-08-20 14:29:16 +00:00
shave some bytes
This commit is contained in:
parent
3e261a01e6
commit
0150b09f75
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user