sync and vectorise iAddToPath

This commit is contained in:
Peter Ferrie 2022-05-03 21:07:34 -07:00
parent f9d99949c9
commit d541217395
5 changed files with 15 additions and 16 deletions

Binary file not shown.

View File

@ -137,6 +137,9 @@ SwitchToBank2
rts
!source "src/prodos.path.a" ; paths end up on the same page
; iAddToPath (label is in constants.a)
jmp AddToPath ; no direct calling - target can move
; iLoadFileDirect (label is in constants.a)
jmp LoadFileDirect ; no direct calling - target can move

View File

@ -11,8 +11,8 @@
; ...unused...
; E000..E3FF - HGR font data
; ...unused...
; E7A7..FFEE - main program code
; FFEF..FFF9 - API functions and global constants available for main program
; E77E..FFEB - main program code
; FFEC..FFF9 - API functions and global constants available for main program
; code, prelaunchers, transition effects, &c.
; (LoadFileDirect, Wait/UnwaitForVBL, MockingboardStuff, MachineStatus)
; FFFA..FFFF - NMI, reset, IRQ vectors
@ -166,6 +166,7 @@ gSearchIndex = $6000
gSearchCache = $A000
; LC RAM 1 & 2
iAddToPath = $FFEC
iLoadFileDirect = $FFEF ; note: you really want LC RAM 2 banked in before calling this
WaitForVBL = $FFF2
UnwaitForVBL = $FFF5
@ -204,8 +205,6 @@ PRELAUNCH_STANDARD_SIZE = 61 ; LoadStandardPrelaunch, eventually to be d
iCurBlockLo = $D601 ; constant
iCurBlockHi = $D603 ; constant
launchpatch = $D853 ; glue.launch.a
iAddToPath = $FEB5 ; Roger Rabbit (via prelaunch), avoid, use Infiltrator 2 style instead
; also Columns (via file in disk image)
itraverse = $DB42 ; Roger Rabbit, avoid, use Infiltrator 2 style instead
; also Columns (via file in disk image)
ldrlo = $55 ; constant

View File

@ -24,14 +24,7 @@ kRootDirectory=*+1
ldx #0
stx gPathname
; execution falls through here
!if RELBASE != $2000 {
!ifdef PASS2 {
} else { ;PASS2
!if * != iAddToPath {
!error "iAddToPath=",*, ", fix constants.a, rebuild prelaunch"
}
}
}
AddToPath
+ST16 PTR
ldy #0

View File

@ -149,8 +149,10 @@ for %%q in (res\SS\*) do (
)
)
cscript /nologo bin\buildss.js build\SS build\SLIDESHOW.IDX nul build\TOTAL.DATA nul pad >>build\log
for %%q in (res\ATTRACT\*) do cscript /nologo bin\buildokvs.js %%q build\ATTRACT\%%~nxq >>build\log
cscript /nologo bin\buildss.js build\ATTRACT build\MINIATTRACT.IDX nul build\TOTAL.DATA nul pad >>build\log
for %%q in (res\ATTRACT\A* res\ATTRACT\B* res\ATTRACT\C* res\ATTRACT\D* res\ATTRACT\E* res\ATTRACT\F* res\ATTRACT\G* res\ATTRACT\H* res\ATTRACT\I* res\ATTRACT\J* res\ATTRACT\K* res\ATTRACT\L* res\ATTRACT\M*) do cscript /nologo bin\buildokvs.js %%q build\ATTRACT0\%%~nxq >>build\log
for %%q in (res\ATTRACT\N* res\ATTRACT\O* res\ATTRACT\P* res\ATTRACT\Q* res\ATTRACT\R* res\ATTRACT\S* res\ATTRACT\T* res\ATTRACT\U* res\ATTRACT\V* res\ATTRACT\W* res\ATTRACT\X* res\ATTRACT\Y* res\ATTRACT\Z*) do cscript /nologo bin\buildokvs.js %%q build\ATTRACT1\%%~nxq >>build\log
cscript /nologo bin\buildss.js build\ATTRACT0 build\MINIATTRACT0.IDX nul build\TOTAL.DATA nul pad >>build\log
cscript /nologo bin\buildss.js build\ATTRACT1 build\MINIATTRACT1.IDX nul build\TOTAL.DATA nul pad >>build\log
echo done
rem
rem precompute indexed files for graphic effects
@ -239,7 +241,8 @@ cscript /nologo bin\addfile.js build\DFX.IDX src\index\dfx.idx.a
cscript /nologo bin\addfile.js build\SFX.IDX src\index\sfx.idx.a
cscript /nologo bin\addfile.js build\GAMEHELP.IDX src\index\gamehelp.idx.a
cscript /nologo bin\addfile.js build\SLIDESHOW.IDX src\index\slideshow.idx.a
cscript /nologo bin\addfile.js build\MINIATTRACT.IDX src\index\miniattract.idx.a
cscript /nologo bin\addfile.js build\MINIATTRACT0.IDX src\index\miniattract0.idx.a
cscript /nologo bin\addfile.js build\MINIATTRACT1.IDX src\index\miniattract1.idx.a
cscript /nologo bin\addfile.js build\TITLE.IDX src\index\title.idx.a
cscript /nologo bin\addfile.js build\DTITLE.IDX src\index\dtitle.idx.a
cscript /nologo bin\addfile.js build\HGR0.IDX src\index\hgr0.idx.a
@ -273,7 +276,8 @@ goto :EOF
2>nul md build\FX
2>nul md build\PRELAUNCH.INDEXED
2>nul md build\PRELAUNCH
2>nul md build\ATTRACT
2>nul md build\ATTRACT0
2>nul md build\ATTRACT1
2>nul md build\SS
2>nul md build\GAMEHELP
1>nul copy nul build\log