1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-02-09 04:30:37 +00:00

Update Apple /// JIT and images to DP 1a

This commit is contained in:
David Schmenk 2019-12-12 09:56:05 -08:00
parent 8364f5c631
commit f90e339b01
7 changed files with 14 additions and 8 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,6 +3,7 @@
//
include "inc/cmdsys.plh"
include "inc/inet.plh"
sysflags nojitc // No need to JITC this temp loaded module
//
// Needed to init subnet
//

View File

@ -1344,10 +1344,6 @@ def resetmemfiles()#0
memset($BF58, 0, 24)
^$BF58 = $CF
^$BF6F = $01
//
// Reset JIT code pointer
//
*jitcodeptr = jitcbuf
perr = terr // Restore perr
end
def execsys(sysfile)#0
@ -1428,6 +1424,13 @@ def docmds#0
execsys(getlnbuf)
break
is '+'
//
// Set JIT code pointer
//
*jitcodeptr = jitcbuf
//
// Exec module
//
execmod(striptrail(getlnbuf))
//
// Clean up

View File

@ -1,4 +1,5 @@
include "inc/cmdsys.plh"
sysflags nojitc // Keep JITC from compiling itself
//
// JIT compiler values
//
@ -16,6 +17,7 @@ end
//
// Private addresses
//
const jitcbuf = $9000
const codemax = $A000
const cmdparser = $A0F0
const jitcomp = $A0F2
@ -291,6 +293,7 @@ def shell#1
volumes
break
is '+'
*jitcodeptr = jitcbuf
//cmdsys:modexec(striptrail(cmdptr))
return striptrail(cmdptr)
//cmdsys:syswrite(cmdsys.refcons, @textmode, 3)
@ -323,6 +326,6 @@ end
directentry = *sinterp
indirectentry = *xinterp
*jitcomp = @compiler
cmdsys.jitcount = 44
cmdsys.jitcount = 32
cmdsys.jitsize = 96
done

View File

@ -38,6 +38,7 @@ end
//
// JIT compiler values
//
const jitcbuf = $9000
const jitcomp = $A0F2
const jitcodeptr = $A0F4
const codemax = $A000
@ -1242,18 +1243,16 @@ def loadmod(mod)#1
end
def execmod(modfile)#1
byte moddci[17]
word saveheap, savesym, saveflags, savejit
word saveheap, savesym, saveflags
perr = 1
if stodci(modfile, @moddci)
saveheap = heap
savesym = lastsym
saveflags = systemflags
savejit = *jitcodeptr
if loadmod(@moddci) < modkeep
lastsym = savesym
heap = saveheap
*jitcodeptr = savejit
while modid
modid--
seg_release(modseg[modid])