support Borrowed Time and switch to Cadius

This commit is contained in:
Peter Ferrie 2018-05-26 10:54:48 -07:00
parent 2faeebc38f
commit df4343cdea
9 changed files with 45 additions and 18 deletions

1
res/_FileInformation.txt Normal file
View File

@ -0,0 +1 @@
PASSPORT.SYSTEM=Type(FF),AuxType(2000),Access(C3)

View File

@ -49,6 +49,10 @@
; compile-time flag, no way to change at runtime ; compile-time flag, no way to change at runtime
FIRSTFILTER FIRSTFILTER
;gIsAdvent
!byte FALSE ; 0=true, 1=false
; reset before each operation
; set in IDBootloader() after reading T00,S00
;gForceDiskVol ;gForceDiskVol
!byte FALSE ; 0=true, 1=false !byte FALSE ; 0=true, 1=false
; reset before each operation ; reset before each operation

View File

@ -87,9 +87,10 @@ gIsF7F6 = gIsSierra13-$01 ; byte
gIsTrillium = gIsF7F6-$01 ; byte gIsTrillium = gIsF7F6-$01 ; byte
gPolarwareTamperCheck = gIsTrillium-$01 ; byte gPolarwareTamperCheck = gIsTrillium-$01 ; byte
gForceDiskVol = gPolarwareTamperCheck-$01 ; byte gForceDiskVol = gPolarwareTamperCheck-$01 ; byte
gIsAdvent = gForceDiskVol-$01 ; byte
;LASTFILTER ; add new gIs* above this line ;LASTFILTER ; add new gIs* above this line
gOnAClearDayYouCanReadForever = gForceDiskVol-$01 ; byte gOnAClearDayYouCanReadForever = gIsAdvent-$01 ; byte
gUsingRAMDisk = gOnAClearDayYouCanReadForever-$01 ; byte gUsingRAMDisk = gOnAClearDayYouCanReadForever-$01 ; byte
gRAMDiskRef = gUsingRAMDisk-$01 ; byte gRAMDiskRef = gUsingRAMDisk-$01 ; byte
gDisplayBytes = gRAMDiskRef-$0A ; 10 bytes gDisplayBytes = gRAMDiskRef-$0A ; 10 bytes
@ -156,6 +157,7 @@ ConstructStandardDelivery = jConstructStandardDelivery
!warn "gPolarwareTamperCheck=",gPolarwareTamperCheck !warn "gPolarwareTamperCheck=",gPolarwareTamperCheck
!warn "gForceDiskVol=",gIsForceDiskVol !warn "gForceDiskVol=",gIsForceDiskVol
!warn "gOnAClearDayYouCanReadForever=",gOnAClearDayYouCanReadForever !warn "gOnAClearDayYouCanReadForever=",gOnAClearDayYouCanReadForever
!warn "gIsAdvent=",gIsAdvent
!warn "gUsingRAMDisk=",gUsingRAMDisk !warn "gUsingRAMDisk=",gUsingRAMDisk
!warn "gRAMDiskRef=",gRAMDiskRef !warn "gRAMDiskRef=",gRAMDiskRef
!warn "gDisplayBytes=",gDisplayBytes !warn "gDisplayBytes=",gDisplayBytes

View File

@ -48,6 +48,14 @@ foundadvent
sta $BDC5 sta $BDC5
lda #>.checktrk lda #>.checktrk
sta $BDC6 sta $BDC6
;
; this RWTS alters the data prologue in a routine
; on a non-zero track, so we need to set a flag so
; we know to search for it later
;
lda #TRUE
sta gIsAdvent
jmp ADStyle jmp ADStyle
.prologtbl1 .prologtbl1

View File

@ -108,7 +108,6 @@ AnalyzeT00
!source "../patchers/dos32.a" !source "../patchers/dos32.a"
!source "../patchers/dos32dlm.a" !source "../patchers/dos32dlm.a"
!source "../patchers/microfun.a" !source "../patchers/microfun.a"
!source "../patchers/advent.a"
;add only above this line ;add only above this line
rts rts

View File

@ -764,6 +764,7 @@ _applyToAll
!source "patchers/ssprot.a" ; gIsF7F6 only !source "patchers/ssprot.a" ; gIsF7F6 only
!source "patchers/f7f6.a" ; gIsF7F6 only !source "patchers/f7f6.a" ; gIsF7F6 only
!source "patchers/trillium.a" ; gIsTrillium only !source "patchers/trillium.a" ; gIsTrillium only
!source "patchers/advent.a" ; gIsAdvent only
lda gPatchCount lda gPatchCount
beq .nopatches beq .nopatches

