223 lines
11 KiB
Plaintext
223 lines
11 KiB
Plaintext
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
|
||
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\lang1031\f0\fs20\par
|
||
1. Installation des Grundsystems\par
|
||
2. Forth im \'dcberblick\par
|
||
3. Regime im \'dcberblick\par
|
||
\par
|
||
\par
|
||
\par
|
||
\par
|
||
\ul\b 1. Installation des Grundsystems:\par
|
||
\ulnone\b0\par
|
||
1. Flashen der drei EEPROMS:\par
|
||
\par
|
||
\\flash\\administra\\admflash.spin\tab --> Administra\par
|
||
\\flash\\bellatrix\\belflash.spin\tab --> Bellatrix\par
|
||
\\flash\\regnatix\\regflash.spin\tab --> Regnatix\par
|
||
\par
|
||
2. Der Schalter bleibt ab jetzt auf Regnatix stehen. Ein Terminalprogramm (ich verwende Tera Term) starten und 57600 Baud auf die Schnittstelle vom Hive einstellen. Nach einem Reset meldet sich das Propforth im Terminal. Datei "system\\basics.f" in einem Editor \'f6ffnen, alles markieren, kopieren und im Terminal einf\'fcgen. Der Quelltext wird jetzt im Forth compiliert. \par
|
||
\par
|
||
3. Im Terminalfenster, aso im Forth, dass Kommendo "saveforth" eingeben. Damit wird das gesamte Forthsystem mit der gerade neu compilierten Erweiterungen wieder im EEPROM als Image gespeichert. \par
|
||
\par
|
||
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\'f6tigen wir nun das Terminalprogramm nicht mehr und k\'f6nnen direkt am Hive arbeiten. Sp\'e4ter, wenn man in Forth programmiert, ist die vorhandene Terminalschnittstelle aber manchmal sehr n\'fctzlich.\par
|
||
\par
|
||
\ul\b Erstellung einer Forth-SDCard:\par
|
||
\ulnone\b0\par
|
||
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-basic\\" auf die SD-Karte zu kopieren.\par
|
||
\par
|
||
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.\par
|
||
\par
|
||
\ul\b Systemstart:\par
|
||
\ulnone\b0\par
|
||
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\'e4sentiert. 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.\par
|
||
\par
|
||
\ul\b 2. Forth im \'dcberblick:\ulnone\b0\par
|
||
\par
|
||
Einige n\'fctzliche Kommandos befinden sich in dem Modul tools.mod. In den meisten F\'e4llen ist es sinnvoll dieses Modul mit der Befehlssequenz "sys tools.mod saveforth" fest im Forth einzubinden.\par
|
||
\par
|
||
\b Wichtige Tastencodes:\par
|
||
\b0\par
|
||
[ESC]-1\tab\tab Screen 1, COG 1\par
|
||
[ESC]-2 \tab Screen 2, COG 2\par
|
||
[ESC]-3 \tab Screen 3, COG 3\par
|
||
[ESC]-b \tab Break, Reset der aktuellen COG\par
|
||
[ESC]-r \tab\tab Reset, Neustart Regnatix\par
|
||
\par
|
||
\b Wichtige Kommandos:\par
|
||
\b0\par
|
||
load <name>\tab - Datei laden und comilieren, Ausgabe Screen 3\par
|
||
dload <name>\tab - wie load, aber Ausgabe aktueller Screen\par
|
||
sys <name>\tab - Datei aus sys-Verzeichnis laden und compilieren\par
|
||
ls \tab - Dateiliste\par
|
||
lsl \tab - Dateiliste- Long-Format\par
|
||
cd <name> \tab - in Verzeichniss wechseln\par
|
||
mount \tab - SD-Card einbinden\par
|
||
unmount \tab - SD-Card freigeben\par
|
||
words \tab - Anzeige W\'f6terbuch\par
|
||
mod? \tab - (tools.mod) Anzeige compilierter Erweiterungen\par
|
||
lib? \tab - (tools.mod) Anzeige compilierter Bibliotheken\par
|
||
cog? \tab - (tools.mod) Anzeige COG-Liste\par
|
||
cat <name> \tab - (tools.mod) Ausgabe einer Textdatei\par
|
||
less <name> \tab - (tools.mod) Zeilenweise Textausgabe\par
|
||
dm? \tab - (tools.mod) Anzeige der Systemverzeichnisse\par
|
||
regime\tab\tab - CLI starten\par
|
||
aload <name>\tab - Adminsitra-Code laden\par
|
||
bload <name>\tab - Bellatrix-Code laden\par
|
||
spin <name>\tab - Spin-Programm starten\par
|
||
\par
|
||
\b Wichtige Dateien:\par
|
||
\b0\par
|
||
Die Dateien *.mod und *.lib enthalten ganz normale Forth-Quelltexte. Damit hat man schnell eine \'dcbersicht \'fcber 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:\par
|
||
\par
|
||
Die Datei hss.lib enth\'e4lt Worte um die HSS-Funktionen von Administra anzusprechen. Mit diesen Funktionen kann man nun ein Modul (Programm) wie einen HSS-Soundplayer schreiben.\par
|
||
\par
|
||
Im Gegensatz dazu die Datei splay.mod: Mit diesem Modul wird ein HSS-Soundplayer ins System eingef\'fcgt, welcher Funktionen aus der hss.lib verwendet. \par
|
||
\par
|
||
Die Datei ben\'f6tigt man aber mehr oder weniger nur zur Entwicklung, ein fertiges Modul wie splay.mod enth\'e4lt dann schon die die entsprechenden HSS-Worte die ben\'f6tigt werden. \par
|
||
\par
|
||
Die ifnot: ... Anweisung sorgt dabei daf\'fcr, dass keine Funktionen doppelt in das W\'f6rterbuch 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. \par
|
||
\par
|
||
*.mod \tab Module, Forth-Erweiterungen f\'fcr das System\par
|
||
*.lib \tab Bibliotheken, grundlegende Wortsammlungen\par
|
||
*.adm \tab Administra-Code (z.Bsp. admsid.adm f\'fcr SIDCog-Code)\par
|
||
*.bel \tab Bellatrix-Code\par
|
||
*.bin\tab Spin-Code, im Normalfall zur Ausf\'fchrung in Regnatix\par
|
||
\par
|
||
basics.f \tab - (mod:basics) Hive-Core f\'fcr PropForth\par
|
||
ari.lib \tab\tab - (lib:ari) Zus\'e4tzliche arithmetische Funktionen\par
|
||
cog.lib \tab - (lib:cog) Zus\'e4tzliche COG-Funktionen\par
|
||
adm.lib \tab - (lib:adm) Administra-Chipmanagment-Funktionen\par
|
||
hss.lib \tab - (lib:hss) Bibliothek f\'fcr Hydra-Sound-System\par
|
||
sfx.lib \tab\tab - (lib:sfx) Soundeffekt-Bibliothek\par
|
||
wav.lib \tab - (lib:wav) Wave-Soundbibliothek\par
|
||
\par
|
||
bel.lib \tab\tab - (lib:bel) Bellatrix-Chipmanagment-Funktionen\par
|
||
key.lib \tab - (lib:key) Tastatur-Bibliothek\par
|
||
scr.lib \tab\tab - (lib:scr) Screen-Bibliothek\par
|
||
sd0.lib \tab - (lib:sd0) SD-Card-Bibliothek\par
|
||
\par
|
||
debug.f \tab - N\'fctzliche Worte zur Fehlersuche und Entwicklung\par
|
||
rom.f \tab - EEPROM-Dateisystem\par
|
||
tools.f \tab\tab - N\'fctzliche Tools (cat, less, dm?...)\par
|
||
hplay.f \tab - HSS-Player\par
|
||
wplay.f \tab - WAV-Player\par
|
||
splay.f \tab - SID-Player\par
|
||
\par
|
||
Administra-Codedateien im SYS-Verzeichnis:\par
|
||
\par
|
||
admled.adm \tab Testprogramm - HBeat-LED blinken lassen\par
|
||
admsid.adm \tab SidCog-Version (wird von splay ben\'f6tigt)\par
|
||
admsys.adm \tab Standardcode f\'fcr ADM mit SD/HSS/WAV\par
|
||
admym.adm \tab Yamaha-Soundchip-Version\par
|
||
aterm96.adm \tab Mini-OS f\'fcr Administra (Testzwecke)\par
|
||
\par
|
||
\b Reset-Fehlercodes:\par
|
||
\b0\par
|
||
0011FFFF - stack overflow\par
|
||
0012FFFF - return stack overflow\par
|
||
0021FFFF - stack underflow\par
|
||
0022FFFF - return stack underflow\par
|
||
8100FFFF - no free cogs\par
|
||
8200FFFF - no free main memory\par
|
||
8400FFFF - fl no free main memory\par
|
||
8500FFFF - no free cog memory\par
|
||
8800FFFF - eeprom write error\par
|
||
9000FFFF - eeprom read error\par
|
||
\par
|
||
\b .err-Fehlercodes:\par
|
||
\b0\par
|
||
0 no error\par
|
||
1 fsys unmounted\par
|
||
2 fsys corrupted\par
|
||
3 fsys unsupported\par
|
||
4 not found\par
|
||
5 file not found\par
|
||
6 dir not found\par
|
||
7 file read only\par
|
||
8 end of file\par
|
||
9 end of directory\par
|
||
10 end of root\par
|
||
11 dir is full\par
|
||
12 dir is not empty\par
|
||
13 checksum error\par
|
||
14 reboot error\par
|
||
15 bpb corrupt\par
|
||
16 fsi corrupt\par
|
||
17 dir already exist\par
|
||
18 file already exist\par
|
||
19 out of disk free space\par
|
||
20 disk io error\par
|
||
21 command not found\par
|
||
22 timeout\par
|
||
23 parameter error\par
|
||
\par
|
||
\ul\b 3. Regime im \'dcberblick\par
|
||
\par
|
||
\ulnone\b0 Da wir ja drei verschiedene Teilsystem in unserem Computer haben, muss Regime wissen, f\'fcr welchen Chip eine ausf\'fchrbare Datei bestimmt ist. Den Typ ausf\'fchrbarer Dateien kann Regime automatisch anhand der Dateinamenserweiterung unterscheiden:\par
|
||
\par
|
||
*.bin\tab Regnatix-Code\par
|
||
*.bel\tab Bellatrix-Code\par
|
||
*.adm\tab Administra-Code\par
|
||
\par
|
||
Dabei gen\'fcgt 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.\par
|
||
\par
|
||
<dateiname> \tab\tab - bin/adm/bel-datei wird gestartet\par
|
||
mount\tab\tab\tab\tab - SD-aufwerk mounten\par
|
||
unmount\tab\tab\tab - SD-Laufwerk freigeben\par
|
||
dir wh\tab\tab\tab\tab - Verzeichnis anzeigen\par
|
||
type <sd:fn>\tab\tab\tab - Anzeige einer Textdatei\par
|
||
aload <sd:fn>\tab\tab\tab - Administra-Code laden\par
|
||
bload <sd:fn>\tab\tab\tab - Bellatrix-Code laden\par
|
||
rload <sd:fn>\tab\tab\tab - Regnatix-Code laden\par
|
||
del <sd:fn>\tab\tab\tab - Datei l\'f6schen\par
|
||
cls\tab\tab\tab\tab - Bildschirm l\'f6schen\par
|
||
free\tab\tab\tab\tab - Anzeige des freien Speichers auf SD-Card\par
|
||
attrib <sd:fn> ashr\tab\tab - Dateiattribute \'e4ndern\par
|
||
cd <sd:dir>\tab\tab\tab - Verzeichnis wechseln\par
|
||
mkdir <sd:dir>\tab\tab\tab - Verzeichnis erstellen\par
|
||
rename <sd:fn1> <sd:fn2>\tab - datei/verzeichnis umbenennen\par
|
||
format <volname>\tab\tab - SD-Laufwerk formatieren\par
|
||
reboot\tab\tab\tab\tab - Hive neu starten\par
|
||
sysinfo\tab\tab\tab\tab - Systeminformationen\par
|
||
color <0..7>\tab\tab\tab - Farbe w\'e4hlen\par
|
||
cogs\tab\tab\tab\tab - Belegung der COG's anzeigen\par
|
||
dmlist\tab\tab\tab\tab - Anzeige der Verzeichnis-Marker\par
|
||
dm <r/s/u/a/b/c>\tab\tab - Marker-Verzeichnis wechseln\par
|
||
dmset <r/s/u/a/b/c>\tab\tab - Marker setzen\par
|
||
dmclr <r/s/u/a/b/c>\tab\tab - Marker l\'f6schen\par
|
||
forth\tab\tab\tab\tab - Forth starten\par
|
||
\par
|
||
Marker:\par
|
||
r\tab - Marker f\'fcr Root-Verzeichnis\par
|
||
s\tab - Marker f\'fcr System-Verzeichnis\par
|
||
u\tab - Marker f\'fcr User-Verzeichnis\par
|
||
a/b/c\tab - Benutzerdefinierte Verzeichnismarker\par
|
||
\par
|
||
Die r, s, u-Marker werden vom System automatisch gesetzt und intern verwendet.\par
|
||
\par
|
||
RAMDISK:\par
|
||
\par
|
||
xload <sd:fn>\tab\tab\tab - Datei von SD-Laufwerk in RAM laden\par
|
||
xsave <x:fn>\tab\tab\tab - Datei aus RAM auf SD-Laufwerk speichern\par
|
||
xdir\tab\tab\tab\tab - Verzeichnis im RAM anzeigen\par
|
||
xrename <x:fn1> <x:fn2> \tab - Datei im RAM umbenennen\par
|
||
xdel <x:fn>\tab\tab\tab - Datei im RAM l\'f6schen\par
|
||
xtype <x:fn>\tab\tab\tab - Textdatei im RAM anzeigen\par
|
||
\par
|
||
EXTERNE KOMMANDOS:\par
|
||
\par
|
||
Die meisten Kommandozeilentools zeigen mit dem Parameter /? eine Liste der Optionen an.\par
|
||
\par
|
||
sysconf \tab - Systemeinstellungen\par
|
||
hplay\tab\tab - HSS-Player\par
|
||
wplay\tab\tab - WAV-Player\par
|
||
splay\tab\tab - SID-Player\par
|
||
yplay\tab\tab - Yamaha-Soundchip-Player\par
|
||
sfxtool\tab\tab - HSS-Soundeffekte erstellen\par
|
||
\par
|
||
vga.bin\tab\tab - VGA 1024 x 768 Pixel, 64 x 24 Zeichen\par
|
||
htext.bin\tab - VGA 1024 x 768 Pixel, 128 x 48 Zeichen\par
|
||
tv.bin\tab\tab - TV-Textmodus 40 x 13 Zeichen\par
|
||
\par
|
||
}
|
||
|