Compare commits

...

7 Commits

15 changed files with 324 additions and 142 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

View File

@ -80,6 +80,7 @@ word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0
byte textbwmode[] = 2, 16, 0
byte textclrmode[] = 2, 16, 1
byte grcharset[] = 1, 0, $7F, $7F, $7F, $7F, $00, $00, $00, $00
byte a3keyqueue = 0
//
// Random number for Apple 1 and III.
//
@ -153,6 +154,12 @@ end
def a1keypressed
return ^$D011 >= 128 ?? ^$D011 :: 0
end
def a1getkey
while not a1keypressed
randnum = randnum + 123
loop
return getc()
end
def a12echo(state)
return 0
end
@ -278,8 +285,22 @@ def dev_status(devnum, code, list)
end
def a3keypressed
byte count
dev_status(cmdsys.devcons, 5, @count)
return count
if count
a3keyqueue = getc
fin
return a3keyqueue ?? a3keyqueue | $80 :: 0
end
def a3getkey
byte keycode
repeat
randnum = randnum + 123
a3keypressed
keycode = a3keyqueue
until keycode
a3keyqueue = 0
return keycode
end
def a3echo(state)
return dev_control(cmdsys.devcons, 11, @state)
@ -362,12 +383,6 @@ end
//
// Apple 1 and III combined routines.
//
def a13getkey
while not conio:keypressed()
randnum = randnum + 123
loop
return getc()
end
def a13rnd
randnum = (randnum << 1) + randnum + 123
return randnum & $7FFF
@ -378,7 +393,7 @@ end
when MACHID & MACHID_MODEL
is MACHID_III
conio:keypressed = @a3keypressed
conio:getkey = @a13getkey
conio:getkey = @a3getkey
conio:echo = @a3echo
conio:home = @a3home
conio:gotoxy = @a3gotoxy
@ -391,7 +406,7 @@ when MACHID & MACHID_MODEL
break
is MACHID_I
conio:keypressed = @a1keypressed
conio:getkey = @a13getkey
conio:getkey = @a1getkey
conio:home = @a1home
conio:gotoxy = @a1gotoxy
conio:viewport = @a1viewport

174
src/mk143 Executable file
View File

