1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-10-18 07:24:16 +00:00
Commit Graph

1120 Commits

Author SHA1 Message Date
David Schmenk
da404a8dfa Fix error in MACHID_MEM 2024-01-21 08:30:30 -08:00
dschmenk
9ff1695012 Fix disk name 2024-01-18 12:57:43 -08:00
dschmenk
86ef49cc5e All graphics libraries get consistent mode set API 2024-01-18 12:41:19 -08:00
dschmenk
8f3780617b All graphics libraries get consistent mode set API 2024-01-18 12:28:23 -08:00
David Schmenk
12216fcab5 Update default JIT parameters with improved VM16 2024-01-16 21:57:25 -08:00
David Schmenk
1d88369ae0 Call bytecode routines whithin VM16 to avoid stack conversion 2024-01-16 20:55:27 -08:00
David Schmenk
3b3fc24246 Fill out more FORTH <-> PLASMA librariesP 2024-01-16 10:09:08 -08:00
David Schmenk
232ced8fe3 Prepare for 2.1 release 2024-01-15 19:59:49 -08:00
David Schmenk
c3cc7cb139 DIVMOD now works properly 2024-01-14 21:43:57 -08:00
David Schmenk
751799352c FORTH and JIT compiler fighting over memory above heapmark for temp buffer space
Have FORTH trya nd reserve space for temp string and PAD away from potential JIT interference
2024-01-14 17:54:17 -08:00
David Schmenk
1be159e3ed Mostly working JIT16. Still an issue with +HRFORTH PBC HRBOUNCE.4th 2024-01-14 17:24:54 -08:00
David Schmenk
7fe51aaf56 Fix 16 bit VM except JIT compiler 2024-01-14 15:18:01 -08:00
dschmenk
eaa0e3c7d4 16 bit VM is a disaster. Needed complete architecture overhaul 2024-01-10 20:08:04 -08:00
David Schmenk
9f45afe3d0 Maybe I have the compile words right 2024-01-10 13:52:21 -08:00
dschmenk
85710bbfdf Fix some SOS exemod memory problems and remove last hard-coded Apple
II-ism from PLFORTH
2024-01-10 12:11:32 -08:00
David Schmenk
ef9fc81ece Break out the scripts to build individual release floppy images 2024-01-10 09:01:08 -08:00
David Schmenk
2eacd75b69 SHOW pretty print improvements 2024-01-10 08:24:50 -08:00
dschmenk
d5c22b1ff0 Get keypress/getkey working for Apple /// properly 2024-01-09 21:18:34 -08:00
dschmenk
dff6c2bd9b Merge branch 'master' of https://github.com/dschmenk/PLASMA 2024-01-09 20:23:47 -08:00
dschmenk
cefb8128c6 Rearrange code so BYE processing is in proper location 2024-01-09 20:22:21 -08:00
David Schmenk
6e03017d25 Use CONIO for ?TERMINAL and KEY words. Prepare Apple /// support for FORTH 2024-01-09 13:35:08 -08:00
David Schmenk
8985011207 Can't believe I got OVER wrong 2024-01-09 12:37:07 -08:00
David Schmenk
1548a63a9f Clean up ] and [ compile on/off 2024-01-09 11:12:20 -08:00
David Schmenk
1f1376c467 Catagorize words in VLIST and strip system scripts for faster loading 2024-01-09 11:04:29 -08:00
David Schmenk
5832883da9 Pretty list VLIST 2024-01-09 08:43:44 -08:00
David Schmenk
ea114c4350 Fix -TRAILING 2024-01-09 08:21:24 -08:00
David Schmenk
2770a6f774 Add CR to PBC compiled words for SHOW 2024-01-09 07:43:08 -08:00
David Schmenk
a755df496c Attempt better formatting for SHOW 2024-01-09 07:28:22 -08:00
David Schmenk
3f9f56be74 Use inline ops to compile ITC version. Slightly faster, less source 2024-01-09 05:52:56 -08:00
dschmenk
fa94f4c8d8 Break FORTH TFTP script 2024-01-08 16:41:56 -08:00
David Schmenk
b3f6c7970a Further source cleanup and calling it an Alpha 2024-01-08 15:55:07 -08:00
dschmenk
bc1cf8368d Get rid of EXPECT - ACCEPT does input better 2024-01-08 13:32:38 -08:00
dschmenk
d9d57f383d Fix ' (tick) that I broke 2024-01-08 13:02:50 -08:00
David Schmenk
3424b085cf Added ?NUM word to convert string to number 2024-01-08 12:42:13 -08:00
David Schmenk
eefd9ba2dd Can't put test for componly in execword 2024-01-08 11:37:25 -08:00
David Schmenk
9587423c46 End SRCing file input early 2024-01-08 11:28:09 -08:00
David Schmenk
d4dee597dc ENDSRC word to stop SRC input early 2024-01-08 05:33:03 -08:00
dschmenk
d1f99e1142 No, don't auto load PLASMA.4TH. Add batch file to create 800K ProDOS
disk with AppleCommander
2024-01-07 23:06:38 -08:00
David Schmenk
7bd13f1bcb Add FENCE and fix docolon itc_flag foible 2024-01-07 15:59:04 -08:00
David Schmenk
8999c3286f Auto SRC plasma.4th at PLFORTH startup 2024-01-07 14:13:08 -08:00
David Schmenk
bb4e0ee773 Add syspath to SRC" search and move system scripts there 2024-01-07 13:53:58 -08:00
David Schmenk
38832640e7 Don't add new word to vocabulary until after it's done compiling 2024-01-07 12:20:58 -08:00
dschmenk
ca4cebf394 Fill in disk image directories for PLFORTH # Please enter the commit
message for your changes. Lines starting # with '#' will be ignored,
and an empty message aborts the commit. # # On branch master # Your
branch is up to date with 'origin/master'. # # Changes to be
committed: # modified: ../mkrel # # Untracked files: #
../libsrc/apple/conio.a # ../libsrc/apple/dgrlib.a #
../libsrc/apple/fileio.a # ../libsrc/apple/grafix.a #
../libsrc/apple/grlib.a # ../libsrc/apple/hgrfont.a #
../libsrc/apple/hgrlib.a # ../libsrc/apple/hgrsprite.a #
../libsrc/apple/hgrtile.a # ../libsrc/apple/jit.a #
../libsrc/apple/jit16.a # ../libsrc/apple/joybuzz.a #
../libsrc/apple/matchfiles.a # ../libsrc/apple/mouse.a #
../libsrc/apple/portio.a # ../libsrc/apple/sdfat.a #
../libsrc/apple/sndseq.a # ../libsrc/apple/spiport.a #
../libsrc/apple/uthernet.a # ../libsrc/apple/uthernet2.a #
../libsrc/args.a # ../libsrc/dhcp.a # ../libsrc/etherip.a #
../libsrc/fiber.a # ../libsrc/fpstr.a # ../libsrc/fpu.a #
../libsrc/inet.a # ../libsrc/int32.a # ../libsrc/lines.a #
../libsrc/longjmp.a # ../libsrc/lz4.a # ../libsrc/memmgr.a #
../libsrc/sane.a # ../plasm # ../plvm # ./ # ../rel/ #
../samplesrc/coniotst.a # ../samplesrc/dgrtest.a #
../samplesrc/fatcat.a # ../samplesrc/fatget.a # ../samplesrc/fatput.a
../samplesrc/fibertest.a # ../samplesrc/gfxdemo.a #
../samplesrc/grtest.a # ../samplesrc/hgrtest.a # ../samplesrc/httpd.a
../samplesrc/memtest.a # ../samplesrc/playseq.a #
../samplesrc/primegap.a # ../samplesrc/rod.a # ../samplesrc/rogue.a #
../samplesrc/rogue.combat.a # ../samplesrc/rogue.map.a #
../samplesrc/rpncalc.a # ../samplesrc/sanity.a # ../samplesrc/sfm.a #
../samplesrc/sfmsprt.a # ../samplesrc/sieve.a #
../samplesrc/tiletest.a # ../toolsrc/codeopt.a # ../toolsrc/ed.a #
../toolsrc/hr2forth.a # ../toolsrc/hrforth.a # ../toolsrc/plasm.a #
../toolsrc/plforth.a # ../utilsrc/apple/cat.a #
../utilsrc/apple/copy.a # ../utilsrc/apple/del.a #
../utilsrc/apple/jitune.a # ../utilsrc/apple/mon.a #
../utilsrc/apple/newdir.a # ../utilsrc/apple/ren.a #
../utilsrc/apple/sos.a # ../utilsrc/apple/type.a #
../utilsrc/apple/zipchip.a # ../utilsrc/tftpd.a #
../vmsrc/apple/a1cmd.a # ../vmsrc/apple/cmd.a #
../vmsrc/apple/cmdjit.a # ../vmsrc/apple/plvm01.sym #
../vmsrc/apple/plvm02.sym # ../vmsrc/apple/plvm03.sym #
../vmsrc/apple/plvm802.sym # ../vmsrc/apple/plvmjit02.sym #
../vmsrc/apple/plvmjit03.sym # ../vmsrc/apple/soscmd.a #
../vmsrc/apple/soscmdjit.a # ../vmsrc/apple/sossys.a #
../vmsrc/apple/sossysjit.a #
2024-01-06 18:48:57 -08:00
dschmenk
93c72c98ed Update tftp scripts 2024-01-06 16:51:24 -08:00
David Schmenk
2e36d0f52f FIND returns same address as ' (tick) 2024-01-06 09:43:06 -08:00
David Schmenk
b54ba1fdaf CHAR word 2024-01-06 08:57:18 -08:00
David Schmenk
b481804a4d Might have COMPLE and [COMPILE] closer to correct 2024-01-06 08:46:31 -08:00
David Schmenk
9e42e3d640 Simplify DOES> with new JUMP bytecode 2024-01-06 08:04:42 -08:00
David Schmenk
a067c3e804 COMPLEMENT, not COMPLIMENT :-) 2024-01-06 07:04:44 -08:00
David Schmenk
1c3505a196 scripts ready for demo 2024-01-05 14:39:06 -08:00
David Schmenk
0d552c5e51 Update version # and add stubs to reserve HGR pages for PLFORTH 2024-01-05 12:52:49 -08:00
David Schmenk
41ad4e9778 Don't forget the ROD demo
Signed-off-by: David Schmenk <dschmenk@sbcglobal.net>
2024-01-05 08:25:53 -08:00
David Schmenk
a3dc055897 Updates for FORTH scripts and demos 2024-01-04 20:52:39 -08:00
David Schmenk
420af77a96 Additional script demos and associated bug fixes 2024-01-04 17:06:50 -08:00
David Schmenk
1db7cd16ee Lots of library updates and FORTH bugfixes importing existing libraries 2024-01-04 14:24:45 -08:00
David Schmenk
2d4417c698 Curate some built-in FORTH words and HGRLIB scripts 2024-01-03 19:18:38 -08:00
David Schmenk
68cc31993f Update all VMs with new FORTH opcodes 2024-01-03 13:03:48 -08:00
David Schmenk
54a256cd60 Add JUMP/JUMPZ opcodes to PLVM for PLFORTH 2024-01-03 07:05:46 -08:00
David Schmenk
1bf6c41be5 Fix add to hashtable in CREATE DOES>
Signed-off-by: David Schmenk <dschmenk@sbcglobal.net>
2024-01-03 06:32:59 -08:00
David Schmenk
75ef74b3ba Better, smaller, faster hash function
Signed-off-by: David Schmenk <dschmenk@sbcglobal.net>
2024-01-03 06:08:57 -08:00
David Schmenk
9aba6b71f1 Lots of forth word verification 2024-01-03 00:00:30 -08:00
David Schmenk
8dd03a3413 Slightly improve hash function 2024-01-01 14:36:49 -08:00
David Schmenk
3b8bad0abd Hash dictionary entries to speed up vocabulary lookup 2023-12-31 22:36:56 -08:00
David Schmenk
b466a48a16 Add remaining compile words 2023-12-31 17:57:18 -08:00
David Schmenk
1dd792e87c Add words to find existing words and improved versions of SRC 2023-12-31 11:32:14 -08:00
David Schmenk
6bb7a9dca9 Include conio inside plforth for keypress() 2023-12-31 10:19:37 -08:00
David Schmenk
a15658a714 Remove extraneous source and cleanup 2023-12-29 23:46:16 -08:00
David Schmenk
b2ddb0434d Fix running editor from inside forth 2023-12-29 20:44:25 -08:00
David Schmenk
965ccecf2a I think thic CREATE works properly 2023-12-29 19:59:43 -08:00
David Schmenk
3455286a48 Properly implement WORD externally and internally 2023-12-29 15:57:26 -08:00
David Schmenk
7ce2ab726c Clean up dictionary and add a few minor ops 2023-12-29 10:07:58 -08:00
David Schmenk
64b516f810 CASE clause 2023-12-28 22:07:40 -08:00
David Schmenk
f7c37de60a bounce.4th samplesrc (replaces gr.4th) 2023-12-28 17:05:02 -08:00
David Schmenk
3cb1d97a6c Clean up PLASMA interface and fix fileio when calling execmod 2023-12-28 16:43:53 -08:00
David Schmenk
5d6b9b1f7e Fix create and friends 2023-12-28 14:52:04 -08:00
David Schmenk
9aa0ab68ee modkeep some libraries so PLFORTH can link to them 2023-12-28 13:31:42 -08:00
David Schmenk
677869ed4c Linkeage to PLASMA symbol table 2023-12-28 12:58:35 -08:00
David Schmenk
a7c7cf9e19 dd ability to functionaly break out 2023-12-27 20:33:53 -08:00
David Schmenk
99d584f45f Add breakpoint 2023-12-27 20:24:57 -08:00
David Schmenk
7a73d2b621 Add CALL and RESTART 2023-12-27 10:21:54 -08:00
David Schmenk
e22e8f472f Clean up fileio module using sys fileio 2023-12-27 10:11:52 -08:00
David Schmenk
1ab3657f36 Allow for breaking into running program 2023-12-27 09:34:37 -08:00
David Schmenk
5dabd1dbb7 Compile both Indirect Threaded Code and PLASMA Byte Code 2023-12-26 21:41:20 -08:00
David Schmenk
645278604f Minor cleanup 2023-12-25 13:01:47 -08:00
David Schmenk
e953458e76 Exec with or without checks 2023-12-25 11:29:17 -08:00
David Schmenk
07e0397ba4 Simplified DOES> processing 2023-12-24 21:38:32 -08:00
David Schmenk
64b0e0ca80 Fix <BUILD DOES> 2023-12-24 19:36:56 -08:00
David Schmenk
4876ddea60 Lots of stack monitoring routines 2023-12-24 16:12:49 -08:00
David Schmenk
2fba961f14 Interpret file, including command line argument 2023-12-24 13:37:59 -08:00
David Schmenk
4d2ab77740 Better BYE after abort 2023-12-24 09:32:27 -08:00
David Schmenk
8d0dad15b3 EMIT and SHOW cleanup 2023-12-24 08:22:21 -08:00
David Schmenk
4e77f83bed DO LOOP 2023-12-23 22:03:12 -08:00
David Schmenk
59dbef75f1 Move flags into seperate field 2023-12-23 09:49:10 -08:00
David Schmenk
5de565ebb1 IF/THEN/ELSE words 2023-12-21 22:41:23 -08:00
David Schmenk
bf13409d16 Better comment handling and return stack ops 2023-12-20 12:52:31 -08:00
Dave Schmenk
c874426091 Refactor input handling 2023-12-19 20:35:08 -08:00
Dave Schmenk
ec9718de53 Functional <BUILD DOES> 2023-12-19 14:21:37 -08:00
Dave Schmenk
ec16b9cc78 Compile simple colon definitions 2023-12-18 16:47:12 -08:00
Dave Schmenk
27fc9a0fea Variable compiler 2023-12-17 14:10:08 -08:00
David Schmenk
3ddb448775 faster MUL for small numbers 2023-12-16 09:39:31 -08:00