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.

  • 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

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:

  1. Automatische Anpassung an den Speicherraum (TPA)
  2. automatische Anpassung an das vom Betriebssystem benutzte Disketten-Aufzeichnungsformat mit Sektoranwahl über die logische Nummer
  3. 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.

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
  • forth/popforth.txt
  • Zuletzt geändert: 2025/01/06 14:01
  • von volkerp