@ -0,0 +1,174 @@
cp ../sysfiles/BLANK143.po PLASMA2-SYS.po
./ac.jar -n PLASMA2-SYS.po PLASMA.SYS
#cat ../sysfiles/PRODOS#FF0000 | ./ac.jar -p PLASMA2-SYS.po PRODOS SYS
cat rel/apple/CMD#061000 | ./ac.jar -p PLASMA2-SYS.po CMD BIN $1000
cat rel/apple/CMD128#061000 | ./ac.jar -p PLASMA2-SYS.po CMD128 BIN $1000
cat rel/apple/PLASMA.SYSTEM#FF2000 | ./ac.jar -p PLASMA2-SYS.po PLASMA.SYSTEM SYS
cat rel/apple/PLVM.128#FF2000 | ./ac.jar -p PLASMA2-SYS.po PLVM.128 SYS
cat rel/apple/PLVM16#FF2000 | ./ac.jar -p PLASMA2-SYS.po PLVM16 SYS
cat ../doc/Editor.md | ./ac.jar -ptx PLASMA2-SYS.po EDITOR.README TXT
cat rel/apple/FILEIO#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/FILEIO REL
cat rel/apple/CONIO#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/CONIO REL
cat rel/LINES#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/LINES REL
cat rel/apple/HGRFONT#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/HGRFONT REL
cat rel/apple/HGRTILE#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/HGRTILE REL
cat rel/apple/HGRSPRITE#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/HGRSPRITE REL
cat rel/apple/HGRLIB#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/HGRLIB REL
cat rel/apple/GRLIB#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/GRLIB REL
cat rel/apple/DGRLIB#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/DGRLIB REL
cat rel/apple/COPY#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/COPY REL
cat rel/apple/DEL#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/DEL REL
cat rel/apple/REN#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/REN REL
cat rel/apple/CAT#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/CAT REL
cat rel/apple/NEWDIR#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/NEWDIR REL
cat rel/apple/TYPE#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/TYPE REL
cat rel/apple/MATCHFILES#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/MATCHFILES REL
cat rel/ARGS#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/ARGS REL
cat rel/ED#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/ED REL
cat rel/FIBER#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/FIBER REL
cat rel/LONGJMP#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/LONGJMP REL
cat rel/MEMMGR#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/MEMMGR REL
cat rel/apple/MOUSE#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/MOUSE REL
cat rel/apple/PORTIO#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/PORTIO REL
cat rel/apple/JOYBUZZ#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/JOYBUZZ REL
cat rel/apple/SNDSEQ#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/SNDSEQ REL
cat rel/apple/JIT#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/JIT REL
cat rel/apple/JIT16#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/JIT16 REL
cat rel/apple/JITUNE#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/JITUNE REL
cat rel/apple/ZIPCHIP#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/ZIPCHIP REL
cat rel/LZ4#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/LZ4 REL
cat rel/INT32#FE1000 | ./ac.jar -p PLASMA2-SYS.po sys/INT32 REL
cp ../sysfiles/BLANK143.po PLASMA2-4TH.po
./ac.jar -n PLASMA2-4TH.po PLASMA.4TH
cat rel/HRFORTH#FE1000 | ./ac.jar -p PLASMA2-4TH.po sys/HRFORTH REL
cat rel/HR2FORTH#FE1000 | ./ac.jar -p PLASMA2-4TH.po sys/HR2FORTH REL
cat rel/PLFORTH#FE1000 | ./ac.jar -p PLASMA2-4TH.po sys/PLFORTH REL
cat scripts/plasma.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/PLASMA.4TH TXT
cat scripts/conio.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/CONIO.4TH TXT
cat scripts/fileio.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/FILEIO.4TH TXT
cat scripts/grlib.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/GRLIB.4TH TXT
cat scripts/hgrlib.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/HGRLIB.4TH TXT
cat scripts/int32.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/INT32.4TH TXT
cat scripts/fpu.4th | ./ac.jar -ptx PLASMA2-4TH.po sys/scripts/FPU.4TH TXT
cat scripts/rod.4th | ./ac.jar -ptx PLASMA2-4TH.po bld/scripts/ROD.4TH TXT
cat scripts/bounce.4th | ./ac.jar -ptx PLASMA2-4TH.po bld/scripts/BOUNCE.4TH TXT
cat scripts/hrbounce.4th | ./ac.jar -ptx PLASMA2-4TH.po bld/scripts/HRBOUNCE.4TH TXT
#mkdir sysinet
#mkdir sysinet/sys
#cat rel/INET#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/INET REL
#cat rel/DHCP#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/DHCP REL
#cat rel/ETHERIP#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/ETHERIP REL
#cat rel/apple/UTHERNET2#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/UTHERNET2 REL
#cat rel/apple/UTHERNET#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/UTHERNET REL
#cat rel/TFTPD#FE1000 | ./ac.jar -p PLASMA2-2.1.po sysinet/sys/TFTPD REL
cp ../sysfiles/BLANK143.po PLASMA2-FPSOS.po
./ac.jar -n PLASMA2-FPSOS.po PLASMA.FPSOS
cat ../sysfiles/SOS.KERNEL#0C0000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.KERNEL \$0C
cat ../sysfiles/SOS.DRIVER#0C0000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.DRIVER \$0C
cat rel/apple/SOS.INTERP#050000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.INTERP \$05
cat rel/apple/SOS.CMD#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.CMD REL
cat rel/apple/SOS.INTERPJIT#050000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.INTERPJIT \$05
cat rel/apple/SOS.CMDJIT#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po SOS.CMDJIT REL
cat rel/apple/SOS#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po sys/SOS REL
cat rel/apple/GRAFIX#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po sys/GRAFIX REL
cat rel/FPSTR#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po sys/FPSTR REL
cat rel/FPU#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po sys/FPU REL
cat rel/SANE#FE1000 | ./ac.jar -p PLASMA2-FPSOS.po sys/SANE REL
cat ../sysfiles/FP6502.CODE#060000 | ./ac.jar -p PLASMA2-FPSOS.po sys/FP6502.CODE BIN
cat ../sysfiles/ELEMS.CODE#060000 | ./ac.jar -p PLASMA2-FPSOS.po sys/ELEMS.CODE BIN
#rm -rf demos
#cat rel/INT32TEST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/INT32TEST REL
#cat rel/apple/CONIOTST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/CONIOTST REL
#cat rel/apple/ROD#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/ROD REL
#cat rel/RPNCALC#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/RPNCALC REL
#cat rel/LZ4CAT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/LZ4CAT REL
#cat ../doc/ROGUE.LZ4.BIN | ./ac.jar -p PLASMA2-2.1.po demos/ROGUE.LZ4 BIN
#cat rel/PRIMEGAP#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/PRIMEGAP REL
#cat rel/ROGUE#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/rogue/ROGUE REL
#cat rel/ROGUECOMBAT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/rogue/ROGUECOMBAT REL
#cat rel/ROGUEMAP#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/rogue/ROGUEMAP REL
#cat samplesrc/LEVEL0#040000 | ./ac.jar -ptx PLASMA2-2.1.po demos/rogue/LEVEL0 TXT
#cat samplesrc/LEVEL1#040000 | ./ac.jar -ptx PLASMA2-2.1.po demos/rogue/LEVEL1 TXT
#cat rel/apple/PLAYSEQ#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/music/PLAYSEQ REL
#cat mockingboard/ultima3.seq | ./ac.jar -p PLASMA2-2.1.po demos/music/ULTIMA3.SEQ BIN
#cat mockingboard/startrek.seq | ./ac.jar -p PLASMA2-2.1.po demos/music/STARTREK.SEQ BIN
#cat rel/HTTPD#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/net/HTTPD REL
#cat samplesrc/index.html | ./ac.jar -ptx PLASMA2-2.1.po demos/net/INDEX.HTML TXT
#cat rel/apple/TILETEST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/TILETEST REL
#cat rel/apple/HGRTEST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/HGRTEST REL
#cat rel/apple/GRTEST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/GRTEST REL
#cat rel/apple/DGRTEST#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/DGRTEST REL
#cat rel/apple/SFM#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/spiders/SFM REL
#cat rel/apple/SFMSPRT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/spiders/SFMSPRT REL
#cat rel/apple/SPIPORT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/SPIPORT REL
#cat rel/apple/SDFAT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/SDFAT REL
#cat rel/apple/FATCAT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/FATCAT REL
#cat rel/apple/FATGET#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/FATGET REL
#cat rel/apple/FATPUT#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/FATPUT REL
#cat rel/apple/FATREADDSK#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/FATREADDSK REL
#cat rel/apple/FATWRITEDSK#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple2/sdutils/FATWRITEDSK REL
#cat rel/apple/GFXDEMO#FE1000 | ./ac.jar -p PLASMA2-2.1.po demos/apple3/GFXDEMO REL
#cat samplesrc/APPLE3.PIX#060000 | ./ac.jar -p PLASMA2-2.1.po demos/apple3/APPLE3.PIX BIN
cp ../sysfiles/BLANK143.po PLASMA2-BLD.po
./ac.jar -n PLASMA2-BLD.po PLASMA.BLD
cat rel/PLASM#FE1000 | ./ac.jar -p PLASMA2-BLD.po bld/PLASM REL
cat rel/CODEOPT#FE1000 | ./ac.jar -p PLASMA2-BLD.po bld/CODEOPT REL
cat samplesrc/hello.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/HELLO.PLA TXT
cat samplesrc/int32test.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/INT32TEST.PLA TXT
cat samplesrc/coniotst.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/CONIOTST.PLA TXT
cat samplesrc/grtest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/GRTEST.PLA TXT
cat samplesrc/dgrtest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/DGRTEST.PLA TXT
cat samplesrc/hgrtest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/HGRTEST.PLA TXT
cat samplesrc/tiletest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/TILETEST.PLA TXT
cat samplesrc/fibertest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/FIBERTEST.PLA TXT
cat samplesrc/mousetest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/MOUSETEST.PLA TXT
cat samplesrc/memtest.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/MEMTEST.PLA TXT
cat samplesrc/rod.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/ROD.PLA TXT
#cat samplesrc/sieve.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/SIEVE.PLA TXT
#cat samplesrc/test.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/TEST.PLA TXT
#cat samplesrc/testlib.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/TESTLIB.PLA TXT
cat samplesrc/playseq.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/PLAYSEQ.PLA TXT
cat samplesrc/rpncalc.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/RPNCALC.PLA TXT
cat samplesrc/fatcat.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/FATCAT.PLA TXT
cat samplesrc/gfxdemo.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/GFXDEMO.PLA TXT
cat samplesrc/lz4cat.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/LZ4CAT.PLA TXT
cat samplesrc/sfm.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/SFM.PLA TXT
cat samplesrc/sfmsprt.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/SFMSPRT.PLA TXT
cat samplesrc/fppow.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/FPPOW.PLA TXT
cat utilsrc/apple/mon.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/MON.PLA TXT
cat utilsrc/apple/zipchip.pla | ./ac.jar -ptx PLASMA2-BLD.po bld/samples/ZIPCHIP.PLA TXT
cat inc/args.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/ARGS.PLH TXT
cat inc/matchfiles.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/MATCHFILES.PLH TXT
cat inc/cmdsys.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/CMDSYS.PLH TXT
cat inc/conio.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/CONIO.PLH TXT
cat inc/lines.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/LINES.PLH TXT
cat inc/hgrfont.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/HGRFONT.PLH TXT
cat inc/hgrtile.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/HGRTILE.PLH TXT
cat inc/hgrsprite.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/HGRSPRITE.PLH TXT
cat inc/hgrlib.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/HGRLIB.PLH TXT
cat inc/grlib.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/GRLIB.PLH TXT
cat inc/dgrlib.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/DGRLIB.PLH TXT
cat inc/fiber.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/FIBER.PLH TXT
cat inc/fileio.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/FILEIO.PLH TXT
cat inc/int32.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/INT32.PLH TXT
cat inc/fpstr.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/FPSTR.PLH TXT
cat inc/fpu.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/FPU.PLH TXT
cat inc/mouse.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/MOUSE.PLH TXT
cat inc/inet.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/INET.PLH TXT
cat inc/longjmp.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/LONGJMP.PLH TXT
cat inc/memmgr.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/MEMMGR.PLH TXT
cat inc/sane.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/SANE.PLH TXT
cat inc/joybuzz.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/JOYBUZZ.PLH TXT
cat inc/portio.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/PORTIO.PLH TXT
cat inc/sdfat.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/SDFAT.PLH TXT
cat inc/sndseq.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/SNDSEQ.PLH TXT
cat inc/spiport.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/SPIPORT.PLH TXT
cat inc/testlib.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/TESTLIB.PLH TXT
cat inc/grafix.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/GRAFIX.PLH TXT
cat inc/lz4.plh | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/LZ4.PLH TXT
cat vmsrc/apple/plvmzp.inc | ./ac.jar -ptx PLASMA2-BLD.po bld/inc/PLVMZP.INC TXT

