diff --git a/images/apple/PLFORTH.PO b/images/apple/PLFORTH.PO index 643f673..980ed02 100755 Binary files a/images/apple/PLFORTH.PO and b/images/apple/PLFORTH.PO differ diff --git a/src/mkrel b/src/mkrel index 626ef42..5419115 100755 --- a/src/mkrel +++ b/src/mkrel @@ -55,6 +55,15 @@ cp rel/HRFORTH#FE1000 prodos/sys/HRFORTH.REL cp rel/HR2FORTH#FE1000 prodos/sys/HR2FORTH.REL cp rel/PLFORTH#FE1000 prodos/sys/PLFORTH.REL +mkdir prodos/sys/scripts +cp scripts/plasma.4th prodos/sys/scripts/PLASMA.4TH.TXT +cp scripts/conio.4th prodos/sys/scripts/CONIO.4TH.TXT +cp scripts/fileio.4th prodos/sys/scripts/FILEIO.4TH.TXT +cp scripts/grlib.4th prodos/sys/scripts/GRLIB.4TH.TXT +cp scripts/hgrlib.4th prodos/sys/scripts/HGRLIB.4TH.TXT +cp scripts/int32.4th prodos/sys/scripts/INT32.4TH.TXT +cp scripts/fpu.4th prodos/sys/scripts/FPU.4TH.TXT + rm -rf prodos/syspro mkdir prodos/syspro cp ../sysfiles/PRODOS#FF0000 prodos/syspro/PRODOS.SYS @@ -97,9 +106,22 @@ cp rel/apple/JITUNE#FE1000 prodos/syspro/sys/JITUNE.REL cp rel/apple/ZIPCHIP#FE1000 prodos/syspro/sys/ZIPCHIP.REL cp rel/LZ4#FE1000 prodos/syspro/sys/LZ4.REL cp rel/INT32#FE1000 prodos/syspro/sys/INT32.REL -cp rel/HRFORTH#FE1000 prodos/syspro/HRFORTH.REL -cp rel/HR2FORTH#FE1000 prodos/syspro/HR2FORTH.REL -cp rel/PLFORTH#FE1000 prodos/syspro/sys/PLFORTH.REL + +rm -rf prodos/sysforth +mkdir prodos/sysforth +mkdir prodos/sysforth/sys +cp rel/HRFORTH#FE1000 prodos/sysforth/sys/HRFORTH.REL +cp rel/HR2FORTH#FE1000 prodos/sysforth/sys/HR2FORTH.REL +cp rel/PLFORTH#FE1000 prodos/sysforth/sys/PLFORTH.REL + +mkdir prodos/sysforth/sys/scripts +cp scripts/plasma.4th prodos/sysforth/sys/scripts/PLASMA.4TH.TXT +cp scripts/conio.4th prodos/sysforth/sys/scripts/CONIO.4TH.TXT +cp scripts/fileio.4th prodos/sysforth/sys/scripts/FILEIO.4TH.TXT +cp scripts/grlib.4th prodos/sysforth/sys/scripts/GRLIB.4TH.TXT +cp scripts/hgrlib.4th prodos/sysforth/sys/scripts/HGRLIB.4TH.TXT +cp scripts/int32.4th prodos/sysforth/sys/scripts/INT32.4TH.TXT +cp scripts/fpu.4th prodos/sysforth/sys/scripts/FPU.4TH.TXT rm -rf prodos/sysinet mkdir prodos/sysinet @@ -209,18 +231,10 @@ cp samplesrc/fppow.pla prodos/bld/samples/FPPOW.PLA.TXT cp utilsrc/apple/mon.pla prodos/bld/samples/MON.PLA.TXT cp utilsrc/apple/zipchip.pla prodos/bld/samples/ZIPCHIP.PLA.TXT -rm -rf prodos/scripts -mkdir prodos/scripts -cp scripts/plasma.4th prodos/scripts/PLASMA.4TH.TXT -cp scripts/conio.4th prodos/scripts/CONIO.4TH.TXT -cp scripts/fileio.4th prodos/scripts/FILEIO.4TH.TXT -cp scripts/grlib.4th prodos/scripts/GRLIB.4TH.TXT -cp scripts/hgrlib.4th prodos/scripts/HGRLIB.4TH.TXT -cp scripts/int32.4th prodos/scripts/INT32.4TH.TXT -cp scripts/fpu.4th prodos/scripts/FPU.4TH.TXT -cp scripts/rod.4th prodos/scripts/ROD.4TH.TXT -cp scripts/bounce.4th prodos/scripts/BOUNCE.4TH.TXT -cp scripts/hrbounce.4th prodos/scripts/HRBOUNCE.4TH.TXT +mkdir prodos/bld/scripts +cp scripts/rod.4th prodos/bld/scripts/ROD.4TH.TXT +cp scripts/bounce.4th prodos/bld/scripts/BOUNCE.4TH.TXT +cp scripts/hrbounce.4th prodos/bld/scripts/HRBOUNCE.4TH.TXT #mkdir prodos/bld/examples #cp samplesrc/examples/ex.1.pla prodos/bld/examples/EX.1.PLA.TXT diff --git a/src/toolsrc/plforth.pla b/src/toolsrc/plforth.pla index 534c328..a0535f1 100644 --- a/src/toolsrc/plforth.pla +++ b/src/toolsrc/plforth.pla @@ -1768,11 +1768,19 @@ def _lookup_#1 return cmdsys:lookupsym(stodci(symname, @dci)) end def _src_(a)#0 + char[64] syssrc + if srclevel >= SRCREFS puts("Too many nested SRC") _quit_ fin inref[srclevel] = fileio:open(a) + if !inref[srclevel] and ^a < 16 + strcpy(@syssrc, cmdsys:syspath) + strcat(@syssrc, "scripts/") + strcat(@syssrc, a) + inref[srclevel] = fileio:open(@syssrc) + fin if inref[srclevel] fileio:newline(inref[srclevel], $7F, $0D) infunc = @filein diff --git a/src/vmsrc/apple/a1cmd.pla b/src/vmsrc/apple/a1cmd.pla index 8c9bd95..24d4821 100755 --- a/src/vmsrc/apple/a1cmd.pla +++ b/src/vmsrc/apple/a1cmd.pla @@ -1155,7 +1155,7 @@ def parsecmd(strptr)#1 return cmd end def execmod(modfile)#1 - byte moddci[17] + byte moddci[63] word saveheap, savesym, saveflags perr = 1 diff --git a/src/vmsrc/apple/cmd.pla b/src/vmsrc/apple/cmd.pla index 91743a0..673d532 100755 --- a/src/vmsrc/apple/cmd.pla +++ b/src/vmsrc/apple/cmd.pla @@ -1298,7 +1298,7 @@ def execsys(sysfile)#0 fin end def execmod(modfile)#1 - byte moddci[17] + byte moddci[63] word saveheap, savesym, saveflags perr = 1 diff --git a/src/vmsrc/apple/cmdjit.pla b/src/vmsrc/apple/cmdjit.pla index d574be3..63ac8b9 100755 --- a/src/vmsrc/apple/cmdjit.pla +++ b/src/vmsrc/apple/cmdjit.pla @@ -1364,7 +1364,7 @@ def execsys(sysfile)#0 fin end def execmod(modfile)#1 - byte moddci[17] + byte moddci[63] word saveheap, savexheap, savesym, saveflags perr = 1 diff --git a/src/vmsrc/apple/sossys.pla b/src/vmsrc/apple/sossys.pla index 8be6464..a89ef5e 100755 --- a/src/vmsrc/apple/sossys.pla +++ b/src/vmsrc/apple/sossys.pla @@ -1224,7 +1224,7 @@ def loadmod(mod)#1 return initcode end def execmod(modfile)#1 - byte moddci[17] + byte moddci[63] word saveheap, savesym, saveflags perr = 1 diff --git a/src/vmsrc/apple/sossysjit.pla b/src/vmsrc/apple/sossysjit.pla index be9d641..38cf259 100755 --- a/src/vmsrc/apple/sossysjit.pla +++ b/src/vmsrc/apple/sossysjit.pla @@ -1247,7 +1247,7 @@ def loadmod(mod)#1 return initcode end def execmod(modfile)#1 - byte moddci[17] + byte moddci[63] word saveheap, savesym, saveflags perr = 1