mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-03-24 13:35:24 +00:00
Enable external access to execsys
This commit is contained in:
parent
547bdcc2ad
commit
2434d262c5
@ -54,8 +54,9 @@ import cmdsys
|
||||
byte syserr
|
||||
byte jitcount
|
||||
byte jitsize
|
||||
byte refcons // Apple /// specific
|
||||
byte devcons // Apple /// specific
|
||||
word execsys[] // Apple II specific
|
||||
byte refcons // Apple /// specific
|
||||
byte devcons // Apple /// specific
|
||||
word lookupsym
|
||||
end
|
||||
//
|
||||
|
@ -60,6 +60,7 @@ cat rel/HR2FORTH#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/HR2FORTH RE
|
||||
cat rel/PLFORTH#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/PLFORTH REL
|
||||
|
||||
#mkdir sys/scripts
|
||||
cat scripts/hdinstall.4th | ./ac.jar -ptx PLASMA-2.1.po HDINSTALL.4TH TXT
|
||||
cat scripts/plasma.4th | ./ac.jar -ptx PLASMA-2.1.po sys/scripts/PLASMA.4TH TXT
|
||||
cat scripts/machid.4th | ./ac.jar -ptx PLASMA-2.1.po sys/scripts/MACHID.4TH TXT
|
||||
cat scripts/conio.4th | ./ac.jar -ptx PLASMA-2.1.po sys/scripts/CONIO.4TH TXT
|
||||
|
31
src/mkinst
Normal file
31
src/mkinst
Normal file
@ -0,0 +1,31 @@
|
||||
cp ../sysfiles/BLANK140.po PLASMA-2.1-INST.po
|
||||
./ac.jar -n PLASMA-2.1-INST.po PLASMA.INST
|
||||
cat ../sysfiles/PRODOS#FF0000 | ./ac.jar -p PLASMA-2.1-INST.po PRODOS SYS
|
||||
cat rel/apple/CMD#061000 | ./ac.jar -p PLASMA-2.1-INST.po CMD BIN $1000
|
||||
cat rel/apple/CMD128#061000 | ./ac.jar -p PLASMA-2.1-INST.po CMD128 BIN $1000
|
||||
cat rel/apple/PLASMA.SYSTEM#FF2000 | ./ac.jar -p PLASMA-2.1-INST.po PLASMA.SYSTEM SYS
|
||||
cat rel/apple/PLVM.128#FF2000 | ./ac.jar -p PLASMA-2.1-INST.po PLVM.128 SYS
|
||||
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/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
|
||||
cat rel/LONGJMP#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/LONGJMP REL
|
||||
cat rel/HRFORTH#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/HRFORTH REL
|
||||
cat rel/HR2FORTH#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/HR2FORTH REL
|
||||
cat rel/PLFORTH#FE1000 | ./ac.jar -p PLASMA-2.1-INST.po sys/PLFORTH REL
|
||||
cat scripts/plasma.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/PLASMA.4TH TXT
|
||||
cat scripts/machid.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/MACHID.4TH TXT
|
||||
cat scripts/conio.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/CONIO.4TH TXT
|
||||
cat scripts/fileio.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/FILEIO.4TH TXT
|
||||
cat scripts/grlib.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/GRLIB.4TH TXT
|
||||
cat scripts/hgrlib.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/HGRLIB.4TH TXT
|
||||
cat scripts/int32.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/INT32.4TH TXT
|
||||
cat scripts/fpu.4th | ./ac.jar -ptx PLASMA-2.1-INST.po sys/scripts/FPU.4TH TXT
|
||||
cat scripts/hdinstall1.4th | ./ac.jar -ptx PLASMA-2.1-INST.po HDINSTALL.4TH TXT
|
||||
cat scripts/hdinstall2.4th | ./ac.jar -ptx PLASMA-2.1-INST.po HDINSTALL2.4TH TXT
|
||||
echo "+PLFORTH HDINSTALL.4TH" | ./ac.jar -ptx PLASMA-2.1-INST.po AUTORUN TXT
|
@ -24,8 +24,7 @@ SRC" conio.4th"
|
||||
THEN
|
||||
;
|
||||
|
||||
: INPUTSTR" ( STR -- )
|
||||
COMPILE ."
|
||||
: STRINPUT ( STR -- )
|
||||
DUP 1+ 255 ACCEPT SWAP C!
|
||||
;
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
@ -43,7 +42,7 @@ HOME
|
||||
12 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL"
|
||||
NORMALTEXT CR CR
|
||||
DEST INPUTSTR" Enter destination "
|
||||
." Enter destination " DEST STRINPUT
|
||||
DEST C@ 0= ?ABORT" Destination required"
|
||||
0 1 40 23 VIEWPORT
|
||||
|
||||
|
37
src/scripts/hdinstall1.4th
Normal file
37
src/scripts/hdinstall1.4th
Normal file
@ -0,0 +1,37 @@
|
||||
SRC" plasma.4th"
|
||||
SRC" conio.4th"
|
||||
SRC" machid.4th"
|
||||
LOOKUP CMDSYS 19 + @ PLASMA EXECSYS
|
||||
|
||||
: STRINPUT ( STR -- )
|
||||
DUP 1+ 255 ACCEPT SWAP C!
|
||||
;
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
STRING DEST
|
||||
STRING FILELIST
|
||||
|
||||
HOME
|
||||
12 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL"
|
||||
NORMALTEXT CR CR
|
||||
." 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
|
||||
" 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
|
||||
|
||||
" PLASMA.SYSTEM" EXECSYS
|
102
src/scripts/hdinstall2.4th
Normal file
102
src/scripts/hdinstall2.4th
Normal file
@ -0,0 +1,102 @@
|
||||
SRC" plasma.4th"
|
||||
SRC" conio.4th"
|
||||
: RESUME> ; ( PLACE HOLDER TO RESUME EXECUTION )
|
||||
: ?EXEC ( F -- )
|
||||
NOT IF ( SKIP CODE IN BETWEEN ?EXEC AND RESUME> )
|
||||
1 >R
|
||||
BEGIN
|
||||
BL WORD FIND IF
|
||||
CASE
|
||||
' RESUME> OF
|
||||
R> 1- ?DUP 0= IF ( EXIT IF FINAL RESUME> )
|
||||
DROP EXIT
|
||||
THEN
|
||||
>R
|
||||
ENDOF
|
||||
' ?EXEC OF ( CHECK FOR NESTED ?EXEC )
|
||||
R> 1+ >R
|
||||
ENDOF
|
||||
ENDCASE
|
||||
ELSE
|
||||
DROP
|
||||
THEN
|
||||
AGAIN
|
||||
THEN
|
||||
;
|
||||
|
||||
: STRING CREATE 256 ALLOT DOES> ; ( JUST ALLOCATE THE BIGGEST STRING POSSIBLE )
|
||||
|
||||
: CONFIRM" ( -- F )
|
||||
COMPILE ."
|
||||
." (Y/N)"
|
||||
KEY CR TOUPPER CHAR Y =
|
||||
;
|
||||
|
||||
STRING DEST
|
||||
STRING FILELIST
|
||||
|
||||
HOME
|
||||
8 SPACES INVERSETEXT
|
||||
." PLASMA HD INSTALL STAGE 2"
|
||||
NORMALTEXT CR CR
|
||||
0 1 40 23 VIEWPORT
|
||||
|
||||
DEST GETPFX DROP
|
||||
|
||||
." Insert PLASMA.SYS into floppy drive and press a key" KEY DROP
|
||||
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
|
||||
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
|
||||
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
|
||||
FILELIST " -R /PLASMA.INET/* " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
CONFIRM" Copy build tools?"
|
||||
?EXEC
|
||||
DEST " /BLD" STRCAT DROP
|
||||
" NEWDIR" DEST LOADMOD
|
||||
." Insert PLASMA.BLD into floppy drive and press a key" KEY DROP
|
||||
FILELIST " /PLASMA.BLD/BLD/PLASM /PLASMA.BLD/BLD/CODEOPT " STRCPY
|
||||
DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
FILELIST " -R /PLASMA.BLD/BLD/INC " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
|
||||
CONFIRM" Copy sample PLASMA code?"
|
||||
?EXEC
|
||||
FILELIST " -R /PLASMA.BLD/BLD/SAMPLES " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
CONFIRM" Copy sample FORTH scripts?"
|
||||
?EXEC
|
||||
." Insert PLASMA.4TH into floppy drive and press a key" KEY DROP
|
||||
FILELIST " -R /PLASMA.4TH/BLD/SCRIPTS " STRCPY DEST STRCAT
|
||||
" COPY" SWAP LOADMOD
|
||||
RESUME>
|
||||
|
||||
RESUME>
|
||||
|
||||
FILELIST " AUTORUN"
|
||||
" DEL" SWAP LOADMOD
|
||||
|
||||
." Done" CR
|
||||
0 0 40 24 VIEWPORT
|
||||
BYE
|
@ -34,7 +34,7 @@ predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#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 lookuptbl(dci)#1
|
||||
predef lookuptbl(dci)#1, execsys(sysfile)#0
|
||||
//
|
||||
// Exported CMDSYS table
|
||||
//
|
||||
@ -45,8 +45,8 @@ word = @execmod, @open, @close, @read, @write
|
||||
byte perr
|
||||
byte jitcount = 0
|
||||
byte jitsize = 0
|
||||
word = symtbl // Different between Apple II and ///
|
||||
word = @lookuptbl //
|
||||
word = @execsys // Different between Apple II and ///
|
||||
word = @lookuptbl
|
||||
//
|
||||
// Working input buffer overlayed with strings table
|
||||
//
|
||||
|
@ -52,7 +52,7 @@ predef markheap()#1, allocheap(size)#1, allocalignheap(size, pow2, freeaddr)#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, buf, len)#1
|
||||
predef lookuptbl(dci)#1
|
||||
predef lookuptbl(dci)#1, execsys(sysfile)#0
|
||||
|
||||
//
|
||||
// Exported CMDSYS table
|
||||
@ -64,8 +64,8 @@ word = @execmod, @open, @close, @read, 0 // Mark write() as NULL
|
||||
byte perr
|
||||
byte jitcount = 0
|
||||
byte jitsize = 0
|
||||
word = symtbl // Different between Apple II and ///
|
||||
word = @lookuptbl //
|
||||
word = @execsys // Different between Apple II and ///
|
||||
word = @lookuptbl
|
||||
//
|
||||
// Working input buffer overlayed with strings table
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user