POPFORTH
POPFORTH ist ein public domain Z80-figFORTH-Derivat von 1986. Ich habe 2024 eine Binärdatei nebst Dokumentation erhalten. Die original Assemblerquelle fehlte. Deshalb habe ich das Forth reassembliert und an die Lables und Kommentare des originalen figFORTH 1.10 angepasst.
Weitere Quellen oder Dokumente sind mir leider nicht bekannt.
Downloads
- popforth.zip Binary, Dokumentation, Assemblerquelltext (nicht das beschriebene Original) sowie zum Vergleich die Quellen zu figFORTH 1.10
- popforth.pdf originale Wordstar-Beschreibung als PDF-Dokument
Beschreibung
Mikroprozessortechnik, Berlin 1 (1987)4
An der Sektion Technische Elektronik der Wilhelm-Pieck-Universität Rostock wurde eine überarbeitete Version der figFORTH-8080-Version für CP/M- kompatible Betriebssysteme mit dem Namen popFORTH geschaffen, bei der die nutzerunfreundlichen Eigenarten der figFORTH-Version behoben wurden. Die entscheidenden Charakteristika von popFORTH sind:
- Automatische Anpassung an den Speicherraum (TPA)
- automatische Anpassung an das vom Betriebssystem benutzte Disketten-Aufzeichnungsformat mit Sektoranwahl über die logische Nummer
- im Kern implementierter Editor.
Da popFORTH dem figFORTH-Standard entsprechend eine eigene physische Massenspeicherverwaltung (BIOS- orientiert) besitzt, ist es für solche Anwendungsfälle geeignet, in denen eine BDOS-orientierte Verwaltung der FORTH-Dateien nicht benötigt wird, so daß z. B. Übergang auf physische Verwaltung durch andere Betriebssysteme oder die totale Übernahme aller Betriebssystemfunktionen durch FORTH selbst möglich ist.
popFORTH ist frei zur öffentlichen Verbreitung und wird gebührenfrei abgegeben (nach Einsendung einer 40spurigen formatierten Minidiskette im SCPX-Standardformat).
Die Diskette wird bespielt mit der kompletten Assemblerquelle, dem COM-File und einer knappen Dokumentation. Falls Nutzer unbedingt auf BDOS-orientierte logische Verwaltung der FORTH-Dateien angewiesen sind, kann auf die im gleichen Haus entwickelte sehr komfortable comFORTH-Version verwiesen werden (Gesamtumfang aller Nutzerpakete und Dokumentationen z. Z. etwa 11 Minidisketten), die im Rahmen der Nachnutzung verkauft wird. Neuthe
KONTAKT
Wilhelm-Pieck-Universität Rostock, Sektion Technische Elektronik, Bereich Automatische Steuerungen, Albert-Einstein-Str. 2, Rostock 6, 2500, Tel.45283.
Lauf
C0>dir C: POPFORTH COM C0>popforth ? *************************************************************** popFORTH - Initialisierung --------------------------------------------------------------- Welches Laufwerk soll DR0 entsprechen? (A,B,...,H) C Wieviel Laufwerke sollen ab einschliesslich Laufwerk C aufwaerts benutzt werden? (0...8) 1 Alle Disketten einlegen, dann RETURN druecken ***************************************************************? *************************************************************** Z80 popFORTH 1.0 - public domain version ===> vollstaendig kompatibel zu figFORTH <=== --------------------------------------------------------------- erstellt von: R. Neuthe Wilhelm-Pieck-Universitaet Rostock WB Automatische Steuerungen --------------------------------------------------------------- Diskettenkapazitaet : bis Screen # 0 freier Raum im Dictionary: 53125 Bytes *************************************************************** ok .CPU Z80 ok VLIST TASK ED WHERE EDITOR LINE TEXT TRIAD INDEX LIST BLOCK MAXBLK BUFFER DR1 DR0 EMPTY-BUFFERS UPDATE +BUF FLUSH (LINE) R/W T&SCALC SEC-WRITE SEC-READ DISK-PARM! SEC/DSK SEC/TRK DRIVE0 DPK@ RES_DSK SET-DRIVE SET-IO OFFSET DISK-ERROR PREV USE TRACK SEC DRIVE SCR SEC/BLK LIMIT FIRST #BUFF B/SCR B/BUF C/L .CPU .LINE ID. VLIST U. ? . D. .R D.R -TRAILING TYPE COUNT SPACES SPACE BL EXPECT #S # SIGN #> <# PAD HOLD BINARY DECIMAL HEX HLD R# FLD DPL OUT P! P@ ?TERMINAL CR KEY EMIT +LOOP LOOP DO WHILE ELSE IF REPEAT AGAIN UNTIL ENDIF BEGIN BACK ( IMMEDIATE DLITERAL LITERAL COMPILE [COMPILE] ." ] [ STATE DEFINITIONS --> LOAD ?LOADING ?STACK ?CSP !CSP ?PAIRS ?EXEC ?COMP ?ERROR MESSAGE ERROR (ABORT) BYE (BYE) COLD WARM ABORT QUIT INTERPRET NUMBER (NUMBER) DIGIT -FIND (FIND) WORD ENCLOSE QUERY CSP BASE IN BLK WARNING TIB FORGET ' SMUDGE LATEST PFA NFA CFA LFA TRAVERSE C, , ALLOT HERE FORTH CURRENT CONTEXT VOC-LINK DP FENCE WIDTH 3 2 1 0 VOCABULARY DOES> <BUILDS USER VARIABLE CONSTANT NOOP ; ;S : CREATE ;CODE (;CODE) M/MOD */ */MOD MOD / /MOD * M/ M* U/ U* MAX MIN DABS ABS D+- +- S->D 2+ 1+ - DMINUS MINUS D+ + > U< < = 0< 0= XOR OR AND +ORIG BLANKS ERASE FILL CMOVE TOGGLE +! 2! C! ! 2@ C@ @ LEAVE R> >R R I RP! RP@ SP! SP@ R0 S0 -DUP ROT 2DUP DUP SWAP DROP OVER (.") (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE LIT ok