passport/src/patchers/memory.config.a
2019-06-17 11:45:57 -04:00

41 lines
1.6 KiB
Plaintext

;-------------------------------
; #MEMORYCONFIG
; modified ProDOS launches MEMORY.CONFIG
; as startup program, which executes a
; protection check before launching the
; real startup program
;
; tested on
; Rosie the Counting Rabbit (1987, DC Heath)
; What Makes A Dinosaur Sore (1987, DC Heath)
; Squeegee Learns About Drugs (1989, Marshware)
; Where Did My Toothbruth Go (1988, DC Heath)
; The Weather Machine (1988, National Geographic Society)
; The Botanist's Apprentice: Desert, Forest, and Wetland (1989, National Geographic Society)
; The Botanist's Apprentice: Farmland, Grassland, and Town (1989, National Geographic Society)
; Journey to the Age of the Dinosaurs: Europe and Asia (1990, National Geographic Society)
; Journey to the Age of the Dinosaurs: North America (1990, National Geographic Society)
; GeoWhiz (1990, Silver Burdett and Ginn)
;-------------------------------
!zone {
bit gMode ; nothing to do here in verify-only mode
bpl .exit
lda gIsProDOS ; only if ProDOS
bne .exit
ldy #$0C
jsr SearchTrack
!byte $AE,$C3,$CF,$CE,$C6,$C9,$C7 ; ".CONFIG"
!byte $8D,$08,$C0 ; STA $C008
!byte $B5,$42 ; LDA $42,X
bcs .exit ; passport-test-suite/Rosie the Counting Rabbit.woz [C=0] matches
sta gDisplayBytes
lda #s_runhello
jsr PrintByID
lda gDisplayBytes
inx
ldy #$06
jsr modify
!byte $D3,$D9,$D3,$D4,$C5,$CD ; "SYSTEM" instead of "CONFIG"
.exit
}