mirror of
https://github.com/dschmenk/PLASMA.git
synced 2026-10-22 12:02:42 +00:00
Updates for FORTH scripts and demos
This commit is contained in:
1 parent
420af77a96
commit
a3dc055897
8 files changed
+88
-57
No files matched your search
+22
-12
@@ -1,19 +1,29 @@
|
||||
: ?PLASMA
|
||||
" IFACE" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" PLASMA.4TH" SRC
|
||||
THEN
|
||||
" IFACE" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" PLASMA.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?PLASMA ( Load PLASMA if not already )
|
||||
|
||||
: ?CONIO
|
||||
" CONIOAPI" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" CONIO.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?CONIO ( Load CONIO if not already )
|
||||
|
||||
: ?GRLIB
|
||||
" GRLIB" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" GRLIB.4TH" SRC
|
||||
THEN
|
||||
" GRLIB" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" GRLIB.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?GRLIB ( Load GRLIB if not already )
|
||||
@@ -26,9 +36,9 @@
|
||||
1 VARIABLE INCX
|
||||
1 VARIABLE INCY
|
||||
|
||||
: BEEP 30 10 TONE DROP ;
|
||||
: BEEP 30 10 TONE ;
|
||||
|
||||
: BOOP 10 30 TONE DROP ;
|
||||
: BOOP 10 30 TONE ;
|
||||
|
||||
: MOVEBALL
|
||||
BALLX @ 0= IF INCX @ NEGATE INCX ! BEEP THEN
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
( LOADMOD" CONIO" CONIO is already available in plforth )
|
||||
|
||||
LOOKUP CONIO CONSTANT CONIOAPI
|
||||
CONIOAPI 3 IFACE PLASMA _HOME : HOME _HOME DROP ;
|
||||
CONIOAPI 4 IFACE PLASMA _GOTOXY : GOTOXY _GOTOXY DROP ;
|
||||
CONIOAPI 7 IFACE PLASMA _TEXT : TEXT 40 _TEXT DROP ;
|
||||
CONIOAPI 8 IFACE PLASMA _GR : GR 1 _GR DROP ;
|
||||
CONIOAPI 9 IFACE PLASMA _COLOR : COLOR _COLOR DROP ;
|
||||
CONIOAPI 10 IFACE PLASMA _PLOT : PLOT _PLOT DROP ;
|
||||
CONIOAPI 11 IFACE PLASMA _TONE : TONE _TONE DROP ;
|
||||
CONIOAPI 12 IFACE PLASMA RAND
|
||||
@@ -0,0 +1,16 @@
|
||||
( LOADMOD" FILEIO" FILEIO is already available in plforth )
|
||||
|
||||
LOOKUP FILEIO CONSTANT FILEIOAPI
|
||||
FILEIOAPI 2 IFACE PLASMA GETFILEINFO
|
||||
FILEIOAPI 3 IFACE PLASMA SETFILEINFO
|
||||
FILEIOAPI 4 IFACE PLASMA GETEOF
|
||||
FILEIOAPI 5 IFACE PLASMA SETEOF
|
||||
FILEIOAPI 7 IFACE PLASMA OPEN
|
||||
FILEIOAPI 8 IFACE PLASMA CLOSE
|
||||
FILEIOAPI 9 IFACE PLASMA READ
|
||||
FILEIOAPI 10 IFACE PLASMA WRITE
|
||||
FILEIOAPI 11 IFACE PLASMA CREATE
|
||||
FILEIOAPI 12 IFACE PLASMA DESTROY
|
||||
FILEIOAPI 13 IFACE PLASMA RENAME
|
||||
FILEIOAPI 14 IFACE PLASMA NEWLINE
|
||||
FILEIOAPI 15 IFACE PLASMA ONLINE
|
||||
+1
-1
@@ -82,7 +82,7 @@ FPULIB 68 IFACE PLASMA _FPRANDNUM : FPRANDNUM _FPRANDNUM FPERR ! ;
|
||||
4 CONSTANT FPSTR.EXP ( Force exponential format )
|
||||
8 CONSTANT FPSTR.FLEX ( Flexible switch to EXP format if over/underflow )
|
||||
|
||||
: FP. HERE 4 4 FPSTR.FLOAT FPSTR! HERE (.") ;
|
||||
: FP. HERE 10 4 FPSTR.FLEX FPSTR! HERE (.") ;
|
||||
|
||||
FPRESET ( Load SANE code and set up libraries )
|
||||
|
||||
+32
-16
@@ -1,24 +1,40 @@
|
||||
: RESERVEHGR2
|
||||
$6000 HERE - DUP
|
||||
0< ABORT" Can't reserve HGR2"
|
||||
ALLOT
|
||||
;
|
||||
|
||||
RESERVEHGR2
|
||||
|
||||
: ?PLASMA
|
||||
" IFACE" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" PLASMA.4TH" SRC
|
||||
THEN
|
||||
" IFACE" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" PLASMA.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?PLASMA ( Load PLASMA if not already )
|
||||
|
||||
$6000 HERE - ALLOT ( Reserve HGR2 screen )
|
||||
|
||||
: ?HGRLIB
|
||||
" HGRLIB" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" HGRLIB.4TH" SRC
|
||||
THEN
|
||||
: ?CONIO
|
||||
" CONIOAPI" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" CONIO.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?HGRLIB ( Load HGRLIB if not already )
|
||||
?CONIO ( Load CONIO if not already )
|
||||
|
||||
: ?HGRLIB
|
||||
" HGRLIB" FIND
|
||||
SWAP DROP
|
||||
0= IF
|
||||
" HGRLIB.4TH" SRC
|
||||
THEN
|
||||
;
|
||||
|
||||
?HGRLIB ( Load GRLIB if not already )
|
||||
|
||||
5 VARIABLE BALLCLR
|
||||
10 VARIABLE BALLX
|
||||
@@ -28,9 +44,9 @@ $6000 HERE - ALLOT ( Reserve HGR2 screen )
|
||||
1 VARIABLE INCX
|
||||
1 VARIABLE INCY
|
||||
|
||||
: BEEP 30 10 TONE DROP ;
|
||||
: BEEP 30 10 TONE ;
|
||||
|
||||
: BOOP 10 30 TONE DROP ;
|
||||
: BOOP 10 30 TONE ;
|
||||
|
||||
: MOVEBALL
|
||||
BALLX @ 0= IF INCX @ NEGATE INCX ! BEEP THEN
|
||||
|
||||
+4
-28
@@ -7,14 +7,6 @@ LOOKUP STRCPY PLASMA STRCPY
|
||||
LOOKUP STRCAT PLASMA STRCAT
|
||||
LOOKUP HEAPAVAIL PLASMA FREEMEM
|
||||
|
||||
: .PLASMAVER
|
||||
PLASMA_VER 12 RSHIFT $0F AND 48 + EMIT
|
||||
PLASMA_VER 8 RSHIFT $0F AND 48 + EMIT
|
||||
46 EMIT
|
||||
PLASMA_VER 4 RSHIFT $0F AND 48 + EMIT
|
||||
PLASMA_VER $0F AND 48 + EMIT
|
||||
;
|
||||
|
||||
: LOADMOD ( modulename paramstr -- )
|
||||
CMDLINE " . " STRCPY DROP ( Dummy parameter for module name )
|
||||
CMDLINE SWAP STRCAT DROP
|
||||
@@ -59,29 +51,13 @@ LOOKUP HEAPAVAIL PLASMA FREEMEM
|
||||
" NEWDIR" LOADMOD"
|
||||
;
|
||||
|
||||
|
||||
( LOADMOD" FILEIO" FILEIO is already available in plforth )
|
||||
|
||||
LOOKUP FILEIO CONSTANT FILEIOAPI
|
||||
FILEIOAPI 0 IFACE PLASMA GETPFX
|
||||
FILEIOAPI 1 IFACE PLASMA SETPFX
|
||||
LOOKUP FILEIO 0 IFACE PLASMA GETPFX
|
||||
LOOKUP FILEIO 1 IFACE PLASMA SETPFX
|
||||
|
||||
: PFX.
|
||||
HERE GETPFX DROP HERE (.")
|
||||
;
|
||||
|
||||
: SETPFX"
|
||||
: PFX"
|
||||
34 WORD SETPFX DROP
|
||||
;
|
||||
|
||||
( LOADMOD" CONIO" CONIO is already available in plforth )
|
||||
|
||||
LOOKUP CONIO CONSTANT CONIOAPI
|
||||
CONIOAPI 3 IFACE PLASMA _HOME : HOME _HOME DROP ;
|
||||
CONIOAPI 4 IFACE PLASMA _GOTOXY : GOTOXY _GOTOXY DROP ;
|
||||
CONIOAPI 7 IFACE PLASMA _TEXT : TEXT 40 _TEXT DROP ;
|
||||
CONIOAPI 8 IFACE PLASMA _GR : GR 1 _GR DROP ;
|
||||
CONIOAPI 9 IFACE PLASMA _COLOR : COLOR _COLOR DROP ;
|
||||
CONIOAPI 10 IFACE PLASMA _PLOT : PLOT _PLOT DROP ;
|
||||
CONIOAPI 11 IFACE PLASMA _TONE : TONE _TONE DROP ;
|
||||
CONIOAPI 12 IFACE PLASMA RAND
|
||||
;
|
||||
Reference in new issue
Block a user