diff --git a/src/id/advent.a b/src/id/advent.a index a1894b5..e44b8f0 100644 --- a/src/id/advent.a +++ b/src/id/advent.a @@ -9,6 +9,11 @@ ; all registers clobbered ; ; module by qkumba +; +; tested on +; - Borrowed Time +; - Mindshadow +; - The Tracer Sanction ;------------------------------- IDAdvent lda #BASEPAGE diff --git a/src/id/dinkeydos.a b/src/id/dinkeydos.a index bf1eba5..1084a59 100644 --- a/src/id/dinkeydos.a +++ b/src/id/dinkeydos.a @@ -15,5 +15,6 @@ IDDinkeyDOS ldy #$0B jsr compare ; if T00,S0B,$2B == !byte $29,$44,$49,$4E,$4B,$45,$59,$44,$4F,$53,$00 + ; passport-test-suite/Ultima V.woz [C=0] matches rts } diff --git a/src/id/diversidos.a b/src/id/diversidos.a index 50d9e29..cf86ff2 100644 --- a/src/id/diversidos.a +++ b/src/id/diversidos.a @@ -17,5 +17,6 @@ IDDiversi ldy #$0B jsr compare ; if T00,S00,$F1 == !byte $B3,$A3,$A0,$D2,$CF,$D2,$D2,$C5,$8D,$87,$8D + ; passport-test-suite/Moon Bingo.woz [C=0] matches rts } diff --git a/src/id/dos33.a b/src/id/dos33.a index f645d90..83fde89 100755 --- a/src/id/dos33.a +++ b/src/id/dos33.a @@ -21,12 +21,15 @@ IDDOS33 ; lda $08FE cmp #$B6 + ; passport-test-suite/Binomial Multiplication.woz [Z=1] here, loads at $B600 beq ++ cmp #$37 + ; passport-test-suite/Beach-Head.woz [C=0] here, loads at $3F00 bcc + - sec rts + cmp #$20 + ; passport-test-suite/Alf.woz [C=0] here, loads at $1300 bcc - ; ; Code at $0801 must be standard (with one exception) @@ -66,14 +69,12 @@ IDDOS33 !byte $6C,$3E,$00 !byte $EE,$FE,$08 !byte $EE,$FE,$08 + ; passport-test-suite/Binomial Multiplication.woz [C=0] matches bcc + jmp .exit + ; ; DOS 3.3 has JSR $FE89 / JSR $FE93 / JSR $FB2F -; some Sierra have STA $C050 / STA $C057 / STA $C055 instead -; with the unpleasant side-effect of showing text-mode garbage -; if mixed-mode was enabled at the time ; lda #$00 ldx #$3F @@ -83,7 +84,11 @@ IDDOS33 !byte $20,$93,$FE !byte $20,$2F,$FB !byte $A6,$2B + ; passport-test-suite/Binomial Multiplication.woz [C=0] matches bcc + +; +; some Sierra have STA $C050 / STA $C057 / STA $C055 instead +; lda #$00 ldx #$3F ldy #$0B @@ -92,6 +97,8 @@ IDDOS33 !byte $8D,$57,$C0 !byte $8D,$55,$C0 !byte $A6,$2B + bcs .exit + ; passport-test-suite/Leisure Suit Larry.woz [C=0] matches + ; @@ -103,7 +110,9 @@ IDDOS33 jsr compare ; if T00,S00,$4D == !byte $00,$0D,$0B,$09,$07,$05,$03,$01 !byte WILDCARD,$0C,$0A,$08,$06,$04,$02,$0F + ; passport-test-suite/Pitfall II.woz [C=1] because of non-standard sector map bcs .exit + ; ; Check for MUSE sector order map ; @@ -113,6 +122,7 @@ IDDOS33 jsr compare ; if T00,S00,$55 == !byte $02 bcs + + ; passport-test-suite/The Function Game.woz [C=0] matches lda #TRUE sta gIsMUSERWTS lda #$0E @@ -122,15 +132,15 @@ IDDOS33 sta T00S0F + ; -; Minor variant (e.g. Terrapin Logo 3.0) jumps to $08F0 and back -; but is still safe to trace. Check for this jump and match -; the code at $08F0 exactly. +; Minor variant jumps to $08F0 and back but is still safe to trace. +; Check for this jump and match the code at $08F0 exactly. ; lda #$00 ldx #$1C ldy #$03 jsr compare ; if T00,S00,$1C == !byte $8D,$FE,$08 + ; passport-test-suite/Binomial Multiplication.woz [C=0] matches bcc .exit ; standard code at $081C -> success lda #$00 @@ -147,6 +157,7 @@ IDDOS33 !byte $8D,$FE,$08 !byte $EE,$F3,$03 !byte $4C,$1F,$08 + ; passport-test-suite/Library Magic.woz [C=0] matches acceptable code at $08F0 ; bcs .exit ; unknown code at $08F0 -> failure .exit