View File

@ -31,7 +31,7 @@ cat rel/FIBER#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/FIBER REL
cat rel/LONGJMP#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/LONGJMP REL
cat rel/MEMMGR#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/MEMMGR REL
cat rel/INET#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/INET REL
cat rel/DHCP#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/DHcat REL
cat rel/DHCP#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/DHCP REL
cat rel/ETHERIP#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/ETHERIP REL
cat rel/apple/MOUSE#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/MOUSE REL
cat rel/apple/UTHERNET2#FE1000 | ./ac.jar -p PLASMA-2.1.po sys/UTHERNET2 REL

View File

@ -1,7 +1,4 @@
' CONIOAPI ENDSRC ( Avoid multiple loads )
( LOADMOD" CONIO" CONIO is already available in plforth )
' CONIOAPI ENDSRC
LOOKUP CONIO CONSTANT CONIOAPI
CONIOAPI 3 IFACE PLASMA _HOME : HOME _HOME DROP ;
CONIOAPI 4 IFACE PLASMA _GOTOXY : GOTOXY _GOTOXY DROP ;

View File

@ -1,7 +1,4 @@
' FILEIOAPI ENDSRC ( Avoid multiple loads )
( LOADMOD" FILEIO" FILEIO is already available in plforth )
' FILEIOAPI ENDSRC
LOOKUP FILEIO CONSTANT FILEIOAPI
FILEIOAPI 2 IFACE PLASMA GETFILEINFO
FILEIOAPI 3 IFACE PLASMA SETFILEINFO

