passport/src/patchers/t00_sunburst.a
2021-06-21 11:57:02 -04:00

115 lines
3.2 KiB
Plaintext
Executable File

;-------------------------------
; #SUNBURST
; RWTS with track-based address
; and data prologue modifications
;
; NOTE: must be run before RWTS
; patchers due to overlapping bytes
;
; tested on
; - Blockers and Finders (1987)
; - Challenge Math (1983)
; - Exploring Science: Temperature (1988)
; - FOR Your NEXT Adventure (1985)
; - Gears (1985)
; - Get to the Point (1985)
; - Getting Ready to Read and Add (1984)
; - Gnee or Not Gnee (1986)
; - Green Globs and Graphing Equations.woz (1986)
; - High Wire Logic (1985)
; - How The West Was One + Three x Four (1987)
; - Interpreting Graphs (1986)
; - M-ss-ng L-nks (series) (1984-7)
; - Memory Castle (1983)
; - Muppet Discovery Disk (1984)
; - Muppets on Stage (1984)
; - Newbery Winners: A Wrinkle in Time (1982)
; - Newbery Winners: Bridge to Terabithia (1982)
; - Newbery Winners: Sounder (1982)
; - Newbery Winners: The Westing Game (1982)
; - Number Quest (1984)
; - Odd One Out (1986) [1989 re-release is covered elsewhere]
; - Pick The Part (1983)
; - Power Drill (1984)
; - Punctuation Put-on (1985)
; - Puzzle Tanks (1984)
; - Safari Search: Problem Solving and Inference (1985)
; - Sir Isaac Newton's Games (1985)
; - Solving Equations & Inequalities v2 (1983)
; - Spectrum (1984)
; - Survival Math (1982)
; - Targets: A Numbers Games (1985)
; - Teasers by Tobbs (1982)
; - Ten Clues (1986)
; - The Factory (1983, 1985)
; - The Geometric Supposer: Quadrilaterals (1985)
; - The Geometric Supposer: Triangles (1985)
; - The Incredible Laboratory (1984)
; - The King's Rule (1984)
; - The Pond (1984)
; - The Puzzler (1984)
; - The Semantic Calculator (1983)
; - The Trading Post (1985)
; - Tip 'N Flip (1985)
; - Tobbs Learns Algebra (1983)
; - Wally's Word Works (1985)
; - Word Detective (1986)
; - Word Quest (1985)
;-------------------------------
!zone {
; gTrack = 0
; Caller found DOS 3.3 RWTS
lda #$03
ldx #$40
jsr compare1 ; if T00,S03,$40 ==
!byte $D0
bcs .exit
ldx #$9C
jsr compare1 ; and T00,S03,$9C ==
!byte $F0
bcs .exit
lda #$04
ldx #$69
tay
jsr compare ; and T00,S04,$69 ==
!byte $48
!byte $A5,$2A
!byte $4A
bcs .exit
lda #$06
tay
jsr compare ; and T00,S06,$69 ==
!byte $4C,$B8,$B6
!byte $EA
!byte $EA
!byte $EA
bcs .exit
lda #$08
ldx #$8C
jsr compare2 ; and T00,S08,$8C ==
!byte $69,$BA
bcc .yes ; passport-test-suite/Green Globs and Graphing Equations.woz [C=0] matches
.exit
bcs .exit2
.yes
lda #$03
ldx #$40
jsr modify1 ; then set T00,S03,$40 =
!byte $F0
ldx #$9C
jsr modify1 ; and set T00,S03,$9C =
!byte $D0
lda #$06
ldx #$69
tay
jsr modify ; and set T00,S06,$69 =
!byte $20,$C3,$BC
!byte $20,$C3,$BC
lda #$08
ldx #$8C
jsr modify2 ; and set T00,S08,$8C =
!byte $A0,$B9
.exit2
}