This commit is contained in:
parent
21adfc8682
commit
fecbc999aa
275
installation.txt
275
installation.txt
|
@ -1,12 +1,13 @@
|
|||
|
||||
1. Installation des Grundsystems
|
||||
2. Forth im Überblick
|
||||
3. Regime im Überblick
|
||||
2. Regime im Überblick
|
||||
3. Forth im Überblick
|
||||
|
||||
|
||||
|
||||
|
||||
1. Installation des Grundsystems:
|
||||
=================================
|
||||
|
||||
TriOS kann in zwei Versionen instaliert werden: Mit oder ohne Forth als integrierte Programmiersprache. Als Standard wird das System ohne Forth installiert. Die Installation ist so für den Einsteiger einfacher. Möchte man auch PropForth installieren, muß nur eine Konfiguration geändert werden und ein Basiswortschatz im Forth selbst kompiliert werden.
|
||||
|
||||
|
@ -14,13 +15,18 @@ WICHTIG: Das System kann nur mit Brat's Spin Tool - kurz BST - compiliert werden
|
|||
|
||||
Downloadlink BST: http://www.fnarfbargle.com/bst.html
|
||||
|
||||
|
||||
|
||||
Installation ohne Forth (Standard):
|
||||
-----------------------------------
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
\flash\regnatix\regflash.spin --> Regnatix
|
||||
|
||||
|
||||
Installation mit Forth:
|
||||
-----------------------
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
|
@ -32,139 +38,29 @@ Installation mit Forth:
|
|||
|
||||
Nach einem Reset sollte sich das Forth jetzt komplett mit seinem Prompt sowohl auf dem angeschlossenen VGA-Monitor, als auch im Terminal melden. Im Prinzip benötigen wir nun das Terminalprogramm nicht mehr und können direkt am Hive arbeiten. Später, wenn man in Forth programmiert, ist die vorhandene Terminalschnittstelle aber manchmal sehr nützlich.
|
||||
|
||||
|
||||
|
||||
Erstellen der SDCard:
|
||||
---------------------
|
||||
|
||||
Im Prinzip kann jede normale FAT16/32 Karte verwendet werden. Lange Dateinamen werden nicht verwendet, Unterverzeichnisse sind kein Problem. Es ist sinnvoll, alle Dateien aus dem Verzeichnis "bin\sd-card\" auf die SD-Karte zu kopieren.
|
||||
|
||||
Das Verzeichnis "system" hat eine besondere Bedeutung: Hier sollten sich die Tools, Erweiterungen und Bibliotheken befinden. Mit dem Kommando "sys name.f" kann aus jedem anderen Verzeichnis ohne Wechsel die Datei name.f geladen und compiliert werden.
|
||||
|
||||
|
||||
|
||||
Systemstart:
|
||||
------------
|
||||
|
||||
Beim Systemstart wird immer das Forth aus dem EEPROM gestartet. So kann, wie mit den klassischen Homecomputern, sofort unkompliziert programmiert werden. Neben dem Forth gibt es im TriOS noch ein in Spin programmiertes Betriebssystem, welches sich dem Benutzer durch den Kommandointerpreter Regime präsentiert. Aus dem Forth kann diese mit dem Kommando "regime" gestartet werden. Im Gegenzug kann im laufenden Regime mit dem Kommando "forth" wieder zur integrierten Programmiersprache gewechselt werden.
|
||||
|
||||
Wurde TriOS ohne Forth installiert, wird der Loader aus dem EEPROM gestartet und sofort die Kommandozeile "Regime" aus der Datei reg.sys gestartet.
|
||||
|
||||
2. Forth im Überblick:
|
||||
|
||||
Einige nützliche Kommandos befinden sich in dem Modul tools.mod. In den meisten Fällen ist es sinnvoll dieses Modul mit der Befehlssequenz "sys tools.mod saveforth" fest im Forth einzubinden.
|
||||
|
||||
Wichtige Tastencodes:
|
||||
|
||||
[ESC]-1 Screen 1, COG 1
|
||||
[ESC]-2 Screen 2, COG 2
|
||||
[ESC]-3 Screen 3, COG 3
|
||||
[ESC]-b Break, Reset der aktuellen COG
|
||||
[ESC]-r Reset, Neustart Regnatix
|
||||
|
||||
Wichtige Kommandos:
|
||||
|
||||
load <name> - Datei laden und comilieren, Ausgabe Screen 3
|
||||
dload <name> - wie load, aber Ausgabe aktueller Screen
|
||||
sys <name> - Datei aus sys-Verzeichnis laden und compilieren
|
||||
ls - Dateiliste
|
||||
lsl - Dateiliste- Long-Format
|
||||
cd <name> - in Verzeichniss wechseln
|
||||
mount - SD-Card einbinden
|
||||
unmount - SD-Card freigeben
|
||||
words - Anzeige Wöterbuch
|
||||
mod? - (tools.mod) Anzeige compilierter Erweiterungen
|
||||
lib? - (tools.mod) Anzeige compilierter Bibliotheken
|
||||
cog? - (tools.mod) Anzeige COG-Liste
|
||||
cat <name> - (tools.mod) Ausgabe einer Textdatei
|
||||
less <name> - (tools.mod) Zeilenweise Textausgabe
|
||||
dm? - (tools.mod) Anzeige der Systemverzeichnisse
|
||||
regime - CLI starten
|
||||
aload <name> - Adminsitra-Code laden
|
||||
bload <name> - Bellatrix-Code laden
|
||||
spin <name> - Spin-Programm starten
|
||||
|
||||
Wichtige Dateien:
|
||||
|
||||
Die Dateien *.mod und *.lib enthalten ganz normale Forth-Quelltexte. Damit hat man schnell eine Übersicht über die grobe Funktion dieser Quellen: Lib's sind halt reine Sammlungen von Worten zu einer bestimmten Funktionsgruppe und MOD's sind mehr oder weniger fertige und abgeschlossene Programme. Ein Beispiel:
|
||||
|
||||
Die Datei hss.lib enthält Worte um die HSS-Funktionen von Administra anzusprechen. Mit diesen Funktionen kann man nun ein Modul (Programm) wie einen HSS-Soundplayer schreiben.
|
||||
|
||||
Im Gegensatz dazu die Datei splay.mod: Mit diesem Modul wird ein HSS-Soundplayer ins System eingefügt, welcher Funktionen aus der hss.lib verwendet.
|
||||
|
||||
Die Datei benötigt man aber mehr oder weniger nur zur Entwicklung, ein fertiges Modul wie splay.mod enthält dann schon die die entsprechenden HSS-Worte die benötigt werden.
|
||||
|
||||
Die ifnot: ... Anweisung sorgt dabei dafür, dass keine Funktionen doppelt in das Wörterbuch compiliert werden. Das ist quasi ein verteiltes und fein granuliertes Konzept analog zu einer DLL. Die Forth-Version funktioniert dabei aber im Gegensatz zu DLL's nicht auf Bibliotheks-, sondern auf Funktionsebene.
|
||||
|
||||
*.mod Module, Forth-Erweiterungen für das System
|
||||
*.lib Bibliotheken, grundlegende Wortsammlungen
|
||||
*.adm Administra-Code (z.Bsp. admsid.adm für SIDCog-Code)
|
||||
*.bel Bellatrix-Code
|
||||
*.bin Spin-Code, im Normalfall zur Ausführung in Regnatix
|
||||
|
||||
basics.f - (mod:basics) Hive-Core für PropForth
|
||||
ari.lib - (lib:ari) Zusätzliche arithmetische Funktionen
|
||||
cog.lib - (lib:cog) Zusätzliche COG-Funktionen
|
||||
adm.lib - (lib:adm) Administra-Chipmanagment-Funktionen
|
||||
hss.lib - (lib:hss) Bibliothek für Hydra-Sound-System
|
||||
sfx.lib - (lib:sfx) Soundeffekt-Bibliothek
|
||||
wav.lib - (lib:wav) Wave-Soundbibliothek
|
||||
|
||||
bel.lib - (lib:bel) Bellatrix-Chipmanagment-Funktionen
|
||||
key.lib - (lib:key) Tastatur-Bibliothek
|
||||
scr.lib - (lib:scr) Screen-Bibliothek
|
||||
sd0.lib - (lib:sd0) SD-Card-Bibliothek
|
||||
|
||||
debug.f - Nützliche Worte zur Fehlersuche und Entwicklung
|
||||
rom.f - EEPROM-Dateisystem
|
||||
tools.f - Nützliche Tools (cat, less, dm?...)
|
||||
hplay.f - HSS-Player
|
||||
wplay.f - WAV-Player
|
||||
splay.f - SID-Player
|
||||
|
||||
Administra-Codedateien im SYS-Verzeichnis:
|
||||
|
||||
admled.adm Testprogramm - HBeat-LED blinken lassen
|
||||
admsid.adm SidCog-Version (wird von splay benötigt)
|
||||
admsys.adm Standardcode für ADM mit SD/HSS/WAV
|
||||
admym.adm Yamaha-Soundchip-Version
|
||||
aterm96.adm Mini-OS für Administra (Testzwecke)
|
||||
|
||||
Reset-Fehlercodes:
|
||||
|
||||
0011FFFF - stack overflow
|
||||
0012FFFF - return stack overflow
|
||||
0021FFFF - stack underflow
|
||||
0022FFFF - return stack underflow
|
||||
8100FFFF - no free cogs
|
||||
8200FFFF - no free main memory
|
||||
8400FFFF - fl no free main memory
|
||||
8500FFFF - no free cog memory
|
||||
8800FFFF - eeprom write error
|
||||
9000FFFF - eeprom read error
|
||||
|
||||
.err-Fehlercodes:
|
||||
|
||||
0 no error
|
||||
1 fsys unmounted
|
||||
2 fsys corrupted
|
||||
3 fsys unsupported
|
||||
4 not found
|
||||
5 file not found
|
||||
6 dir not found
|
||||
7 file read only
|
||||
8 end of file
|
||||
9 end of directory
|
||||
10 end of root
|
||||
11 dir is full
|
||||
12 dir is not empty
|
||||
13 checksum error
|
||||
14 reboot error
|
||||
15 bpb corrupt
|
||||
16 fsi corrupt
|
||||
17 dir already exist
|
||||
18 file already exist
|
||||
19 out of disk free space
|
||||
20 disk io error
|
||||
21 command not found
|
||||
22 timeout
|
||||
23 parameter error
|
||||
|
||||
3. Regime im Überblick
|
||||
======================
|
||||
|
||||
Da wir ja drei verschiedene Teilsystem in unserem Computer haben, muss Regime wissen, für welchen Chip eine ausführbare Datei bestimmt ist. Den Typ ausführbarer Dateien kann Regime automatisch anhand der Dateinamenserweiterung unterscheiden:
|
||||
|
||||
|
@ -217,7 +113,10 @@ xrename <x:fn1> <x:fn2> - Datei im RAM umbenennen
|
|||
xdel <x:fn> - Datei im RAM löschen
|
||||
xtype <x:fn> - Textdatei im RAM anzeigen
|
||||
|
||||
|
||||
|
||||
EXTERNE KOMMANDOS:
|
||||
------------------
|
||||
|
||||
Die meisten Kommandozeilentools zeigen mit dem Parameter /? eine Liste der Optionen an.
|
||||
|
||||
|
@ -232,3 +131,141 @@ vga.bin - VGA 1024 x 768 Pixel, 64 x 24 Zeichen
|
|||
htext.bin - VGA 1024 x 768 Pixel, 128 x 48 Zeichen
|
||||
tv.bin - TV-Textmodus 40 x 13 Zeichen
|
||||
|
||||
|
||||
|
||||
|
||||
2. Forth im Überblick:
|
||||
======================
|
||||
|
||||
Einige nützliche Kommandos befinden sich in dem Modul tools.mod. In den meisten Fällen ist es sinnvoll dieses Modul mit der Befehlssequenz "sys tools.mod saveforth" fest im Forth einzubinden.
|
||||
|
||||
|
||||
|
||||
Wichtige Tastencodes:
|
||||
---------------------
|
||||
|
||||
[ESC]-1 Screen 1, COG 1
|
||||
[ESC]-2 Screen 2, COG 2
|
||||
[ESC]-3 Screen 3, COG 3
|
||||
[ESC]-b Break, Reset der aktuellen COG
|
||||
[ESC]-r Reset, Neustart Regnatix
|
||||
|
||||
|
||||
|
||||
Wichtige Kommandos:
|
||||
-------------------
|
||||
|
||||
load <name> - Datei laden und comilieren, Ausgabe Screen 3
|
||||
dload <name> - wie load, aber Ausgabe aktueller Screen
|
||||
sys <name> - Datei aus sys-Verzeichnis laden und compilieren
|
||||
ls - Dateiliste
|
||||
lsl - Dateiliste- Long-Format
|
||||
cd <name> - in Verzeichniss wechseln
|
||||
mount - SD-Card einbinden
|
||||
unmount - SD-Card freigeben
|
||||
words - Anzeige Wöterbuch
|
||||
mod? - (tools.mod) Anzeige compilierter Erweiterungen
|
||||
lib? - (tools.mod) Anzeige compilierter Bibliotheken
|
||||
cog? - (tools.mod) Anzeige COG-Liste
|
||||
cat <name> - (tools.mod) Ausgabe einer Textdatei
|
||||
less <name> - (tools.mod) Zeilenweise Textausgabe
|
||||
dm? - (tools.mod) Anzeige der Systemverzeichnisse
|
||||
regime - CLI starten
|
||||
aload <name> - Adminsitra-Code laden
|
||||
bload <name> - Bellatrix-Code laden
|
||||
spin <name> - Spin-Programm starten
|
||||
|
||||
|
||||
|
||||
Wichtige Dateien:
|
||||
-----------------
|
||||
|
||||
Die Dateien *.mod und *.lib enthalten ganz normale Forth-Quelltexte. Damit hat man schnell eine Übersicht über die grobe Funktion dieser Quellen: Lib's sind halt reine Sammlungen von Worten zu einer bestimmten Funktionsgruppe und MOD's sind mehr oder weniger fertige und abgeschlossene Programme. Ein Beispiel:
|
||||
|
||||
Die Datei hss.lib enthält Worte um die HSS-Funktionen von Administra anzusprechen. Mit diesen Funktionen kann man nun ein Modul (Programm) wie einen HSS-Soundplayer schreiben.
|
||||
|
||||
Im Gegensatz dazu die Datei splay.mod: Mit diesem Modul wird ein HSS-Soundplayer ins System eingefügt, welcher Funktionen aus der hss.lib verwendet.
|
||||
|
||||
Die Datei benötigt man aber mehr oder weniger nur zur Entwicklung, ein fertiges Modul wie splay.mod enthält dann schon die die entsprechenden HSS-Worte die benötigt werden.
|
||||
|
||||
Die ifnot: ... Anweisung sorgt dabei dafür, dass keine Funktionen doppelt in das Wörterbuch compiliert werden. Das ist quasi ein verteiltes und fein granuliertes Konzept analog zu einer DLL. Die Forth-Version funktioniert dabei aber im Gegensatz zu DLL's nicht auf Bibliotheks-, sondern auf Funktionsebene.
|
||||
|
||||
*.mod Module, Forth-Erweiterungen für das System
|
||||
*.lib Bibliotheken, grundlegende Wortsammlungen
|
||||
*.adm Administra-Code (z.Bsp. admsid.adm für SIDCog-Code)
|
||||
*.bel Bellatrix-Code
|
||||
*.bin Spin-Code, im Normalfall zur Ausführung in Regnatix
|
||||
|
||||
basics.f - (mod:basics) Hive-Core für PropForth
|
||||
ari.lib - (lib:ari) Zusätzliche arithmetische Funktionen
|
||||
cog.lib - (lib:cog) Zusätzliche COG-Funktionen
|
||||
adm.lib - (lib:adm) Administra-Chipmanagment-Funktionen
|
||||
hss.lib - (lib:hss) Bibliothek für Hydra-Sound-System
|
||||
sfx.lib - (lib:sfx) Soundeffekt-Bibliothek
|
||||
wav.lib - (lib:wav) Wave-Soundbibliothek
|
||||
|
||||
bel.lib - (lib:bel) Bellatrix-Chipmanagment-Funktionen
|
||||
key.lib - (lib:key) Tastatur-Bibliothek
|
||||
scr.lib - (lib:scr) Screen-Bibliothek
|
||||
sd0.lib - (lib:sd0) SD-Card-Bibliothek
|
||||
|
||||
debug.f - Nützliche Worte zur Fehlersuche und Entwicklung
|
||||
rom.f - EEPROM-Dateisystem
|
||||
tools.f - Nützliche Tools (cat, less, dm?...)
|
||||
hplay.f - HSS-Player
|
||||
wplay.f - WAV-Player
|
||||
splay.f - SID-Player
|
||||
|
||||
Administra-Codedateien im SYS-Verzeichnis:
|
||||
|
||||
admled.adm Testprogramm - HBeat-LED blinken lassen
|
||||
admsid.adm SidCog-Version (wird von splay benötigt)
|
||||
admsys.adm Standardcode für ADM mit SD/HSS/WAV
|
||||
admym.adm Yamaha-Soundchip-Version
|
||||
aterm96.adm Mini-OS für Administra (Testzwecke)
|
||||
|
||||
|
||||
|
||||
Reset-Fehlercodes:
|
||||
------------------
|
||||
|
||||
0011FFFF - stack overflow
|
||||
0012FFFF - return stack overflow
|
||||
0021FFFF - stack underflow
|
||||
0022FFFF - return stack underflow
|
||||
8100FFFF - no free cogs
|
||||
8200FFFF - no free main memory
|
||||
8400FFFF - fl no free main memory
|
||||
8500FFFF - no free cog memory
|
||||
8800FFFF - eeprom write error
|
||||
9000FFFF - eeprom read error
|
||||
|
||||
|
||||
|
||||
.err-Fehlercodes:
|
||||
-----------------
|
||||
|
||||
0 no error
|
||||
1 fsys unmounted
|
||||
2 fsys corrupted
|
||||
3 fsys unsupported
|
||||
4 not found
|
||||
5 file not found
|
||||
6 dir not found
|
||||
7 file read only
|
||||
8 end of file
|
||||
9 end of directory
|
||||
10 end of root
|
||||
11 dir is full
|
||||
12 dir is not empty
|
||||
13 checksum error
|
||||
14 reboot error
|
||||
15 bpb corrupt
|
||||
16 fsi corrupt
|
||||
17 dir already exist
|
||||
18 file already exist
|
||||
19 out of disk free space
|
||||
20 disk io error
|
||||
21 command not found
|
||||
22 timeout
|
||||
23 parameter error
|
||||
|
|
17
logbuch.txt
17
logbuch.txt
|
@ -4,19 +4,23 @@
|
|||
- überarbeitung der make.bat; es werden nun auch die alternativen slave-codes wie zum beispiel admsid erstellt.
|
||||
- in der standardkonfiguration ist jetzt forth deaktiviert - das ist einfacher für den einsteiger. forth ist dann "level 2".
|
||||
|
||||
achtung: im bst muß nun der compiler-suchpfad für trios auf das verzeichnis "lib" eingestellt werden.
|
||||
WICHTIG: im bst muß nun der compiler-suchpfad für trios auf das verzeichnis "lib" eingestellt werden.
|
||||
|
||||
|
||||
09.11.2011-dr235
|
||||
- fehler in regflash.spin behoben, konfiguration ohne forth konnte nicht compiliert werden
|
||||
- standartkonfiguration ist jetzt ohne forth, ist einfacher für den einstieg
|
||||
- div. demos entfernt, diese werden später getrennt in einer toolbox-serie veröffentlicht
|
||||
|
||||
|
||||
06.11.2011-dr235
|
||||
- fehlersuche zum problem mit dem neuen bella-loader: einige bel-dateien (guidemo, 4-boing) wurden nicht korrekt initialisiert, also starteten nicht sauber. parameter und ladevorgang ist korrekt, ursache ist wahrscheinlich eine falsche initialisierung der stackwerte im pasm-teil des loaders. als lösung kann man diese bel-dateien als eeprom-image abspeichern, diese starten korrekt.
|
||||
|
||||
|
||||
23.04.2011-dr235
|
||||
- integration von propforth in trios
|
||||
|
||||
|
||||
15-04-2011-dr235
|
||||
- flash-tool/rom: damit kann unter anderem eine bin-datei (z. bsp. basic) in den hi-rom (64k eeprom erforderlich!) gespeichert und mit rom gestartet werden
|
||||
- übernahme der rtc-routinen von stephan
|
||||
|
@ -24,6 +28,7 @@ achtung: im bst mu
|
|||
- perplex: experimentelles tool für plexbus (scan/open/close/get/put)
|
||||
- fterm: primitiv-terminal für forth-hive
|
||||
|
||||
|
||||
18-09-2010-dr235
|
||||
- regime: free zeigt jetzt auch die speicherbelegung des eram an
|
||||
- speicherverwaltung/ramdisk integriert (beispielcode siehe eram.spin & regime.spin)
|
||||
|
@ -36,38 +41,48 @@ achtung: im bst mu
|
|||
|
||||
WICHTIG: Pfad zur ios.spin im bst einstellen
|
||||
|
||||
|
||||
23-08-2010-dr040
|
||||
- integration ay-emulator (admay.adm) und yplay
|
||||
|
||||
|
||||
19-07-2010-dr235
|
||||
- booten eines alternativen administra-codes: befindet sich auf der karte in der root eine datei "adm.sys", so wird diese datei automatisch in administra geladen
|
||||
|
||||
|
||||
11-07-2010-dr235
|
||||
- integration sid1/2-funktionen in admsid/ios
|
||||
- anpassung sid-demo von ahle2 als regnatix-code (verzeichnis demo)
|
||||
- diverse graphics-spielereien (verzeichnis demo)
|
||||
- sysconf /af - administra neu booten (admflash.adm wird dadurch überflüssig)
|
||||
|
||||
|
||||
27-06-2010-dr085/235
|
||||
- admin mountet nun automatisch nach einem boot
|
||||
|
||||
|
||||
26-06-2010-dr235
|
||||
- div. demos zugefügt
|
||||
- shooter angepasst und eingefügt
|
||||
|
||||
|
||||
20-06-2010-dr235
|
||||
- erste lauffähige SID-Player-Version für die Kommandozeile (splay)
|
||||
|
||||
|
||||
14-06-2010-dr085/235
|
||||
- Semaphoren in FATEngine korrekt eingesetzt
|
||||
- Abfrage des Volume-Labels korrigiert
|
||||
|
||||
|
||||
10-06-2010-dr235
|
||||
- Kommando "ramtest" zugefügt
|
||||
|
||||
|
||||
09-06-2010-dr085
|
||||
- Fehler in Administra-Bootfunktion behoben
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------------
|
||||
|
||||
23-04-2011-dr235
|
||||
|
|
Loading…
Reference in New Issue