diff --git a/bin/buildfx.js b/bin/buildfx.js index 3c26d19a4..cdae99f81 100644 --- a/bin/buildfx.js +++ b/bin/buildfx.js @@ -49,4 +49,4 @@ for (i = 0; i < entries.length; i++) f = a.createtextfile(WScript.Arguments(1)) f.write(groups) f.close() -new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1)) +new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1), 0, 1) diff --git a/bin/buildokvs.js b/bin/buildokvs.js index da5d9144d..a6abbd735 100644 --- a/bin/buildokvs.js +++ b/bin/buildokvs.js @@ -41,6 +41,5 @@ if (!a.fileexists(WScript.Arguments(1)) || a.getfile(WScript.Arguments(1)).datel source.writeline("!text \"" + ((val >= 0) ? (entries[i].substr(val + 1)) : "") + "\"") } - x = new ActiveXObject("wscript.shell") - x.run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp') + new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(1) + ' build\\okvs.tmp', 0, 1) } diff --git a/bin/buildpre.js b/bin/buildpre.js index bf6f8b3b3..15fc9ab6d 100644 --- a/bin/buildpre.js +++ b/bin/buildpre.js @@ -58,4 +58,4 @@ for (i = 0; i < entries.length; i++) f = a.createtextfile(WScript.Arguments(1)) f.write(groups) f.close() -new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1)) +new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1), 0, 1) diff --git a/bin/buildss.js b/bin/buildss.js index da7d24697..b154448bd 100644 --- a/bin/buildss.js +++ b/bin/buildss.js @@ -25,4 +25,4 @@ for (i = 0; i < entries.length; i++) f = a.createtextfile(WScript.Arguments(1)) f.write(groups) f.close() -new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1)) +new ActiveXObject("wscript.shell").run('cmd /c %acme% -o ' + WScript.Arguments(2) + " " + WScript.Arguments(1), 0, 1) diff --git a/res/DEMO/ALIEN.DOWNPOUR b/res/DEMO/ALIEN.DOWNPOUR index aa738f14a..6540c5ba3 100755 Binary files a/res/DEMO/ALIEN.DOWNPOUR and b/res/DEMO/ALIEN.DOWNPOUR differ diff --git a/res/DEMO/CHOPLIFTER b/res/DEMO/CHOPLIFTER index 947b1ae49..7583c4c1c 100755 Binary files a/res/DEMO/CHOPLIFTER and b/res/DEMO/CHOPLIFTER differ diff --git a/res/DEMO/NIGHT.STALKER b/res/DEMO/NIGHT.STALKER index 6cff564eb..61f46a6d8 100755 Binary files a/res/DEMO/NIGHT.STALKER and b/res/DEMO/NIGHT.STALKER differ diff --git a/res/DEMO/SNEAKERS b/res/DEMO/SNEAKERS index ed2accca5..cbf547f22 100644 Binary files a/res/DEMO/SNEAKERS and b/res/DEMO/SNEAKERS differ diff --git a/res/DEMO/SPACE.QUARKS b/res/DEMO/SPACE.QUARKS index 100e89461..3f1785d4c 100755 Binary files a/res/DEMO/SPACE.QUARKS and b/res/DEMO/SPACE.QUARKS differ diff --git a/res/DEMO/TB b/res/DEMO/TB index 7fe81c9b7..9610bae46 100755 Binary files a/res/DEMO/TB and b/res/DEMO/TB differ diff --git a/res/DEMO/WAVY.NAVY b/res/DEMO/WAVY.NAVY index d410a784d..d47eb5b9e 100644 Binary files a/res/DEMO/WAVY.NAVY and b/res/DEMO/WAVY.NAVY differ diff --git a/src/4cade.a b/src/4cade.a index 3db110c85..28c114a2f 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -137,6 +137,9 @@ SwitchToBank2 rts !source "src/prodos.path.a" ; paths end up on the same page +; iLoadFileDirect (label is in constants.a) + jmp LoadFileDirect ; no direct calling - target can move + ; WaitForVBL (label is in constants.a) jmp WaitForVBL_iie ; SMC to RTS on a II+ diff --git a/src/constants.a b/src/constants.a index c10cd8f5f..0be7aad73 100644 --- a/src/constants.a +++ b/src/constants.a @@ -115,6 +115,7 @@ gValLen = $1F80 gVal = $1F81 ; LC RAM 1 +iLoadFileDirect = $FFEF WaitForVBL = $FFF2 UnwaitForVBL = $FFF5 @@ -145,16 +146,14 @@ SUPPORTS_SHR = %00110000 CHEATS_ENABLED = %00001000 ; shared symbols for prelaunch and effects to call ProRWTS2 functions -iCurBlockLo = $D401 -iCurBlockHi = $D403 -iProDOS_enter = $D670 -LoadFileDirect = $DAD4 -launchpatch = $D60E -iAddToPath = $FE67 -itraverse = $D8D8 -ldrhi = $56 -namlo = $57 -namhi = $58 +iCurBlockLo = $D401 ; constant +iCurBlockHi = $D403 ; constant +launchpatch = $D60E ; glue.launch.a +iAddToPath = $FE64 ; Roger Rabbit, avoid, use Infiltrator 2 style instead +itraverse = $D8D8 ; Roger Rabbit, avoid, use Infiltrator 2 style instead +ldrhi = $56 ; constant +namlo = $57 ; constant +namhi = $58 ; constant _CONSTANTS_=* } diff --git a/src/glue.prorwts2.lc2.a b/src/glue.prorwts2.lc2.a index 843f1e57e..c0a89d56d 100644 --- a/src/glue.prorwts2.lc2.a +++ b/src/glue.prorwts2.lc2.a @@ -11,14 +11,7 @@ LoadFileInternal ldx #0 ; 0 = read into main memory LoadFileAuxInternal +LDADDR gPathname -!if RELBASE != $2000 { - !ifdef PASS2 { - } else { ;PASS2 - !if * != LoadFileDirect { - !error "LoadFileDirect=",*, ", fix constants.a, rebuild all src/demo and src/prelaunch" - } - } -} +LoadFileDirect +ST16 namlo ; set filename txa pha diff --git a/src/macros.a b/src/macros.a index 41de6db18..e248259a5 100755 --- a/src/macros.a +++ b/src/macros.a @@ -398,7 +398,7 @@ pha ldx #0 ; read to main memory +LDADDR .filepath - jsr LoadFileDirect + jsr iLoadFileDirect pla sta iCurBlockHi pla diff --git a/src/prelaunch/bejeweled.a b/src/prelaunch/bejeweled.a index 2d14df1df..a5fcef92c 100644 --- a/src/prelaunch/bejeweled.a +++ b/src/prelaunch/bejeweled.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020-2021 by qkumba !cpu 6502 !to "build/PRELAUNCH/BEJEWELED",plain @@ -28,7 +28,7 @@ helper dec $8DB5 ; write address (low) nohelp - jmp iProDOS_enter + jmp $FDFD ; SMC nocall plp @@ -39,6 +39,10 @@ nocall callback jsr $BE00 + lda $BF0B + sta nohelp + 1 + lda $BF0C + sta nohelp + 2 lda #helper diff --git a/src/prodos.impl.lc2.a b/src/prodos.impl.lc2.a index 3cd60173d..2848f0154 100644 --- a/src/prodos.impl.lc2.a +++ b/src/prodos.impl.lc2.a @@ -18,14 +18,6 @@ ipacket = first_zp ;word buffer = first_zp+2 ;word -!if RELBASE != $2000 { - !ifdef PASS2 { - } else { ;PASS2 - !if * != iProDOS_enter { - !error "iProDOS_enter=",*, ", fix constants.a" - } - } -} ProDOS_enter !set CloseHandles = @imp_close stx ProDOS_savedX+1 @@ -401,7 +393,7 @@ resetval=$f0 !ifdef PASS2 { } else { ;PASS2 !if * != itraverse { - !error "itraverse=",*, ", fix constants.a" + !error "itraverse=",*, ", fix constants.a, rebuild prelaunch" } } traverse diff --git a/src/prodos.path.a b/src/prodos.path.a index 4c8c954c3..d18b76562 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -28,7 +28,7 @@ kRootDirectory=*+1 !ifdef PASS2 { } else { ;PASS2 !if * != iAddToPath { - !error "iAddToPath=",*, ", fix constants.a" + !error "iAddToPath=",*, ", fix constants.a, rebuild prelaunch" } } }