Update doku
This commit is contained in:
parent
6cfa45140b
commit
614f239fc2
336
README.md
336
README.md
|
@ -1,14 +1,17 @@
|
|||
INHALT
|
||||
======
|
||||
HIVE TriOS
|
||||
==========
|
||||
|
||||
1. Installations-Varianten
|
||||
2. Installation des Grundsystems
|
||||
3. Regime im Überblick
|
||||
4. Forth im Überblick
|
||||
Beschreibung
|
||||
------------
|
||||
|
||||
TriOS ist ein in SPIN geschriebenes Betriebssystem für den HIVE Computer.
|
||||
Für weitere Informationen wird auf die Webseite des Projektes verwiesen:
|
||||
http://hive-project.de
|
||||
|
||||
|
||||
1. Installations-Varianten
|
||||
==========================
|
||||
|
||||
Installations-Varianten
|
||||
-----------------------
|
||||
|
||||
Zur Installation von TriOS auf dem Hive stehen 3 verschiedene Varianten zur
|
||||
Verfügung, welche am Ende aber dasselbe Ergebnis erzielen:
|
||||
|
@ -37,318 +40,5 @@ Voraussetzung ist, daß sich die Commandline-Version des Compilers (bstc) im
|
|||
Pfad befindet.
|
||||
Downloadlink BSTC: http://www.fnarfbargle.com/bst/bstc/Latest/
|
||||
|
||||
|
||||
2. Installation des Grundsystems:
|
||||
=================================
|
||||
|
||||
TriOS kann in zwei Versionen installiert 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 ein Basiswortschatz im Forth selbst
|
||||
kompiliert werden.
|
||||
|
||||
|
||||
Installation ohne Forth (Standard):
|
||||
-----------------------------------
|
||||
|
||||
1. Mikrocontroller flashen:
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
\flash\regnatix\regflash.spin --> Regnatix
|
||||
|
||||
|
||||
Installation mit Forth:
|
||||
-----------------------
|
||||
|
||||
1. Mikrocontroller flashen:
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
\flash\regnatix\regforth.spin --> Regnatix
|
||||
|
||||
2. Der Schalter bleibt ab jetzt auf Regnatix stehen. Ein Terminalprogramm (ich
|
||||
verwende Tera Term) starten und 57600 Baud auf die Schnittstelle vom Hive
|
||||
(DIP steht auf Regnatix!) einstellen. Nach einem Reset meldet sich das
|
||||
Propforth im Terminalprogramm auf dem Hostcomputer. Datei "forth\basics.mod"
|
||||
in einem Editor öffnen, alles markieren, kopieren und im Terminal einfügen.
|
||||
Der Quelltext wird jetzt im Forth compiliert.
|
||||
|
||||
3. Im Terminalfenster, also im Forth, dass Kommendo "saveforth" eingeben. Damit
|
||||
wird das gesamte Forthsystem mit der gerade neu compilierten Erweiterungen
|
||||
wieder im EEPROM als Image gespeichert.
|
||||
|
||||
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. Im PropForth: Mit dem Kommando
|
||||
"sys name.f" kann aus jedem anderen Verzeichnis ohne Wechsel eine Datei name.f
|
||||
im Verzeichnis System 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.
|
||||
|
||||
|
||||
|
||||
|
||||
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:
|
||||
|
||||
*.bin Regnatix-Code
|
||||
*.bel Bellatrix-Code
|
||||
*.adm Administra-Code
|
||||
|
||||
Dabei genügt es, den Namen ohne Erweiterung einzugeben. Dennoch kann es
|
||||
vorkommen, das man eine normale Spin-Datei mit einer beliebigen Erweiterung
|
||||
gespeichert hat. Diese Datei kann man dann mit den Kommandos rload, aload oder
|
||||
bload ganz gezielt in einen Chip laden.
|
||||
|
||||
<dateiname> - bin/adm/bel-datei wird gestartet
|
||||
mount - SD-aufwerk mounten
|
||||
unmount - SD-Laufwerk freigeben
|
||||
dir wh - Verzeichnis anzeigen
|
||||
type <sd:fn> - Anzeige einer Textdatei
|
||||
aload <sd:fn> - Administra-Code laden
|
||||
bload <sd:fn> - Bellatrix-Code laden
|
||||
rload <sd:fn> - Regnatix-Code laden
|
||||
del <sd:fn> - Datei löschen
|
||||
cls - Bildschirm löschen
|
||||
free - Anzeige des freien Speichers auf SD-Card
|
||||
attrib <sd:fn> ashr - Dateiattribute ändern
|
||||
cd <sd:dir> - Verzeichnis wechseln
|
||||
mkdir <sd:dir> - Verzeichnis erstellen
|
||||
rename <sd:fn1> <sd:fn2> - datei/verzeichnis umbenennen
|
||||
format <volname> - SD-Laufwerk formatieren
|
||||
reboot - Hive neu starten
|
||||
sysinfo - Systeminformationen
|
||||
ipconfig - Netzwerk-Konfiguration
|
||||
color <0..7> - Farbe wählen
|
||||
cogs - Belegung der COG's anzeigen
|
||||
dmlist - Anzeige der Verzeichnis-Marker
|
||||
dm <r/s/u/a/b/c> - Marker-Verzeichnis wechseln
|
||||
dmset <r/s/u/a/b/c> - Marker setzen
|
||||
dmclr <r/s/u/a/b/c> - Marker löschen
|
||||
forth - Forth starten
|
||||
|
||||
Marker:
|
||||
r - Marker für Root-Verzeichnis
|
||||
s - Marker für System-Verzeichnis
|
||||
u - Marker für User-Verzeichnis
|
||||
a/b/c - Benutzerdefinierte Verzeichnismarker
|
||||
|
||||
Die r, s, u-Marker werden vom System automatisch gesetzt und intern verwendet.
|
||||
|
||||
RAMDISK:
|
||||
|
||||
xload <sd:fn> - Datei von SD-Laufwerk in RAM laden
|
||||
xsave <x:fn> - Datei aus RAM auf SD-Laufwerk speichern
|
||||
xdir - Verzeichnis im RAM anzeigen
|
||||
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.
|
||||
|
||||
sysconf - Systemeinstellungen
|
||||
hplay - HSS-Player
|
||||
wplay - WAV-Player
|
||||
splay - SID-Player
|
||||
yplay - Yamaha-Soundchip-Player
|
||||
sfxtool - HSS-Soundeffekte erstellen
|
||||
|
||||
ftp - FTP-Client
|
||||
irc - IRC Client
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
4. 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
|
||||
admnet.adm Netzwerk-Version (wird von ftp und irc benötigt)
|
||||
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
|
||||
Genaue Installation-Anleitungen und Einführungen befinden sich im Verzeichnis
|
||||
"doku".
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
Installation einfach (ohne FORTH)
|
||||
=================================
|
||||
|
||||
Mikrocontroller flashen:
|
||||
------------------------
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
\flash\regnatix\regflash.spin --> Regnatix
|
||||
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
Systemstart:
|
||||
------------
|
||||
|
||||
Aus dem EEPROM wird der Loader gestartet und sofort die Kommandozeile "Regime"
|
||||
aus der Datei reg.sys ausgeführt.
|
|
@ -0,0 +1,52 @@
|
|||
Installation mit FORTH
|
||||
======================
|
||||
|
||||
Grundinstallation:
|
||||
------------------
|
||||
|
||||
1. Mikrocontroller flashen:
|
||||
|
||||
\flash\administra\admflash.spin --> Administra
|
||||
\flash\bellatrix\belflash.spin --> Bellatrix
|
||||
\flash\regnatix\regforth.spin --> Regnatix
|
||||
|
||||
2. Der Schalter bleibt ab jetzt auf Regnatix stehen. Ein Terminalprogramm (ich
|
||||
verwende Tera Term) starten und 57600 Baud auf die Schnittstelle vom Hive
|
||||
(DIP steht auf Regnatix!) einstellen. Nach einem Reset meldet sich das
|
||||
Propforth im Terminalprogramm auf dem Hostcomputer. Datei "forth\basics.mod"
|
||||
in einem Editor öffnen, alles markieren, kopieren und im Terminal einfügen.
|
||||
Der Quelltext wird jetzt im Forth compiliert. Sind alle Erweiterungen
|
||||
compiliert, wird automatisch das Forth in den Flash geschrieben.
|
||||
|
||||
Nach einem automatischen 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. Im PropForth: Mit dem Kommando
|
||||
"sys name.f" kann aus jedem anderen Verzeichnis ohne Wechsel eine Datei name.f
|
||||
im Verzeichnis System 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.
|
|
@ -0,0 +1,106 @@
|
|||
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:
|
||||
|
||||
*.bin Regnatix-Code
|
||||
*.bel Bellatrix-Code
|
||||
*.adm Administra-Code
|
||||
|
||||
Dabei genügt es, den Namen ohne Erweiterung einzugeben. Dennoch kann es
|
||||
vorkommen, das man eine normale Spin-Datei mit einer beliebigen Erweiterung
|
||||
gespeichert hat. Diese Datei kann man dann mit den Kommandos rload, aload oder
|
||||
bload ganz gezielt in einen Chip laden.
|
||||
|
||||
<dateiname> - bin/adm/bel-datei wird gestartet
|
||||
mount - SD-aufwerk mounten
|
||||
unmount - SD-Laufwerk freigeben
|
||||
dir wh - Verzeichnis anzeigen
|
||||
type <sd:fn> - Anzeige einer Textdatei
|
||||
aload <sd:fn> - Administra-Code laden
|
||||
bload <sd:fn> - Bellatrix-Code laden
|
||||
rload <sd:fn> - Regnatix-Code laden
|
||||
del <sd:fn> - Datei löschen
|
||||
cls - Bildschirm löschen
|
||||
free - Anzeige des freien Speichers auf SD-Card
|
||||
attrib <sd:fn> ashr - Dateiattribute ändern
|
||||
cd <sd:dir> - Verzeichnis wechseln
|
||||
mkdir <sd:dir> - Verzeichnis erstellen
|
||||
rename <sd:fn1> <sd:fn2> - datei/verzeichnis umbenennen
|
||||
format <volname> - SD-Laufwerk formatieren
|
||||
reboot - Hive neu starten
|
||||
sysinfo - Systeminformationen
|
||||
color <0..7> - Farbe wählen
|
||||
cogs - Belegung der COG's anzeigen
|
||||
dmlist - Anzeige der Verzeichnis-Marker
|
||||
dm <r/s/u/a/b/c> - Marker-Verzeichnis wechseln
|
||||
dmset <r/s/u/a/b/c> - Marker setzen
|
||||
dmclr <r/s/u/a/b/c> - Marker löschen
|
||||
forth - Forth starten
|
||||
|
||||
Marker:
|
||||
r - Marker für Root-Verzeichnis
|
||||
s - Marker für System-Verzeichnis
|
||||
u - Marker für User-Verzeichnis
|
||||
a/b/c - Benutzerdefinierte Verzeichnismarker
|
||||
|
||||
Die r, s, u-Marker werden vom System automatisch gesetzt und intern verwendet.
|
||||
|
||||
RAMDISK:
|
||||
|
||||
xload <sd:fn> - Datei von SD-Laufwerk in RAM laden
|
||||
xsave <x:fn> - Datei aus RAM auf SD-Laufwerk speichern
|
||||
xdir - Verzeichnis im RAM anzeigen
|
||||
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.
|
||||
|
||||
beltest - Testprogramm für Bellatrix-Funktionen
|
||||
charmap - Ausgabe des aktuellen nutzbaren Zeichensatzes
|
||||
eram - Debugtool für eRAM/Ramdisk
|
||||
flash - Flash-Tool für EEProms > 32 KByte
|
||||
fm - [F]ile [M]anager
|
||||
fterm - minimalstes Terminal für PropForth-Experimente
|
||||
ftp - FTP-Downloadprogramm
|
||||
g0test - Testprogramm der Grafikmodus 0 Funktionen (TV)
|
||||
hplay - HSS-Player
|
||||
ipconfig - Setup für Netzwerkparameter (IP/GW usw.)
|
||||
irc - IRC-Client
|
||||
keycode - Tastaturcodes anzeigen
|
||||
m - Startcode für mental unter TriOS (sofern installiert)
|
||||
man - Anzeige von Manual-Pages
|
||||
perplex - PlexBus-Tool
|
||||
ramtest - eRAM Testprogramm
|
||||
rom - startet ein Image aus dem EEPROM > 32 KByte
|
||||
sfxtool - HSS-Soundeffekte erstellen
|
||||
splay - SID-Player
|
||||
sysconf - Systemeinstellungen
|
||||
tapecut - Tool um eine Containerdatei (Tape) für mental zu erzeugen
|
||||
time - Zeit/Datum anzeigen bzw. im RTC setzen
|
||||
websrv - Webserver (Demo)
|
||||
wplay - WAV-Player
|
||||
yplay - Yamaha-Soundchip-Player
|
||||
|
||||
Bellatrix-Codes:
|
||||
|
||||
vga - VGA 1024 x 768 Pixel, 64 x 24 Zeichen
|
||||
htext - VGA 1024 x 768 Pixel, 128 x 48 Zeichen
|
||||
tv - TV-Textmodus 40 x 13 Zeichen
|
||||
|
||||
Administra-Codes:
|
||||
|
||||
admay - Yamaha-Soundchip-Emulation
|
||||
admnet - LAN + HSS-Light-Sound
|
||||
admsid - SID-Chip-Emulation
|
||||
admsys - HSS/WAV-Sound (Defaultcode)
|
|
@ -0,0 +1,149 @@
|
|||
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
|
||||
admnet.adm Netzwerk-Version (wird von ftp und irc benötigt)
|
||||
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
|
|
@ -10,6 +10,7 @@ Funktionen. Als erste Anwendungen sind enthalten:
|
|||
- Ein FTP-Client, welcher Dateien von einem FTP-Server downloaden und in der
|
||||
RAM-Disk im eRAM oder auf SD-Card abspeichern kann.
|
||||
- Ein vollständiger IRC-Client
|
||||
- Die DEmo-Version eines Webservers
|
||||
Zukünftige Erweiterungen, wie die Integration in Regime und direktes Starten
|
||||
von Programmen aus dem Netzwerk sind geplant.
|
||||
|
||||
|
@ -125,7 +126,18 @@ abgespeichert. Von dort könnte sie direkt gestartet werden.
|
|||
IRC-Client
|
||||
----------
|
||||
|
||||
siehe IRC-CLIENT.md
|
||||
siehe [6-IRC-CLIENT.md]
|
||||
|
||||
Webserver
|
||||
---------
|
||||
|
||||
Der Webserver wird aus Regime ohne Parameter gestartet:
|
||||
|
||||
websrv
|
||||
|
||||
Damit ist der Hive mittels Browser unter seiter mittels ipconfig eingestellten
|
||||
Adresse erreichbar. Zur Demonstration wird die Hive-Id und eine sich ständig
|
||||
ändernde Zufallszahl angezeigt.
|
||||
|
||||
|
||||
Schlußbemerkung
|
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
|
@ -1,20 +1,22 @@
|
|||
r57 - xx-xx-xxxx-joergd
|
||||
=======================
|
||||
r57-nw1.5 - 23-07-2014-joergd
|
||||
=============================
|
||||
|
||||
Allgemein:
|
||||
- alle Spin-Dateien verwenden einheitlich UTF8-Kodierung und ein Zeilenende
|
||||
mit Linefeed (LF)
|
||||
|
||||
Administra:
|
||||
- Netzwerk-fähig
|
||||
- nur eine Source-Datei für alle Binaries, Funktionsauswahl über Defines
|
||||
- Plexbus, DCF77 und Bluetooth aus Basic/Plexus hinzugefügt
|
||||
- DCF77 und Bluetooth aus Basic/Plexus hinzugefügt
|
||||
|
||||
Netzwerk-Clients:
|
||||
- ipconfig
|
||||
- FTP-Client
|
||||
- IRC-Client
|
||||
|
||||
Netzwerk-Server:
|
||||
- Webserver (Demo)
|
||||
|
||||
fm, man:
|
||||
- Textdateien mit unterschiedlichem Zeilenende (CR, LF) werden unterstützt
|
||||
|
||||
|
@ -26,22 +28,67 @@ Make-Scripts:
|
|||
- Linux-Version (make.sh)
|
||||
- Erstellung verschiedener Anministra-Binaries per Defines
|
||||
- Erstellung beider Regime-Flash-Versionen (mit und ohne Forth)
|
||||
- Release-Script
|
||||
|
||||
|
||||
r57 - 21-06-2014-dr235
|
||||
======================
|
||||
|
||||
admflash:
|
||||
- Plexbusroutinen eingefügt
|
||||
- sd_del - Heartbeat-Sound angepasst
|
||||
|
||||
belflash:
|
||||
- per Compilerflag wählbare Monitorsettings eingefügt (57/60hz)
|
||||
|
||||
basic.mod (propforth):
|
||||
- Bei der Installation von TriOS mit Forth muss basic.mod nur noch eingefügt
|
||||
werden, damit wird automatisch geflasht und neu gestartet
|
||||
|
||||
lib:
|
||||
- adm-enc28j60 eingefügt, Treiber Netzwerkchip
|
||||
- adm-socket eingefügt, Netzwerksocket
|
||||
- adm-plx Code ausgebaut
|
||||
- bel-vga Monitorsettings
|
||||
- glob-con Plexbus/LAN-Konstanten eingefügt
|
||||
- glob-led-engine - neue lib für hbeat-led-pwm
|
||||
- gui-dlbox - Redraw beschleunigt
|
||||
- gui-wbox - Warnbox ist jetzt auch mit tab & esc bedienbar
|
||||
- m-glob-con - konstanten für sound und plexbus eingefügt
|
||||
|
||||
reg-ios:
|
||||
- Testfunktion für RTC
|
||||
- LAN-Funktionen eingefügt
|
||||
- Plexbus Funktionen eingefügt
|
||||
- printblk - Stringausgabe mit Längenangabe
|
||||
|
||||
system/administra:
|
||||
- admnet eingefügt
|
||||
|
||||
system/regnatix:
|
||||
- fm - Optimierungen und Detailverbesserungen
|
||||
- perplex - Plexbus Tool zugefügt
|
||||
- regime - sysinfo zeigt jetzt auch Devices am Plexbus an
|
||||
- man - Systemklänge angepasst, damit nicht ständig der Heartbeat beim Lesen
|
||||
läuft
|
||||
- ramtest - Anpassungen Maske/Farben
|
||||
|
||||
Dokumentation:
|
||||
- Neustrukturierung der Texte
|
||||
|
||||
|
||||
|
||||
r56 - 11-05-2013-dr235
|
||||
======================
|
||||
|
||||
und weiter gehts mit dem Frühjahresputz:
|
||||
|
||||
- umstellung Administra-Codes (admflash, admay, admsid) auf externe
|
||||
Konstantendefinitionen
|
||||
|
||||
belflash:
|
||||
|
||||
- fehler im loader behoben
|
||||
|
||||
lib:
|
||||
|
||||
- gui-objekte für textoberfläche eingefügt:
|
||||
|
||||
gui-dlbox - Listenbox für Dateien
|
||||
|
@ -50,7 +97,6 @@ lib:
|
|||
gui-wbox - Warnbox mit Auswahloptionen
|
||||
|
||||
system/regnatix:
|
||||
|
||||
- Filemanager fm zugefügt
|
||||
- Mental-Loader m zugefügt
|
||||
- Tool zum erstellen von tapes (mental-containerdateien) zugefügt
|
||||
|
@ -58,7 +104,6 @@ system/regnatix:
|
|||
- yplay: Konstanten ausgelagert
|
||||
|
||||
system/sonstiges:
|
||||
|
||||
- Manual zugefügt: error, fm
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Definitionen
|
||||
VERSION="57"
|
||||
VERSION="57-Network-1.5"
|
||||
|
||||
# Pfade
|
||||
ARCHIV="HIVE-TriOS-R${VERSION}"
|
||||
|
@ -23,8 +23,9 @@ ${MAKE}
|
|||
# ----------------------------------------------------------------
|
||||
# Archive erstellen
|
||||
|
||||
mkdir .tmp
|
||||
mkdir -p .tmp/doku
|
||||
for file in *.md ; do cp "$file" .tmp/"${file/.md}".txt ; done
|
||||
for file in doku/*.md ; do cp "$file" .tmp/"${file/.md}".txt ; done
|
||||
cd .tmp
|
||||
zip -r9 ../../${ARCHIV}-bin.zip *
|
||||
zip -r9 ../../${ARCHIV}-src.zip *
|
||||
|
|
Loading…
Reference in New Issue