View File

@ -1,11 +1,8 @@
' FPULIB ENDSRC ( Avoid multipe loads )
' FPULIB ENDSRC
" SANE" LOADMOD" "
" FPSTR" LOADMOD" "
" FPU" LOADMOD" "
0 VARIABLE FPERR
LOOKUP FPU CONSTANT FPULIB
FPULIB 0 IFACE PLASMA _FPRESET : FPRESET _FPRESET FPERR ! ;
FPULIB 1 IFACE PLASMA _FPGETENV : FPGETENV _FPGETENV FPERR ! ;
@ -77,16 +74,11 @@ FPULIB 65 IFACE PLASMA _FPPOW : FPPOW _FPPOW FPERR ! ;
FPULIB 66 IFACE PLASMA _FPCOMP : FPCOMP _FPCOMP FPERR ! ;
FPULIB 67 IFACE PLASMA _FPANNUITY : FPANNUITY _FPANNUITY FPERR ! ;
FPULIB 68 IFACE PLASMA _FPRANDNUM : FPRANDNUM _FPRANDNUM FPERR ! ;
1 CONSTANT FPSTR.FIXED ( Fixed count of fractional digits )
0 CONSTANT FPSTR.FLOAT ( Floating count of fractional digits )
2 CONSTANT FPSTR.STRIP ( Strip trailing fractional zeros )
4 CONSTANT FPSTR.EXP ( Force exponential format )
8 CONSTANT FPSTR.FLEX ( Flexible switch to EXP format if over/underflow )
1 CONSTANT FPSTR.FIXED
0 CONSTANT FPSTR.FLOAT
2 CONSTANT FPSTR.STRIP
4 CONSTANT FPSTR.EXP
8 CONSTANT FPSTR.FLEX
: FP. HERE 10 4 FPSTR.FLEX FPSTR! HERE (.") ;
: FPEXT CREATE 10 ALLOT ;
FPRESET ( Load SANE code and set up libraries )
FPRESET

View File

@ -1,7 +1,5 @@
' GRMODE ENDSRC ( Avoid multiple loads )
" GRLIB" LOADMOD" "
LOOKUP GRPLOT PLASMA GRPLOT
LOOKUP GRHLIN PLASMA GRHLIN
LOOKUP GRVLIN PLASMA GRVLIN
@ -15,4 +13,4 @@ LOOKUP GRMODE PLASMA GRMODE
LOOKUP GRSHOW PLASMA GRSHOW
LOOKUP GRSWAP PLASMA GRSWAP
LOOKUP GRDRAWBUF PLASMA GRDRAWBUF
LOOKUP GRCOLOR PLASMA GRCOLOR
LOOKUP GRCOLOR PLASMA GRCOLOR

View File

@ -1,7 +1,5 @@
' HGRMODE ENDSRC ( Avoid multiple loads )
' HGRMODE ENDSRC
" HGRLIB" LOADMOD" "
LOOKUP HGRPLOT PLASMA HGRPLOT
LOOKUP HGRORPLOT PLASMA HGRORPLOT
LOOKUP HGRXORPLOT PLASMA HGRXORPLOT
@ -22,4 +20,4 @@ LOOKUP HGRMODE PLASMA HGRMODE
LOOKUP HGRSHOW PLASMA HGRSHOW
LOOKUP HGRSWAP PLASMA HGRSWAP
LOOKUP HGRDRAWBUF PLASMA HGRDRAWBUF
LOOKUP HGRCOLOR PLASMA HGRCOLOR
LOOKUP HGRCOLOR PLASMA HGRCOLOR

View File

@ -1,36 +1,33 @@
' DVAR ENDSRC ( Avoid multiple loads )
' DVAR ENDSRC
" INT32" LOADMOD" "
LOOKUP ZERO32 PLASMA ZERO32 ( -- )
LOOKUP ZEXT16TO32 PLASMA ZEXT32 ( -- )
LOOKUP NEG32 PLASMA NEG32 ( -- )
LOOKUP LOAD32 PLASMA LOAD32 ( i32ptr -- )
LOOKUP LOADI16 PLASMA LOAD16 ( imm16 -- )
LOOKUP STORE32 PLASMA STORE32 ( i32ptr -- )
LOOKUP ADD32 PLASMA ADD32 ( i32ptr -- )
LOOKUP ADDI16 PLASMA ADD16 ( imm16 -- )
LOOKUP SUB32 PLASMA SUB32 ( i32ptr -- )
LOOKUP SUBI16 PLASMA SUB16 ( imm16 -- )
LOOKUP SHL32 PLASMA SHL32 ( imm8 -- )
LOOKUP SHR32 PLASMA SHR32 ( imm8 -- )
LOOKUP MUL32 PLASMA MUL32 ( i32ptr -- )
LOOKUP MULI16 PLASMA MUL16 ( imm16 -- )
LOOKUP DIV32 PLASMA DIV32 ( i32ptr -- rem32 )
LOOKUP DIVI16 PLASMA DIV16 ( imm16 -- rem32 )
LOOKUP ISEQ32 PLASMA ISEQ32 ( i32ptr -- f)
LOOKUP ISEQI16 PLASMA ISEQ16 ( imm16 -- f)
LOOKUP IDGE32 PLASMA ISGE32 ( i32ptr -- f)
LOOKUP ISGEI16 PLASMA ISGE16 ( imm16 -- f)
LOOKUP ISLE32 PLASMA ISLE32 ( i32ptr -- f)
LOOKUP ISLEI16 PLASMA ISLE16 ( imm16 -- f)
LOOKUP ISGT32 PLASMA ISGT32 ( i32ptr -- f)
LOOKUP ISGTI16 PLASMA ISGT16 ( imm16 -- f)
LOOKUP ISLT32 PLASMA ISLT32 ( i32ptr -- f)
LOOKUP ISLTI16 PLASMA ISLT16 ( imm16 -- f )
LOOKUP I32TOS PLASMA I32TOS ( i32ptr strptr -- strptr )
LOOKUP PUTI32 PLASMA PUTI32 ( i32ptr -- )
LOOKUP ZERO32 PLASMA ZERO32
LOOKUP ZEXT16TO32 PLASMA ZEXT32
LOOKUP NEG32 PLASMA NEG32
LOOKUP LOAD32 PLASMA LOAD32
LOOKUP LOADI16 PLASMA LOAD16
LOOKUP STORE32 PLASMA STORE32
LOOKUP ADD32 PLASMA ADD32
LOOKUP ADDI16 PLASMA ADD16
LOOKUP SUB32 PLASMA SUB32
LOOKUP SUBI16 PLASMA SUB16
LOOKUP SHL32 PLASMA SHL32
LOOKUP SHR32 PLASMA SHR32
LOOKUP MUL32 PLASMA MUL32
LOOKUP MULI16 PLASMA MUL16
LOOKUP DIV32 PLASMA DIV32
LOOKUP DIVI16 PLASMA DIV16
LOOKUP ISEQ32 PLASMA ISEQ32
LOOKUP ISEQI16 PLASMA ISEQ16
LOOKUP IDGE32 PLASMA ISGE32
LOOKUP ISGEI16 PLASMA ISGE16
LOOKUP ISLE32 PLASMA ISLE32
LOOKUP ISLEI16 PLASMA ISLE16
LOOKUP ISGT32 PLASMA ISGT32
LOOKUP ISGTI16 PLASMA ISGT16
LOOKUP ISLT32 PLASMA ISLT32
LOOKUP ISLTI16 PLASMA ISLT16
LOOKUP I32TOS PLASMA I32TOS
LOOKUP PUTI32 PLASMA PUTI32
: DVAR CREATE 4 ALLOT ;
DVAR _DOP1
DVAR _DOP2

View File

@ -1,4 +1,4 @@
' IFACE ENDSRC ( Avoid multiple loads )
' IFACE ENDSRC
: IFACE 2 * + @ ;
LOOKUP CMDSYS 0 IFACE CONSTANT PLASMAVER
LOOKUP CMDSYS 2 IFACE CONSTANT CMDLINE
@ -7,13 +7,13 @@ LOOKUP STRCPY PLASMA STRCPY
LOOKUP STRCAT PLASMA STRCAT
LOOKUP TOUPPER PLASMA TOUPPER
LOOKUP HEAPAVAIL PLASMA FREEMEM
: LOADMOD ( modulename paramstr -- )
CMDLINE " . " STRCPY DROP ( Module name )
CMDLINE SWAP STRCAT DROP ( Parameter string )
: LOADMOD
CMDLINE " . " STRCPY DROP
CMDLINE SWAP STRCAT DROP
EXECMOD 0< ABORT" Failed to load module" ;
: LOADMOD" ( modulename -- )
PAD SWAP STRCPY ( Move module name out of the way in case its immediate )
CHAR " WORD ( Build a string from input )
: LOADMOD"
PAD SWAP STRCPY
CHAR " WORD
LOADMOD ;
: EDIT " ED" " " LOADMOD ;
: EDIT" " ED" LOADMOD" ;

View File

@ -94,7 +94,7 @@ const interponly_flag = $80
//
// Predefine instrinsics
//
predef _swap_(a,b)#2, _dashdup_(a)#1, _over_(a,b,c)#4, _rot_(a,b,c)#3
predef _swap_(a,b)#2, _dashdup_(a)#1, _over_(a,b)#3, _rot_(a,b,c)#3
predef _abs_(a)#1, _max_(a,b)#1, _min_(a,b)#1, _wplusset_(a,b)#0
predef _ffa_(a)#1, _lfa_(a)#1, _hfa_(a)#1, _cfa_(a)#1, _pfa_(a)#1, _allot_(a)#0
predef _branch_#0, _0branch_(a)#0, _if_#0, _else_#0, _then_#0
@ -105,9 +105,9 @@ predef _create_#0, _itcdoes_(a)#0, _does_#0, _compoff_#0, _compon_#0
predef _compile_#0, _dictaddw_(a)#0, _dictaddb_(a)#0, _colon_#0, _semi_#0
predef _componly_#0, _interponly_#0, _immediate_#0, _exit_#0, _pad_#1, _trailing_(a,b)#2
predef _tors_(a)#0, _fromrs_#1, _toprs_#1, _lookup_#1
predef _move_(a,b,c)#0, _fill_(a,b,c)#0, _plasma_(a)#0
predef _cmove_(a,b,c)#0, _move_(a,b,c)#0, _fill_(a,b,c)#0, _plasma_(a)#0
predef _var_(a)#0, _const_(a)#0, _lit_#1, _slit_#1, _find_(a)#2
predef _tick_#0, _forget_#0, _terminal_#1, _prat_(a)#0
predef _tick_#0, _forget_#0, _terminal_#1, _key_#1, _prat_(a)#0
predef _blank_#0, _char_#0, _str_#0, _prstr_#0, _prpstr_#0
predef _prval_(a)#0, _prbyte_(a)#0, _prhex_(a)#0, _accept_(a,b)#1, _type_(a,b)#0
predef _vlist_#0, _tron_#0, _troff_#0, _stepon_#0, _stepoff_#0
@ -295,24 +295,28 @@ byte = 0
word = @d_toprstk, 0, @_lookup_
// PLASMA LINKEAGE
char d_plasma = "PLASMA"
byte = imm_flag
byte = interponly_flag
word = @d_lookup, 0, @_plasma_
// VARIABLE
char d_var = "VARIABLE"
byte = imm_flag
byte = interponly_flag
word = @d_plasma, 0, @_var_
// CONSTANT
char d_const = "CONSTANT"
byte = imm_flag
byte = interponly_flag
word = @d_var, 0, @_const_
// CMOVE
char d_cmove = "CMOVE"
byte = showcr_flag
word = @d_const, 0, @_cmove_
// MOVE
char d_move = "MOVE"
byte = 0
word = @d_const, 0, @_move_
byte = showcr_flag
word = @d_cmove, 0, @_move_
// FILL
char d_fill = "FILL"
byte = 0
word = @d_move, 0, @_fill_
byte = showcr_flag
word = @d_cmove, 0, @_fill_
// HERE
char d_here = "HERE"
byte = 0
@ -323,7 +327,7 @@ byte = 0
word = @d_here, 0, @_pad_
// ALLOT
char d_allot = "ALLOT"
byte = 0
byte = showcr_flag
word = @d_pad, 0, @_allot_
// BRANCH ( not in vocabulary )
char d_branch = "(BRANCH)"
@ -495,7 +499,7 @@ byte = param_flag
word = 0, 0, @_lit_
// COMPILED LITERAL VALUE FROM STACK
char d_literal = "LITERAL"
byte = imm_flag
byte = imm_flag | componly_flag
word = @d_tick, 0, @_compliteral_
// ?TERMINAL
char d_terminal = "?TERMINAL"
@ -504,7 +508,7 @@ word = @d_literal, 0, @_terminal_
// KEY
char d_key = "KEY"
byte = 0
word = @d_terminal, 0, @getc
word = @d_terminal, 0, @_key_
// ACCEPT
char d_accept = "ACCEPT"
byte = 0
@ -666,11 +670,11 @@ byte = 0
word = @d_stepoff, 0, @_brk_
// BREAK ON
char d_brkon = "BRKON"
byte = imm_flag
byte = interponly_flag
word = @d_brk, 0, @_brkon_
// BREAK OFF
char d_brkoff = "BRKOFF"
byte = 0
byte = interponly_flag
word = @d_brkon, 0, @_brkoff_
// COMPILE USING ITC
char d_itc = "ITC"
@ -928,18 +932,18 @@ end
def _execword_(dentry)#0
when conio:keypressed()
is $83 // CTRL-C
getc // Clear KB
conio:getkey() // Clear KB
brkhandle(dentry)
break
is $94 // CTRL-T
getc // Clear KB strobe
conio:getkey() // Clear KB
state = state ^ trace_flag
break
wend
if state & trace_flag
showtrace(dentry)
if state & step_flag
if getc == $03 // CTRL-C
if conio:getkey() == $03 // CTRL-C
brkhandle(dentry)
fin
fin
@ -1067,8 +1071,8 @@ def _dashdup_(a)#1
if a; (@push)(a)#0; fin
return a
end
def _over_(a,b,c)#4
return a,b,c,a
def _over_(a,b)#3
return a,b,a
end
def _rot_(a,b,c)#3
return b,c,a
@ -1296,19 +1300,14 @@ def _compile_#0
fin
end
def _compoff_#0
if state & comp_flag
savestate = state & comp_flag
state = state & ~comp_flag
else
puts("[ Not compiling\n")
_quit_
fin
savestate = state & comp_flag
state = state & ~comp_flag
end
def _compon_#0
state = state | savestate
savestate = 0
if not (state & comp_flag)
puts("[ Not compiling\n")
puts("] Not compiling\n")
_quit_
fin
end
@ -1540,7 +1539,10 @@ def _accept_(a,b)#1
return len
end
def _terminal_#1
return ^$C000 > 127
return conio:keypressed() > 127
end
def _key_#1
return conio:getkey()
end
def _word_(a)#1
word wordptr
@ -1748,7 +1750,7 @@ def _show_#0
w = *pfa
fin
if conio:keypressed()
getc; getc
conio:getkey(); conio:getkey()
fin
loop
fin
@ -1831,27 +1833,36 @@ end
def _comment_#0
nextword(')')
end
def _vlist_#0
def typelist(typestr, typemask, type)#0
word d
byte tab
tab = 0
puts(typestr)
tab = ^typestr
d = vlist
while d
tab = tab + 1 + ^d
if tab > 39
putln;
tab = ^d
else
puts(" ")
fin
puts(d)
if conio:keypressed()
getc; getc
if (typemask & ^_ffa_(d)) == type
tab = tab + 1 + ^d
if tab > 39
putln;
tab = ^d
else
puts(" ")
fin
puts(d)
if conio:keypressed(); conio:getkey(); conio:getkey(); fin
fin
d = *_lfa_(d)
loop
end
def _vlist_#0
putln
typelist("Compile only: ", componly_flag, componly_flag)
putln; putln
typelist("Interpret only: ", interponly_flag, interponly_flag)
putln; putln
typelist("Both: ", componly_flag | interponly_flag, 0)
end
//
// Quit
//

View File

@ -291,26 +291,6 @@ DINTRP PHP
STX OPPAGE
LDY #$00
JMP FETCHOP
!AS
IINTRPX PHP
PLA
STA PSR
SEI
CLC ; SWITCH TO NATIVE MODE
XCE
+ACCMEM16 ; 16 BIT A/M
LDY #$01
LDA (TOS,S),Y
DEY
STA IP
PLA
STX ESP
TSX
STX HWSP
STX ALTRDON
LDX #>OPXTBL
STX OPPAGE
JMP FETCHOP
;************************************************************
;* *
;* 'BYE' PROCESSING - COPIED TO $1000 ON PRODOS BYE COMMAND *
@ -481,6 +461,29 @@ OPXTBL !WORD ZERO,CN,CN,CN,CN,CN,CN,CN ; 00 02
!WORD ADDLBX,ADDLWX,ADDABX,ADDAWX,IDXLBX,IDXLWX,IDXABX,IDXAWX ; B0 B2 B4 B6 B8 BA BC BE
!WORD NATV,JUMPZ,JUMP ; C0 C2 C4
;*
;* INDIRECT ENTRY INTO INTERPRETER
;*
!AS
IINTRPX PHP
PLA
STA PSR
SEI
CLC ; SWITCH TO NATIVE MODE
XCE
+ACCMEM16 ; 16 BIT A/M
LDY #$01
LDA (TOS,S),Y
DEY
STA IP
PLA
STX ESP
TSX
STX HWSP
STX ALTRDON
LDX #>OPXTBL
STX OPPAGE
JMP FETCHOP
;*
;* JIT PROFILING ENTRY INTO INTERPRETER
;*
!AS
@ -616,7 +619,7 @@ _MULSLP ASL
BNE _MULSLP
STA NOS,S ; PROD
JMP DROP
;
;MUL LDX #$04
; LDA NOS,S
; EOR #$FFFF

BIN
sysfiles/BLANK143.po Normal file

Binary file not shown.