FORTH für den KC85/2-4

für die Mühlhausener Rechner KC85/2-4 gab es ein fig-FORTH auf Kassette und als Modul M026

Bilder, Anleitung und weitere Infos gibt es auf

http://www.mpm-kc85.de/html/m026_forth.htm

Ein zusätzliches Programm FORTHEX realisiert den Diskettenzugriff für die Arbeit mit dem Softwaremodul M026 FORTH. Es erweitert das FORTH- Vokabular um die Worte:

DLOAD name
DSAVE name 
REN namealt nameneu
ERA name 
SETWR name
SETRO name 
STAT
DIR 

Das Programm FORTHEX.KCC wird vom CAOS-Menü mit dem Menüwort FLOAD von der CAOS-Diskette geladen. Es belegt den Speicherplatz 200H bis 6F0H.

(siehe D004 Bediener-HB, Teil B , Punkt 3.7., Seite 85 )

Ich habe alle Versionen reassembliert/decompiliert und voll kommentierte Assemblerlistings erstellt.

forth_kc85.zip

  • Anleitung FORTH-Handbuch als Wordstar-Dokument (original MPM), und konvertiert nach RTF
  • Anleitung FORTHEX aus D004-Bediener-Handbuch (und als Wordstar-Dokument original MPM)
  • Assemblerquellen, Listungs und Binaries zu
    • Kassettenversion 1.2
    • Modulversion 3.1
    • Erweiterung FORTHEX

Unterschiede Kassettenversion 1.2 ↔ ROM-Version 3.1

Obwohl beide Versionen gleich sein sollen, gibt es doch einige interne und offen sichtbare Unterschiede. Nicht umsonst ist auch die Versionsnummer in der Startmeldung unterschiedlich.

In der ROM-Version ist die Reihenfolge der Worte im Speicher anders. Es gibt zwei große Blöcke, die vertauscht sind (LIT-BUSOUT und CAOS-TASK) Wurden hier 2 Teile falsch zusammengelinkt?

Unterschiede in der Implementierung

(LOOP)		in Version 3.1 mit jrc statt jpm
DIGIT		-"-
(FIND)		-"-
EMIT,KEY,?TERMINAL	gehen direkt auf CAOS-Funktionen und nutzen keine
			Interface-Funktionen CIN, COUT, CSTAT (in 1.2 ab 28Ah)
LESS		in Version 3.1 mit jrc statt jpm
ULESS		in Version 3.1 als Primitive
;CODE		in Version 3.1 ohne TASK
EXPECT		in 1.2 Primitive, in 3.1. Primitive (EXPECT), zusätzlich EXPECT
		als Hi-Level-Word

WRM,CLD		in 3.1 anders implementiert
#BUFF		in 3.1 erweitert
FORGET		in 3.1 mit LESS statt ULESS
LIST		in 3.1 erweitert
PIX,PLOT	in 3.1 anders implementiert
CLOAD		in 3.1 erweitert
CSAVE		in 3.1 erweitert
EDIT		in 3.1 erweitert
DUMP		in 1.2 Hi-Level-Word, in 3.1. Primitive

Worte, die es in der anderen Version nicht gibt:

1.2			3.1
INIT			
			IOTAB
			INIT-BUFFERS
			NORMIN
			NORMOUT
			SETIN
			SETOUT
			SWITCH
			MODUL