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