KFORTH

KC87 - FIG-FORTH 1.2 © by LUBI-soft 30.03.90

aufgetaucht 2026 auf ROMs.

das ist ein FIG-Forth erweitert um einen Line-Editor, und Wörter zum Laden/Schreiben von/auf Kassette/Magnetband.

1K-Screens, 16 Zeilen a 64 Zeichen.

Start mit KFORTH

Dateiname KFORTH.COM
Laden in OS
Programmstandort 0300h-22FFh
Screenbuffer 4000h-7FFFh
OS-Kommando KFORTH
  • Binary, reass. Quellcode, Marken etc. vgl. Listing FIG-FORTH 1.1 CP/M.

TASK CLEAR F D S [S] H E [E] P R [ECHO] [-MOVE] [LINE] [TEXT] LOOK BYE FDOS .CPU TRIAD INDEX LIST VLIST U. ? . D. .R D.R #S # SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN BACK FORGET ' VERIFY CSAVE CLOAD –> LOAD FLUSH R/W BLOCK BUFFER EMPTY-BUFFERS UPDATE +BUF #BUFF SEC/BLK MESSAGE .LINE (LINE) M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S→D COLD WARM ABORT QUIT ( DEFINITIONS FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND NUMBER (NUMBER) WORD PAD HOLD BLANKS ERASE FILL QUERY EXPECT .„ (.“) -TRAILING TYPE COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [ COMPILE ?LOADING ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP PFA NFA CFA LFA LATEST TRAVERSE -DUP SPACE ROT > U< < = - C, , ALLOT HERE 2+ 1+ REC PREV-FILE DISK-ERROR DENSITY PREV USE TRACK SEC DRIVE HLD R# CSP FLD DPL BASE STATE CURRENT CONTEXT OFFSET SCR OUT IN BLK VOC-LINK DP FENCE WARNING WIDTH TIB R0 S0 +ORIGIN B/SCR B/BUF LIMIT FIRST C/L BL 3 2 1 0 USER VARIABLE CONSTANT ; : 2! C! ! 2@ C@ @ TOGGLE +! ASCII 2+ 2- 2DROP PICK ?DUP 2DUP DUP SWAP DROP OVER DMINUS MINUS D+ + 0< 0= R R> >R LEAVE ;S RP! RP@ SP! SP@ XOR OR AND U/ U* CMOVE CR ?TERMINAL KEY EMIT ENCLOSE (FIND) DIGIT I (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE LIT

(nur die Nicht-Standard-Worte)

.CPU
Anzeige CPU → U880
LOOK
Anzeige Base dezimal
FDOS
CALL 5 mit Param., FDOS ( regC regDE – regA regHL )
BYE
beendet KFORTH und kehrt ins OS zurück
CSAVE
Speicherbereich auf Kassette sichern. aadr eadr CSAVE, Filename wird abgefragt, Dateityp „.SCR“
CLOAD
Laden von Kassette. aadr CLOAD
VERIFY
Vergleichen. aadr VERIFY

Zeilen-Editor:

 
1 CLEAR
1 LIST
n S		select screen #n
n P text	put line n
n F
D
H
E n		empty line n
R

Die Vorlage für dieses Forth war vermutlich ein bereits angepasstes erweitertes FIG-FORTH (rom-fähig, vgl. a. FORTH für den KC85/2-4)

  • Es gibt einen kleinen Sprungverteiler am Programmanfang.
  • Next kann z.B. für einen Debugger erweitert werden. Dazu steht am Anfang von NEXT ein Sprung in den RAM, von hier geht es standardmäßig weiter in die interne NEXT-Routine zurück. Ein Debugger kann sich hier einklinken.
  • Alle Variablen sind als User-Variablen ausgelegt; der letzte Wörterbucheintrag FORTH wird in den RAM (bzw. hier ans Speicherende) kopiert, damit die Wörterbuchverlinkung für neue Einträge ermöglicht wird.
  • Allerdings sind die zusätzlichen Worte wie CLOAD/CSAVE nicht ROM-fähig, hier wird direkt im Codebereich geschrieben.
  • z9001/software/kforth.txt
  • Zuletzt geändert: 2026/04/02 13:45
  • von volkerp