From 614f239fc2017930d88f2da308d23328edeb700d Mon Sep 17 00:00:00 2001 From: Joerg Deckert Date: Wed, 23 Jul 2014 14:09:58 +0200 Subject: [PATCH] Update doku --- README.md | 336 +------------------------- doku/1-INSTALLATION-EINFACH.md | 29 +++ doku/2-INSTALLATION-FORTH.md | 52 ++++ doku/3-REGIME.md | 106 ++++++++ doku/4-FORTH.md | 149 ++++++++++++ NETZWERK.md => doku/5-LAN.md | 14 +- IRC-CLIENT.md => doku/6-IRC-CLIENT.md | 0 doku/trios-logo.jpg | Bin 0 -> 29648 bytes LOGBUCH.md => doku/x-LOGBUCH.md | 63 ++++- LIZENZ.md => doku/y-LIZENZ.md | 0 release.sh | 5 +- 11 files changed, 419 insertions(+), 335 deletions(-) create mode 100644 doku/1-INSTALLATION-EINFACH.md create mode 100644 doku/2-INSTALLATION-FORTH.md create mode 100644 doku/3-REGIME.md create mode 100644 doku/4-FORTH.md rename NETZWERK.md => doku/5-LAN.md (93%) rename IRC-CLIENT.md => doku/6-IRC-CLIENT.md (100%) create mode 100644 doku/trios-logo.jpg rename LOGBUCH.md => doku/x-LOGBUCH.md (92%) rename LIZENZ.md => doku/y-LIZENZ.md (100%) diff --git a/README.md b/README.md index 9f8190b..64cecc7 100644 --- a/README.md +++ b/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. - - - bin/adm/bel-datei wird gestartet -mount - SD-aufwerk mounten -unmount - SD-Laufwerk freigeben -dir wh - Verzeichnis anzeigen -type - Anzeige einer Textdatei -aload - Administra-Code laden -bload - Bellatrix-Code laden -rload - Regnatix-Code laden -del - Datei löschen -cls - Bildschirm löschen -free - Anzeige des freien Speichers auf SD-Card -attrib ashr - Dateiattribute ändern -cd - Verzeichnis wechseln -mkdir - Verzeichnis erstellen -rename - datei/verzeichnis umbenennen -format - 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 - Marker-Verzeichnis wechseln -dmset - Marker setzen -dmclr - 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 - Datei von SD-Laufwerk in RAM laden -xsave - Datei aus RAM auf SD-Laufwerk speichern -xdir - Verzeichnis im RAM anzeigen -xrename - Datei im RAM umbenennen -xdel - Datei im RAM löschen -xtype - 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 - Datei laden und comilieren, Ausgabe Screen 3 -dload - wie load, aber Ausgabe aktueller Screen -sys - Datei aus sys-Verzeichnis laden und compilieren -ls - Dateiliste -lsl - Dateiliste- Long-Format -cd - 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 - (tools.mod) Ausgabe einer Textdatei -less - (tools.mod) Zeilenweise Textausgabe -dm? - (tools.mod) Anzeige der Systemverzeichnisse -regime - CLI starten -aload - Adminsitra-Code laden -bload - Bellatrix-Code laden -spin - 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". diff --git a/doku/1-INSTALLATION-EINFACH.md b/doku/1-INSTALLATION-EINFACH.md new file mode 100644 index 0000000..a189520 --- /dev/null +++ b/doku/1-INSTALLATION-EINFACH.md @@ -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. diff --git a/doku/2-INSTALLATION-FORTH.md b/doku/2-INSTALLATION-FORTH.md new file mode 100644 index 0000000..8512e8c --- /dev/null +++ b/doku/2-INSTALLATION-FORTH.md @@ -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. diff --git a/doku/3-REGIME.md b/doku/3-REGIME.md new file mode 100644 index 0000000..15c961b --- /dev/null +++ b/doku/3-REGIME.md @@ -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. + + - bin/adm/bel-datei wird gestartet +mount - SD-aufwerk mounten +unmount - SD-Laufwerk freigeben +dir wh - Verzeichnis anzeigen +type - Anzeige einer Textdatei +aload - Administra-Code laden +bload - Bellatrix-Code laden +rload - Regnatix-Code laden +del - Datei löschen +cls - Bildschirm löschen +free - Anzeige des freien Speichers auf SD-Card +attrib ashr - Dateiattribute ändern +cd - Verzeichnis wechseln +mkdir - Verzeichnis erstellen +rename - datei/verzeichnis umbenennen +format - 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 - Marker-Verzeichnis wechseln +dmset - Marker setzen +dmclr - 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 - Datei von SD-Laufwerk in RAM laden +xsave - Datei aus RAM auf SD-Laufwerk speichern +xdir - Verzeichnis im RAM anzeigen +xrename - Datei im RAM umbenennen +xdel - Datei im RAM löschen +xtype - 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) diff --git a/doku/4-FORTH.md b/doku/4-FORTH.md new file mode 100644 index 0000000..18a30d0 --- /dev/null +++ b/doku/4-FORTH.md @@ -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 - Datei laden und comilieren, Ausgabe Screen 3 +dload - wie load, aber Ausgabe aktueller Screen +sys - Datei aus sys-Verzeichnis laden und compilieren +ls - Dateiliste +lsl - Dateiliste- Long-Format +cd - 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 - (tools.mod) Ausgabe einer Textdatei +less - (tools.mod) Zeilenweise Textausgabe +dm? - (tools.mod) Anzeige der Systemverzeichnisse +regime - CLI starten +aload - Adminsitra-Code laden +bload - Bellatrix-Code laden +spin - 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 diff --git a/NETZWERK.md b/doku/5-LAN.md similarity index 93% rename from NETZWERK.md rename to doku/5-LAN.md index 71748c4..b35c9fc 100644 --- a/NETZWERK.md +++ b/doku/5-LAN.md @@ -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 diff --git a/IRC-CLIENT.md b/doku/6-IRC-CLIENT.md similarity index 100% rename from IRC-CLIENT.md rename to doku/6-IRC-CLIENT.md diff --git a/doku/trios-logo.jpg b/doku/trios-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44ee96286dd49f2110630a8337822cb965779ff3 GIT binary patch literal 29648 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 literal 0 HcmV?d00001 diff --git a/LOGBUCH.md b/doku/x-LOGBUCH.md similarity index 92% rename from LOGBUCH.md rename to doku/x-LOGBUCH.md index fe2522f..8a0ac38 100644 --- a/LOGBUCH.md +++ b/doku/x-LOGBUCH.md @@ -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 diff --git a/LIZENZ.md b/doku/y-LIZENZ.md similarity index 100% rename from LIZENZ.md rename to doku/y-LIZENZ.md diff --git a/release.sh b/release.sh index 72e70fd..3914d17 100755 --- a/release.sh +++ b/release.sh @@ -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 *