mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-02-09 19:31:13 +00:00
Big update with installer disk. Allow FORTH to execute SYSTEM files
This commit is contained in:
parent
2434d262c5
commit
bfb3eb4672
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
images/apple/PLASMA-2.1-INST.po
Normal file
BIN
images/apple/PLASMA-2.1-INST.po
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -54,7 +54,7 @@ import cmdsys
|
||||
byte syserr
|
||||
byte jitcount
|
||||
byte jitsize
|
||||
word execsys[] // Apple II specific
|
||||
word sysexec[] // Apple II specific
|
||||
byte refcons // Apple /// specific
|
||||
byte devcons // Apple /// specific
|
||||
word lookupsym
|
||||
|
4
src/mkinst
Normal file → Executable file
4
src/mkinst
Normal file → Executable file
@ -8,9 +8,9 @@ cat rel/apple/PLVM.128#FF2000 | ./ac.jar -p PLASMA-2.1-INST.po PLVM.128 S
|
||||
cat rel/apple/PLVM16#FF2000 | ./ac.jar -p PLASMA-2.1-INST.po PLVM16 SYS
|
||||
cat rel/apple/JIT#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/JIT REL
|
||||
cat rel/apple/JIT16#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/JIT16 REL
|
||||
cat rel/apple/FILEIO#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/FILEIO REL
|
||||
cat rel/apple/CONIO#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/CONIO REL
|
||||
cat rel/apple/COPY#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/COPY REL
|
||||
cat rel/apple/DEL#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/DEL REL
|
||||
cat rel/apple/REN#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/REN REL
|
||||
cat rel/apple/NEWDIR#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/NEWDIR REL
|
||||
cat rel/apple/MATCHFILES#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/MATCHFILES REL
|
||||
cat rel/ARGS#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/ARGS REL
|
||||
|
@ -25,7 +25,7 @@ SRC" conio.4th"
|
||||
;
|
||||
|
||||
: STRINPUT ( STR -- )
|
||||
DUP 1+ 255 ACCEPT SWAP C!
|
||||
DUP 1+ 255 ACCEPT -TRAILING SWAP C!
|
||||
;
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
@ -38,14 +38,14 @@ SRC" conio.4th"
|
||||
STRING DEST
|
||||
STRING FILELIST
|
||||
|
||||
0 0 40 24 VIEWPORT
|
||||
HOME
|
||||
12 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL"
|
||||
NORMALTEXT CR CR
|
||||
0 1 40 23 VIEWPORT
|
||||
." Enter destination " DEST STRINPUT
|
||||
DEST C@ 0= ?ABORT" Destination required"
|
||||
0 1 40 23 VIEWPORT
|
||||
|
||||
." Copying system files to " DEST (.") CR
|
||||
FILELIST " -R PLVM16 CMD128 SYS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
@ -4,34 +4,29 @@ SRC" machid.4th"
|
||||
LOOKUP CMDSYS 19 + @ PLASMA EXECSYS
|
||||
|
||||
: STRINPUT ( STR -- )
|
||||
DUP 1+ 255 ACCEPT SWAP C!
|
||||
DUP 1+ 255 ACCEPT -TRAILING SWAP C!
|
||||
;
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
STRING DEST
|
||||
STRING FILELIST
|
||||
|
||||
0 0 40 24 VIEWPORT
|
||||
HOME
|
||||
12 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL"
|
||||
NORMALTEXT CR CR
|
||||
0 1 40 23 VIEWPORT
|
||||
." Enter destination " DEST STRINPUT
|
||||
DEST C@ 0= ?ABORT" Destination required"
|
||||
0 1 40 23 VIEWPORT
|
||||
|
||||
." Copying install files to " DEST (.") CR
|
||||
FILELIST " -R * " STRCPY DEST STRCAT
|
||||
FILELIST " -R PL* CMD* SYS AUTORUN " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
FILELIST " HDINSTALL2.4TH " STRCPY DEST STRCAT " /HDINSTALL.4TH" STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
DEST SETPFX DROP
|
||||
|
||||
FILELIST " HDINSTALL.4TH" STRCPY
|
||||
" DEL" SWAP LOADMOD
|
||||
|
||||
FILELIST " HDINSTALL2.4TH HDINSTALL.4TH" STRCPY
|
||||
" REN" SWAP LOADMOD
|
||||
|
||||
." Stage 2..." CR
|
||||
0 0 40 24 VIEWPORT
|
||||
|
||||
DEST SETPFX DROP
|
||||
" PLASMA.SYSTEM" EXECSYS
|
@ -32,9 +32,17 @@ SRC" conio.4th"
|
||||
KEY CR TOUPPER CHAR Y =
|
||||
;
|
||||
|
||||
: INSERT.FLOPPY"
|
||||
." Insert "
|
||||
COMPILE ."
|
||||
." into floppy drive" CR
|
||||
." Press any key to continue" KEY DROP CR
|
||||
;
|
||||
|
||||
STRING DEST
|
||||
STRING FILELIST
|
||||
|
||||
0 0 40 24 VIEWPORT
|
||||
HOME
|
||||
8 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL STAGE 2"
|
||||
@ -43,36 +51,36 @@ NORMALTEXT CR CR
|
||||
|
||||
DEST GETPFX DROP
|
||||
|
||||
." Insert PLASMA.SYS into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.SYS"
|
||||
FILELIST " -R /PLASMA.SYS/SYS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy demos?"
|
||||
?EXEC
|
||||
." Insert PLASMA.DEMOS into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.DEMOS"
|
||||
FILELIST " -R /PLASMA.DEMOS/DEMOS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
CONFIRM" Copy floating point libraries?"
|
||||
?EXEC
|
||||
." Insert PLASMA.FPSOS into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.FPSOS"
|
||||
FILELIST " -R /PLASMA.FPSOS/SYS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
CONFIRM" Copy networking libraries?"
|
||||
?EXEC
|
||||
." Insert PLASMA.INET into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.INET"
|
||||
FILELIST " -R /PLASMA.INET/* " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
CONFIRM" Copy build tools?"
|
||||
?EXEC
|
||||
DEST " /BLD" STRCAT DROP
|
||||
DEST " BLD" STRCAT DROP
|
||||
" NEWDIR" DEST LOADMOD
|
||||
." Insert PLASMA.BLD into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.BLD"
|
||||
FILELIST " /PLASMA.BLD/BLD/PLASM /PLASMA.BLD/BLD/CODEOPT " STRCPY
|
||||
DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
@ -87,16 +95,17 @@ CONFIRM" Copy build tools?"
|
||||
|
||||
CONFIRM" Copy sample FORTH scripts?"
|
||||
?EXEC
|
||||
." Insert PLASMA.4TH into floppy drive and press a key" KEY DROP
|
||||
INSERT.FLOPPY" PLASMA.4TH"
|
||||
FILELIST " -R /PLASMA.4TH/BLD/SCRIPTS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
RESUME>
|
||||
|
||||
FILELIST " AUTORUN"
|
||||
FILELIST " AUTORUN HDINSTALL.4TH"
|
||||
" DEL" SWAP LOADMOD
|
||||
|
||||
." Done" CR
|
||||
0 0 40 24 VIEWPORT
|
||||
HOME
|
||||
." Done" CR
|
||||
BYE
|
||||
|
@ -1,6 +1,6 @@
|
||||
LOOKUP HRFORTH ( HGR page 1 reserved )
|
||||
LOOKUP HR2FORTH ( HGR page 1 and 2 reserved )
|
||||
OR NOT ABORT" Must run with HRFORTH."
|
||||
OR NOT ?ABORT" Must run with HRFORTH."
|
||||
|
||||
SRC" PLASMA.4TH"
|
||||
SRC" CONIO.4TH"
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
const MACHID = $BF98
|
||||
const iobuffer = $0800
|
||||
const RELADDR = $1000
|
||||
@ -33,7 +34,7 @@ predef crout()#0, cout(c)#0, prstr(s)#0, prbyte(b)#0, prword(w)#0, print(i)#0, c
|
||||
predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#1, releaseheap(newheap)#1, availheap()#1
|
||||
predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1
|
||||
predef uword_isgt(a,b)#1, uword_isge(a,b)#1, uword_islt(a,b)#1, uword_isle(a,b)#1, sext(a)#1, divmod(a,b)#2
|
||||
predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1, write(refnum, buff, len)#1
|
||||
predef execmod(modfile)#1, open(path)#1, close(refnum)#1, read(refnum, buff, len)#1
|
||||
predef lookuptbl(dci)#1, execsys(sysfile)#0
|
||||
//
|
||||
// Exported CMDSYS table
|
||||
@ -41,7 +42,7 @@ predef lookuptbl(dci)#1, execsys(sysfile)#0
|
||||
word version = $0210 // 02.01 Dev
|
||||
word syspath
|
||||
word syscmdln
|
||||
word = @execmod, @open, @close, @read, @write
|
||||
word = @execmod, @open, @close, @read, 0
|
||||
byte perr
|
||||
byte jitcount = 0
|
||||
byte jitsize = 0
|
||||
@ -855,17 +856,6 @@ def read(refnum, buff, len)#1
|
||||
perr = syscall($CA, @params)
|
||||
return params:6
|
||||
end
|
||||
def write(refnum, buf, len)#1
|
||||
byte params[8]
|
||||
|
||||
params.0 = 4
|
||||
params.1 = refnum
|
||||
params:2 = buf
|
||||
params:4 = len
|
||||
params:6 = 0
|
||||
perr = syscall($CB, @params)
|
||||
return params:6
|
||||
end
|
||||
//
|
||||
// Heap routines.
|
||||
//
|
||||
|
@ -60,7 +60,7 @@ predef lookuptbl(dci)#1, execsys(sysfile)#0
|
||||
word version = $0210 // 02.10
|
||||
word syspath
|
||||
word syscmdln
|
||||
word = @execmod, @open, @close, @read, 0 // Mark write() as NULL
|
||||
word = @execmod, @open, @close, @read, 0
|
||||
byte perr
|
||||
byte jitcount = 0
|
||||
byte jitsize = 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user