View File

@ -9,7 +9,16 @@
; module by qkumba ; module by qkumba
;------------------------------- ;-------------------------------
!zone { !zone {
clc lda gIsAdvent
bne .exit
;carry controls how many times to run on one track
;Mindshadow and Tracer Sanction have two copies
;of the protection on track 0, loaded to two
;different addresses at different stages of play
lda gTrack
cmp #1
.again php .again php
ldy #29 ldy #29
jsr SearchTrack jsr SearchTrack
@ -72,7 +81,7 @@
plp plp
bcs .exit bcs .exit
sec sec
jmp .again bcs .again
.pop .pop
plp plp

View File

@ -141,7 +141,7 @@ StringTable
; can be set directly before calling PrintByID. ; can be set directly before calling PrintByID.
; ;
.header .header
!text "Passport by 4am 2018-05-25",$00 !text "Passport by 4am 2018-05-26",$00
.mainmenu .mainmenu
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D !text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
!text " " !text " "

View File

@ -4,36 +4,39 @@ if "%1" equ "clean" (
echo y|1>nul rd build /s echo y|1>nul rd build /s
goto :EOF goto :EOF
) )
set ACME=acme
set EXOMIZER=exomize
set CADIUS=cadius
2>nul md build 2>nul md build
cd src\mods cd src\mods
acme universalrwts.a %ACME% universalrwts.a
cd ..\..\build cd ..\..\build
exomize raw -q universalrwts.bin -o universalrwts.tmp %EXOMIZER% raw -q universalrwts.bin -o universalrwts.tmp
cscript /nologo //e:jscript %~f0 "b8" "00" cscript /nologo //e:jscript %~f0 "b8" "00"
1>nul copy /b tmp+universalrwts.tmp universalrwts.pak 1>nul copy /b tmp+universalrwts.tmp universalrwts.pak
cd ..\src\mods cd ..\src\mods
acme t00only.a %ACME% t00only.a
cd ..\..\build cd ..\..\build
exomize raw -q t00only.bin -o t00only.tmp %EXOMIZER% raw -q t00only.bin -o t00only.tmp
cscript /nologo //e:jscript %~f0 "20" "00" cscript /nologo //e:jscript %~f0 "20" "00"
1>nul copy /b tmp+t00only.tmp t00only.pak 1>nul copy /b tmp+t00only.tmp t00only.pak
cd ..\src cd ..\src
for /f "tokens=*" %%q in ('2^>^&1 acme passport.a') do set _make=%%q for /f "tokens=*" %%q in ('2^>^&1 %ACME% passport.a') do set _make=%%q
acme -r ..\build\passport.lst -DRELBASE=$%_make:~-5,4% passport.a %ACME% -r ..\build\passport.lst -DRELBASE=$%_make:~-5,4% passport.a
set _make= set _make=
cd .. cd ..
1>nul copy res\work.po build\passport.po 1>nul copy res\work.po build\passport.po
java -jar bin\AppleCommander.jar -p build\passport.po "PASSPORT.SYSTEM" sys 0x2000 < build\PASSPORT.SYSTEM 1>nul copy res\_FileInformation.txt build\
%CADIUS% ADDFILE "build\passport.po" "/PASSPORT/" "build\PASSPORT.SYSTEM"
goto :EOF goto :EOF
*/ */
new ActiveXObject("scripting.filesystemobject").createtextfile("tmp").write(String.fromCharCode(parseInt(WScript.arguments(0),16),String.fromCharCode(parseInt(WScript.arguments(1),16)))) new ActiveXObject("scripting.filesystemobject").createtextfile("tmp").write(String.fromCharCode(parseInt(WScript.arguments(0),16),String.fromCharCode(parseInt(WScript.arguments(1),16))))
/* /*
bat/jscript hybrid make script for Windows environments bat/jscript hybrid make script for Windows environments
a qkumba monstrosity from 2017-10-16 a qkumba monstrosity from 2017-10-16
requires ACME, Exomizer, Apple Commander, Java rem third-party tools required to build (must be in path)
https://sourceforge.net/projects/acme-crossass/ rem https://sourceforge.net/projects/acme-crossass/
https://sourceforge.net/projects/applecommander/ rem https://bitbucket.org/magli143/exomizer/wiki/Home
https://bitbucket.org/magli143/exomizer/wiki/Home rem https://www.brutaldeluxe.fr/products/crossdevtools/cadius/
https://java.com/en/download/ rem https://github.com/mach-kernel/cadius
requires ACME, Exomizer, Java to be in path
*/ */