Name : PLEXUS - Zentrale Kommunikationseinheit der Borg
Chip : Regnatix
Typ : Programm
Version : 02
Subversion : 00
Funktion : "Erste TRIOS-Shell für den Hive
Logbuch :
################################################### Version 1.00 ################################################################################################################
04-06-2013 : -Erster Fensteraufbau mit allgemeinen Funktionen
05-06-2013 : -Utilities-Fenster hinzugefügt, Anzeige der belegten Cogs ist möglich
06-06-2013 : -Farbänderung der Oberfläche mit Speicherung der eingestellten Werte auf SD-Card, Farben werden beim Start geladen
07-06-2013 : -Dateifenster erstellt -> mit Mausbedienung wird die Sache etwas komplizierter
10-06-2013 : -Statusleiste mit Uhranzeige, Startknopf und Anzeige der ausgewählten Datei
11-06-2013 : -Navigation in Dateifenster teilweise realisiert (Scrolling fehlt noch)
-Starten von BIN-Dateien möglich, Anzeigen von Text-und Basic-Dateien möglich, Abspielen von Sid-und DMP-Dateien möglich
-Starten von Bel und ADM-Dateien möglich
14-06-2013 : -Terminalfenster (Baudselektion fehlt noch) und Datum/Zeit-Einstellungen funktioniert
-E-Ram-Monitor funktioniert nur die Eingabe der Startadresse fehlt noch
-Dateiliste wird mit Attributen im E-Ram gespeichert, dadurch kann man im Dateifenster scrollen wärend Sid-File abgespielt wird
'################################################### Version 1.01 ################################################################################################################
21-06-2013 : -E-Ram-Monitor erweitert, jetzt kann man direkt in den Speicher schreiben
-E-Ram-Monitor Eingabe der Startadresse realisiert
-SD-Card - Format Befehl hinzugefügt, funktioniert noch nicht zuverlässig (keine Ahnung warum), außerdem wird der Vol-Name nicht immer richtig gelesen
22-06-2013 -Fehler gefunden ->waitcnt hat den Programmhänger verursacht ->ersetzt durch repeat-Schleife ->jetzt funktioniert alles wieder
-ändern von Dateiattributen eingefügt und funktioniert
-Datei-Icons hinzugefügt ->sieht cool aus :-)
-SID-DMP-Player realisiert
-Datei-Hex-Display hinzugefügt -> erreichbar über popupmenü (rechtsklick im Dateifenster)
24-06-2013 -Fehler in der Dateinamen-Anzeige in der Statuszeile bei Playerbetrieb korrigiert
'################################################### Version 1.02 ################################################################################################################
01-07-2013 -Datei-Kopierfunktion jetzt vorhanden
-Datei-Attribute ändern korrigiert (bisher konnte man nur ein attribut ändern, jetzt können mehrere Attribute gleichzeitig geändert werden)
-Dateilösch-Funktion korrigiert (hat bisher auch schreibgeschützte Dateien gelöscht, jetzt nicht mehr)
-Datei-Kopierfunktion beschleunigt (durch Read und WriteData-Funktion in adm-fat)
03-07-2013 -Mülleimerfunktion hinzugefügt, ist noch ausbaufähig :-(
-Möglichkeit, alle Dateien eines Verzeichnisses auf einmal zu kopieren oder zu löschen
-Korrektur der Pfadabfrage beim Start, jetzt wird nach Wiederkehr aus einer Bin-Datei in das Verzeichnis zurückgekehrt aus dem die Bin-Datei gestartet wurde
-E-Ram-Monitor Anzeige der geänderten Ram-Zeile nach Eingabe korrigiert
08-07-2013 -Versuch, Verknüpfungen für Verzeichnisse oder Bin-Dateien auf dem Desktop zu erstellen, mal sehen ,was daraus wird ?
-Fenster für externe Programme erstellt, hier sollen kleine externe Programme rein (Taschenrechner, Kalender usw.)
10-07-2013 -Desktopverknüpfungen sind jetzt startbar und werden in ini-Datei gesichert und beim Start auch wieder geladen
-Fehler noch in DMP-Player bei Aufruf von verknüpften DMP-Files (Anzeige im Player falsch)
'################################################### Version 1.03 ################################################################################################################
14-07-2013 -Korrektur der Playerroutine bei Start von Dmp-Datei-Desktop-Verknüpfungen
-Löschen von Desktop-Verknüpfungen möglich
-Fehler im Explorer beim Datei-Scrolling behoben
-Version 1.03 ist nun die erste offizielle Version für das Hive-Forum
17-07-2013 -Aufräumarbeiten
-Fehler in Reboot-Routine behoben (beim Reboot wurde die Ini-Datei mit falschen Werten für die Links überschrieben)
-Pfadanzeige in der Statusleiste stimmt noch nicht (springt man aus einem Unterverzeichnis eine Ebene höher, stimmt die Pfadanzeige nicht mehr)
18-07-2013 -Im Mülleimer keine Links möglich (ist ja der Mülleimer :)
-Ein Wechsel des Verzeichnisses im Mülleimer wird verhindert, da sonst die Pfadanzeige durcheinander kommt
-Pfadanzeige zeigt zumindest immer das richtige aktuelle Verzeichnis an (nicht den kompletten Pfad-> daran arbeite ich noch)
-Start von Links, wenn SD-Karte nicht gemounted war, führte zum Absturz -> behoben
23-07-2013 -System-Setting-Fenster erstellt, hier ist es möglich zu wählen, ob versteckte Dateien angezeigt werden und ob der Mülleimer verwendet wird
29-07-2013 -Abgespeckte DLL_Version erstellt um eingebettete Programme zu starten, diese Version wird nur von eingebetteten Programmen verwendet,
da grundlegende Startfunktionen fehlen, diese werden beim ersten Start der Shell geladen (Systemfont,Grafikinitialisierung usw.)
So sieht es zumindest optisch so aus, als würden die externen Programme in der Shell integriert sein
-Copymarker wird beim Schließen des Dateifensters gelöscht, sonst wird man ihn nicht mehr los (nur noch Paste im Popupmenue verfügbar)
-kleinere Korrekturen bei der Maus-Abfrage, etwas Code-Optimierung
-noch 2480 Longs frei
31-07-2013 -kleinere Aenderungen in der Fenster-Verwaltung
-ESC-Taste für Fensterlöschung eingefügt (löscht alle Fenster auf einmal)
-DMP-Player Steuerung jetzt auch mit den Tasten + =nächster Titel - =Titel zurück und Space =Play/Stop möglich
-Fehler in E-Ram-Poke im Ram-Monitor behoben (es wurde nach dem 8.Byte weiter geschrieben,jetzt wird immer an der achten Position beendet)
-noch 2412 Longs frei
'################################################### Version 1.04 ################################################################################################################
04-08-2013 -Erste Versuche eine allgemeine Startdatei zu erstellen, in der alle Parameter in den Ram geladen werden, danach wird die eigentliche Shell gestartet, das spart
Platz und es müssen nicht 2 Programme (die eigentliche Shell und die Dll gepflegt werden)
-Programmteil-Infofenster in Programmteil-Window zum größten Teil integriert -> Longs gespart
-Programm-Start-Logo hinzugefügt -> cooool
-Kalender integriert, über Doppelklick auf Datum erreichbar
-2220 Longs frei
05-08-2013 -kleinere Änderungen im seriellen Terminal, jetzt wird auch Backspace gesendet und im Terminal optisch korrekt auch bei Backspace geschrieben
-serielles Terminal-Eingabefenster um eine Zeile erweitert (jetzt 20 Zeilen)
-im Color-Setting-Fenster wird jetzt der Farbwert auch dezimal dargestellt, kann manchmal hilfreich sein
-Ini-Load und -Save optimiert
-Fehler bei Color-Settings beseitigt(wurden Farben geändert und das Color-Setting-Fenster geschlossen, wurden die Farben nicht zurückgesetzt)
-loadtile und LoadTileToRam-Routinen entfernt - werden nicht mehr benötigt, da die Tile Dateien in der Reg.sys geladen werden
-2499 Longs frei
'################################################### Version 1.05 #################################################################################################################
17-08-2013 -automatische Link-Aktualisierung (wird eine neue SD-Karte eingelegt, werden die, in der Ini gespeicherten Links auf dem Desktop aktualisiert, ist keine
Ini-Datei vorhanden, werden die Links auf dem Desktop gelöscht)
-Farb und Systemeinstellungen werden ebenfalls aktualisiert
-Fehler in der Anzeige der Dateianzahl behoben
-2456 Longs frei
18-08-2013 -Fehler in der Format-Routine von adm-fat.spin behoben (Hive hängte sich beim Format Befehl auf)
-Nach dem Formatieren wurde der Verzeichnisinhalt nicht korrekt dargestellt(nur Müll),Karte wurde aber korrekt formatiert
-ohne Einträge kommt die entspr.Routine aus dem Tritt, deshalb wird nach dem formatieren der Trash-Ordner und die Ini-Datei auf die SD-Karte geschrieben
-2454 Longs frei
19-08-2013 -noch etwas Codeoptimierung
-Fehler in der Darstellung des Dateinamens bei CLR-Dateien behoben
-optimiert,optimiert und wieder optimiert
-2613 Longs frei
21-08-2013 -noch etwas Codeoptimierung
-Korrektur Popup-Menue-X-Abfrage im Dateifenster (war zu groß)
-Abfrage beim Kopieren und Einfügen schon existierender Dateien eingebaut
-einige Änderungen in den Farbzuweisungen der Hilfsfenster (Kopier,Lösch,Playerfenster)
-Icon für CLR-Dateien eingepflegt
-2606 Longs frei
23-08-2013 -Änderung im Verzeichniswechsel, ein Doppelklick auf .. geht ein Verzeichnis höher und ein Doppelklick auf . wechselt ins Root-Verzeichnis
-User-Mauspfeil eingebaut, wird in der reg.ini gespeichert
-2550 Longs frei
24-08-2013 -Hex-Monitor um die Anzeige des HUB-Ram erweitert, Auswahl über Checkboxen
-Editierung aber nur im E-Ram möglich
-2501 longs frei
25-08-2013 -Dateifenster jetzt so gross wie Speichermonitor, Infofenster hat jetzt feste Position,da die gesamte Dateizeile als Rechtsklickbereich gilt
-und wieder ein paar longs eingespart
-2533 Longs frei
26-08-2013 -Fenster zusammengefasst, es gibt nur noch 2 Fenstertypen 1=Arbeitsfenster 2=Infofenster
-Hauptschleifen-Struktur umgebaut
-Strings zusammengefasst -> wieder Platz gespart
-2619 Longs frei
27-08-2013 -wieder Code geschrumpft
-Adresseingabe im Ram-Monitor korrigiert (5 Stellen sind möglich)
-Adressraum-Eingrenzung bei der Auswahl des Hub-Ram (hier nur 4-stellig), E-Ram 5-stellig
-2642 Longs frei
'################################################### Version 1.06 #################################################################################################################
29-08-2013 -wieder einige Optimierungen durchgeführt (Icon-Darstellung)
-2667 Longs frei
30-08-2013 -Fehler in der Checkboxen-Funktion behoben (falsche x-Koordinaten durch die Fensterzusammenfassung)
-2664 Longs frei
31-08-2013 -einige Texte in den Ram ausgelagert, spart massiv Platz
-Codeoptimierung
-2758 Longs frei
07-09-2013 -Fehler in Kopierfunktion behoben (bei der Meldung File exist wurde das Kopierfenster gelöscht und es war nur noch der Fortschrittsbalken sichtbar)
-Fehler in der Routine Mülleimer erstellen behoben (existierte das Verzeichnis nicht, wurde nach dem Erstellen der Verzeichnismarker falsch gelesen)
-Beim Wechsel der SD-Card wurde der Mauszeiger nicht aktualisiert ->behoben
-durch Optimierungen wieder etwas Code gespart
-2770 Longs frei
15-09-2013 -Hervorhebungsbalken für Dateinamen im Explorer hinzugefügt->noch nicht perfekt, da andersfarbige Dateinamen in der falschen Farbe zurückgeschrieben werden
-Fehler in der Playerroutine behoben (wurde nach dem Playerfenster ein anderes Fenster aufgerufen, löschte der Player nach Titelende eine Zeile im aktiven Fenster-->Balkenleer-Routine)
-Buttonweg-Routine beim Start hinzugefügt, um die Buttonwerte zu resetten(sonst erschien beim Klick in die Titelzeile ein ungewollter Button)
-playerstop-Funktion bei diversen Dateioperationen eingefügt um Fehlfunktionen abzufangen
-erste Codesegmente für Venatrix-Erweiterungskarte in reg-ios-64 eingebaut
-2686 Longs frei
17-09-2013 -Fehldarstellung Aboutbox, wenn Player lief behoben
-noch etwas Code geschrumfpt
-der Versuch, vollständiger Tastenbedienung von Plexus stellte sich als zu umfangreich heraus.->wird zurückgestellt,wegen Speichermangel
-2719 longs frei
22-09-2013 -Fehler Verzeichniswechsel im Trash-Ordner behoben
-Darstellung Trash in der Statusleiste hinzugefügt
-Venatrix-Dateien mit der Endung VNX sind nun startbar, entsprechende Routinen in reg-ios hinzugefügt
-2691 Longs frei
23-09-2013 -Abbruch-Möglichkeit beim Kopieren oder Löschen von Dateien eingebaut
-diverse Fehler in der Darstellung des Hervorhebungsbalkens behoben, hoffentlich funktioniert er jetzt richtig!?
-Venatrix-Platine eingetroffen, die Tests gehen in die nächste Runde nach Aufbau der Testplatine
'####################################### PLEXUS 2.0 mit VENATRIX und SEPIA-Unterstützung ########################################################################################
'***************************** Einbindung der Sepia-Karte, Einbindung der Bus-Erweiterungs-Platine Venatrix***********************************************************************
29-09-2013 -Venatrix-Karte eingebunden, wählbar über Settings
-Venatrix-Dateien startbar gemacht, noch hakt es manchmal !?
-erste Venatrix-Testdatei erstellt
-in Venatrix befindet sich ein Loader, der über den Start einer mit VNX endenden Venatrix-Datei mit User-Code gefüllt werden kann
-Basic,Climber,Boing neu kompiliert ->durch Venatrix-CS-Signal nötig
-fehlt noch die Sepia-Karten-Unterstützung
-2602 Longs frei
10-10-2013 -im Datei-Popupmenue den Befehl Delete mit Separator versehen
-Backup und Restore durch variablen Popupyy Merker erweitert um auf die verschiedenen Popupmenue-Längen richtig zu reagieren
-Dateihervorhebung merkt sich jetzt auch die Farbe von Verzeichnissen und schreibt die Namen in der richtigen Farbe zurück
-Start-Logo-Datei reg.sys für Version 2.0 farblich verändert
-2592 Longs frei
28-10-2013 -Anzeige der Anzahl der Verzeichnisse in der Titelzeile des Dateifensters und Korrektur der Datei und Verzeichniszählung
-2503 Longs frei
02-11-2013 -Sepia-Testprogramm entworfen, Digital-Port- und Joystickabfragen funktionieren schon
-startbar über das Programms-Fenster durch klick auf das IO-Card-Symbol ganz links
-2482 Longs frei
08-11-2013 -Sicherheitsabfrage für zu ladende Dateien und Links hinzugefügt
-Neues Datei-Icon für externe Programme hinzugefügt
-externe Programme haben die Dateiendung DLL
-2450 Longs frei
11-11-2013 -Sepia-Card-Scanner eingebaut, jetzt wird automatisch auf eine Sepia-Karte gescannt und im Settingmenue angezeigt
-Für die Venatrix-Karte hab ich noch keine Idee für den Scanner, Bus_putchar und Bus_getchar scheiden aus, da sie auf Signale warten und so
-bei nicht angeschlossener Karte das System einfrieren (waitpeq-Befehl)
-2442 Longs frei
13-11-2013 -Venatrix-Card-Erkennung über Register 7 des Plx-Pollers realisiert, Pin 22 vom ADM-Port wird auf High abgefragt. Mittels Pullup-Widerstand auf
-der Venatrix-Bus-Platine am Port 22 des ADM-Ports wird das Vorhandensein der Venatrix-Karte abgefragt
-2429 Longs frei
15-11-2013 -Der Puffer für Bildschirmbereiche wurde von Bellatrix in den E-Ram verschoben, dadurch wurden in Bella ca.600Longs frei und es ist nun möglich, große
-Bildschirmbereiche zu puffern und wieder herzustellen
-somit wird das Überlappen und Wiederherstellen von mehreren Fenstern möglich, ob ich das mache, weis ich noch nicht
-Menueroutinen entfernt (durch die Pufferverlagerung nicht mehr nötig)->umgestellt auf popup
-noch etwas Code geschrumpft
-2433 Longs frei
20-11-2013 -Venatrix-Karten-Erkennung erfolgt über den EEPROM von Venatrix am Sepia-I2C-Bus (Adresse $50), keine Ahnung, ob das sauber ist, funktioniert aber
-Entsprechende Routinen für Cog-Anzeige und Setting-Anzeige angepasst und zusammengefasst, dadurch wieder etwas Code gespart
-Venatrix hat jetzt einen eigenen I2C-Slave Treiber und wird über Adresse 5 erkannt
-2434 Longs frei
24-11-2013 -Durch diverse Versuche hat sich herausgestellt, das die Ping-Funktion allein nicht ausreicht um
-das Vorhandensein der Sepia oder Venatrix-Karte zu detektieren, da eine nicht angeschlossene Karte
-eine Null zurückgibt, genauso wie ein angeschlossener I2C-Teilnehmer. Deshalb wird beim Scan die
-Anzahl Nullen mit der Gesamtanzahl der Adressen verglichen. Ist die Anzahl zurückgegebener Nullen
-mit der Anzahl Adressen identisch, so ist offensichtlich keine Karte vorhanden. Diese Methode
-verhindert Fehldetektionen und gerade in Verbindung mit der Venatrixkarte ein Festfahren des HIVE
-zum Beispiel bei Aufruf der Cog-Anzeige.
-2440 Longs frei
'################################################### Version 2.01 #################################################################################################################
21-12-2013 -Venatrix-Karten-Erkennung umgebaut, da sie nicht richtig funktionierte
-2432 Longs frei
'################################################### Version 2.02 #################################################################################################################
27-01-2014 -es geht weiter
-Window-Routine wird von Bellatrix übernommen, entsprechend in Plexus gekürzt
-Fehler in der Popup_Info_weg Routine behoben, der rechte Schließen Button konnte auch nach dem Löschen des Fensters angeklickt werden
-Close_Klick und Double_Klick zusammengefasst
-2478 Longs frei
30-01-2014 -Close_klick entfernt und durch ios.get_window ersetzt, dadurch Code gespart
-Routine Hauptschirm entfernt
-werde versuchen einen Scheduler einzubauen, mal sehen, was draus wird
-Icon's für Scheduler erstellt und erste Anzeigetests für die Bimmel -> sieht cool aus
-2468 Longs frei
12-02-2014 -Änderungen in der admsid.spin, die Abfrage der Sepia-Karte muss vor dem Starten eines neuen Administra-Codes beendet werden, sonst funktionieren
-Programme, die eigenen Administra-Code mitbringen nicht korrekt -> in diesem Fall der IRC-Client von Joerg
-Jetzt ist das Starten des IRC-Clienten aus Plexus möglich :-)
-sollte jetzt auch das Problem mit Basic 2.1 und älteren Plexus-Varianten behoben sein?
'################################################### Version 2.03 #################################################################################################################
14-02-2014 -Beginn des Einbau's der Tastaturbedienung von Plexus
-Regal-Aufrufe auf die F-Tasten gelegt
-Mülleimer anzeigen, leeren auf Taste T und E
-Mount/Unmount auf Taste M
-SD-Card-Info auf Taste I
-Enter-Taste als OK-Tastenabfrage
-hoch und runter scrollt durch das Datei- und Ram-Monitor-Fenster
-Links sind startbar über Taste L und Nummerntaste 1..3
-im Programms-Fenster per Nummerntaste DLL-Programm starten (momentan nur 1 und 2)
-System-Info-Fenster F6 und Nummerntasten 1-3
-2314 Longs frei
15-02-2014 -durch die Tastenbedienung wird eine Hilfe nötig, in der die Tastenbelegung erklärt wird
-Hilfefenster über Taste F1 erreichbar (eigentlich nur das Textdisplay, funktioniert auch so), ruft die Datei Hilfe.txt auf
-2311 Longs frei
18-02-2014 -Tastatureinbindung fortgesetzt, Dateihandling im Explorer realisiert, noch nicht hundertprozentig perfekt ->Copy und Paste fehlt noch
-Handling im Color-Settings-Fenster und Baud-Settings fehlt noch
-2220 Longs frei
19-02-2014 -Baud-Einstellung funktioniert mit Tastenbedienung
-Pfeilnavigation im Color-Fenster funktioniert
-Fehler in Dir-Speicher-Lösch-Routine behoben (ein Eintrag zuviel übrig geblieben)
-Korrektur der Explorer-Tastenbedienung (Scrollroutine hat nicht richtig funktioniert)
-2161 Longs frei
20-02-2014 -ganz nebenbei wird noch eine DOS-Shell als DLL integriert (abgewandelte Regime-Version)
-diese ist im Programms-Fenster startbar
-2139 Longs frei
22-02-2014 -Farbwerte im Color-Setting-Fenster können jetzt durch Eingabe des Dezimal-Farbwertes über die Tastatur geändert werden
-Auswahl über Pfeiltasten, Eingabe startet nach drücken der Tab-Taste
-Kalendernavigation über Tasten bedienbar (Pfeiltasten für Monats-und Jahr-Wechsel)
-Datum- und Uhrzeiteinstellung jetzt über die Tastatur möglich (mit Tab auswählen und mit Pfeiltasten hoch/runter einstellen)
-etwas Code zusammengefasst
-Hilfedisplay mit Playerstop-Abfrage ergänzt
-Copy und Paste jetzt auch über Tastatur erreichbar (C=Copy, P=Paste)
-Format-Befehl auf Taste F, wenn kein anderes Fenster angezeigt wird
-jetzt fehlt nur noch der RAM-Monitor und das Systemsetting-Fenster
-1939 Longs frei
24-02-2014 -Systemsetting-Fenster über Tasten bedienbar (Tasten S und U)
-Auswahl der Ram-Bereiche im Ram-Monitor über die Tasten H und E änderbar
-1916 Longs frei
25-02-2014 -RAM-Monitor jetzt über Tasten bedienbar
-das Löschen von Links ist über Taste Entf+1..3 möglich
-somit ist die komplette Tastenbedienung von Plexus realisiert !!!
'################################################### Version 2.04 #################################################################################################################
25-02-2014 -Fehler in der Dateiselektion behoben (nach dem Löschen des Dateifensters und Neuaufruf wurde der Scrollmarker falsch gelesen)
-Aktualisierung des Dateifensters beim Sprung des Dmp-Titel-Zählers zurück auf 1 (nach dem letzten Titel)
-1862 Longs frei
26-02-2014 -Dateiliste wird jetzt nur von SD-geladen,wenn sich das Verzeichnis ändert
-bleibt man also im Verzeichnis , kann das Dateifenster beliebig oft geöffnet und geschlossen werden, ohne das ein Song unterbrochen werden muss
-Fehler im Aufruf der Dateiliste behoben, nach dem Mülleimer wurde das SD-Card Verzeichnis nicht mehr eingelesen, kam durch den neuen Change_marker
-1822 Longs frei
27-02-2014 -einige Darstellungsfehler beim wiederherstellen des Infofenster-Hintergrundes behoben
-Parameterfenster für Start-Parameter von Links angefangen
-Handling der Links verbessert, jetzt können nur vorhandene Links zum starten,löschen oder parametrieren angewählt werden (Link_counter)
-Parameter-Fenster-Handling soweit fertig, jetzt muss nur noch die Eingabe (und das Ändern) funktionieren.
-1756 Longs frei
28-02-2014 -Parametereingabe funktioniert soweit, zwar noch nicht perfekt, aber es geht.
-nun muss der entsprechende Parameter beim Start übergeben werden
-Texteingabe beim Terminal verbessert
-1639 Longs frei
01-03-2014 -die Übergabe von Parametern scheint zu funktionieren
-neue Funktion in reg-ios eingefügt, paracopy (da die Parameter im Link-Speicher stehen wird mit paracopy direkt in den Parameter-Ram von Trios kopiert)
-Basic mit der Start-Parameter-Übernahme erweitert ->coole Sache, gleich beim Start Basic-Befehle ausführen zu lassen
-die Parameterfunktion müsste man jetzt mit anderen Programmen ausprobieren
-diverse Fehler in der Tastenabfrage, beim Attribut-Handling und dem Explorer-Aufrufen behoben, hat gekostet :-(
-DCF-Routinen zum Betrieb eines DCF-Empfängers in Administra und der Reg-Ios eingebaut
-Im Plexus Hauptbildschirm wird die Synchronisation in der oberen Titelleiste als Antennensymbol dargestellt
-synchronisiert wird die RTC dann jede Stunde, noch ist kein Empfänger dran aber morgen wirds ausprobiert :-)
-1573 Longs frei
02-03-2014 -DCF-Modul an den Hive gehängt, noch gibt es Probleme mit der Synchronisation, diese funktioniert nur außerhalb des Gehäuses
-Prinzipiell funktioniert das Ganze .Vielleicht konstruiere ich das DCF-Modul als Steckmodul für den Erweiterungsbus
-nach diversen Versuchen ist klar, ein Einbau ins Hive-Gehäuse scheidet definitiv aus, da der Empfang zu stark gestört wird
-also werde ich den DCF-Empfänger extern betreiben, wie, weis ich noch nicht (Modul für Venatrix oder per Kabel an den Hive)
-zunächst folgt die Einbindung der Möglichkeit, den DCF-Empfänger unter Plexus auszuwählen (als externe DLL)
-und ein Testprogramm für den Empfänger wäre auch hilfreich (warscheinlich extern als DLL).
-1569 Longs frei
03-03-2014 -einige Texte in den E-Ram ausgelagert, ram_txt-Routine gekürzt, dadurch einige Longs gespart
-1594 Longs frei
04-03-2014 -damit im Root-Verzeichnis nicht zuviel Chaos durch diverse Dateien entsteht, werde ich ein Plexus-System-Verzeichnis erstellen, wo alle zu
-Plexus gehörenden Hilfsdateien enthalten sind. Das Verzeichnis heisst PLEXUS
-Plexus-Systemverzeichnis eingerichtet und entsprechende Änderungen im Code vorgenommen
-Plexus-DLL-Dateien entsprechend angepasst
-1570 Longs frei
05-03-2014 -Grundgerüst DCF-Testprogramm erstellt
-kleine Korrekturen in der Icon-Darstellung vorgenommen
-überflüssige Variablen gelöscht
-Routine iconpress gekürzt
-1566 Longs frei
'############################################################### Version 2.05 ####################################################################################################
09-03-2014 -Fehler in der Mount-Routine behoben, es wurde nicht ins Systemverzeichnis zum Lesen der Ini-Datei gesprungen
-dadurch wurden die Links nicht gefunden und nicht angezeigt
-DCF-Testprogramm weitergemacht, zeigt jetzt den aktuellen Status der Verbindung an mit diversen Parametern
-Bluetooth und WLAN-Symbol erstellt und in reg.fnt eingebunden
-die Symbole werden testhalber in der Titelleiste angezeigt, ein Bluetooth-Modul bei ebay erstanden, mal sehen wie es funktioniert
-als WLAN-Modul kommt warscheinlich ein Flyport zum Einsatz, erst mal bluetooth dann sehen wir weiter
-beide Module werden für Venatrix als Steckmodul ausgeführt
-Fehler in INI-Load-Routine behoben, Mauszeiger wurde nicht zurückgesetzt
-1548 Longs frei
12-03-2014 -DCF-Empfang fest in Plexus integriert, Empfänger wird an ADM-Port 22 angeschlossen und in Administra abgefragt
-DCF-Empfänger wird im Setting-Menue aktiviert
-Synchronität wird in der Titelzeile durch ein Antennensymbol dargestellt (grau=nicht synchron, farbig=synchron)
-Fehler in Iniload behoben, DCF-Marker wurde nicht geladen
-reg.sys entsprechend angepasst, hier werden alle Ini-Werte als erstes geladen
-Abfrage des DCF-Empfängerstatus eingebaut um Mehrfachstart der DCF-Cog zu verhindern
-erste Versuche mit einem Bluetooth-Empfänger in Venatrix ->vielversprechend
-1513 Longs frei
13-03-2014 -etwas Codeoptimierung
-1523 Longs frei
14-03-2014 -Bluetooth-Settings über Programms-Fenster (Programm 5=bltooth.dll) aufrufbar, zum Konfigurieren des HC05 Bluetooth-Moduls
-noch etwas Codeoptimierung
-kleine Korrekturen in der Abfrage der DCF-Synchronität
-1515 Longs frei
15-03-2014 -kleinere Anpassungen im Programmteil Input_Text (Scrollbereich wird aus den x-y-Übergabeparametern gebildet und ist nicht mehr fest)
-Tests mit dem Bluetooth-Modul sind erfolgreich, nur der PIN-LED will nicht funktionieren, lt.Datenblatt erst nach dem Pairing aktiv???
-AT-Kommandos zum Konfigurieren sind einfach im Terminal einzugeben, vielleicht kann ich dadurch die DLL einsparen, mal sehen
-wird gepairt, müsste noch das Bluetooth-Symbol in der Titelleiste auftauchen.
-dazu muss der KEY-Pin aber an einen freien Port-Pin (Statusabfrage nur im AT-Modus möglich), ADM-Port 21?
-timerzeahler-Schleife eingebaut um den BUS-Datenverkehr zu entlasten (nur jede 150zigste Schleife wird die Zeit abgefragt)
-DLL-Dateien mit DCF-Indikator ausgerüstet und ebenfalls timerzaehler-Schleifen eingebaut
-playerstop-Routine zentraler eingebaut (dadurch ein Long gespart)
-1499 Longs frei
18-03-2014 -der Versuch, eine aktive Bluetooth-Connect-Anzeige in der Titelzeile zu implementieren, ist gescheitert
-der Hive reagiert mit Fehlfunktionen und festhängen
-die Bluetoothanzeige wird jetzt blau, wenn das Terminal (und damit der serielle Port) geöffnet wird
-1478 Longs frei
19-03-2014 -System-Setting-Fenster umgebaut und mit der Bluetooth-Option erweitert
-Bluetooth_ON-Merker wird jetzt in der Ini-Datei gespeichert und geladen
-Laden der Error-und Systemtexte durch andere Laderoutine jetzt schneller,da jeder Text jetzt direkt im Speicher angesprungen wird
-dadurch eine viel schnellere Ausgabe, egal wieviele Texte sich im Ram befinden
-Bluetooth-Connect-Anzeige erfolgt jetzt über den LED-Ausgang des Moduls, wird an Port 16 von Venatrix abgefragt und entsprechend
-in der Titelleiste angezeigt -> das funktioniert jetzt perfekt
-Existiert Venatrix nicht, erfolgt die Connect-Anzeige sobald das Terminal-Fenster geöffnet wird (nicht real aber besser als nichts)
-das Scannen der Expansions-Karten erfolgt jetzt gleich beim Start von Plexus - somit braucht der venatrix und sepia Marker nicht in der Ini gespeichert werden
-und die Bluetooth-Connect-Anzeige funktioniert entsprechend
-1420 Longs frei
20-03-2014 -Routine:Texteingabe in Text_Input integriert, dadurch ein paar Longs gespart
-1446 Longs frei
21-03-2014 -Serial-Treiber ausgetauscht, dadurch weniger Datenverluste durch größeren Puffer ->hat aber gekostet :-(
-Versuch der Einbindung eines YModem-Treibers für die Datenübertragung von Plexus zum PC und zurück, mal sehen, obs funktioniert
-1218 Longs Frei
22-03-2014 -Der YMODEM-Treiber funktioniert teilweise, die Übertragung zum PC funktioniert, umgekehrt leider noch nicht
-allerdings verschlingt der Treiber sehr viel Platz,deshalb wird er warscheinlich als Dll ausgelagert
-kleiner Vorgeschmack ->435 Longs frei :-(
-in Routine Popup ->ios.backup_area integriert
-1411 Longs frei
23-03-2014 -YModem-Treiber als Dll erstellt
-Aufruf erfolgt im Explorer-Popupmenue (Send und Receive)
-Korrektur in der Regalabfrage, überdeckte ein Popup das Regal, konnte man den entsprechenden Menuepunkt nicht anwählen
-stattdessen wurde das darunterliegende Regalsymbol aktiviert
-Textdisplay-Routine in der Breite geändert, jetzt wird bis Position 34 geschrieben
-Standard-Puffergröße im seriellen Treiber auf 128 Bytes eingestellt
-1345 Longs frei
25-03-2014 -Doppelten Seriell-Treiber wieder entfernt, da YMODEM als Dll ausgeführt wird, wieder etwas Platz
-Schaffung eines Return_Merkers, hier kann die Aktion (Als Tastencode) hinterlegt werden, die nach Rückkehr aus einer DLL ausgeführt werden soll.
-Dadurch entsteht eine noch bessere Illusion, das DLL's in Plexus integriert sind
-playerstop-routine beim Mülleimer entleeren hinzugefügt
-1392 Longs frei
29-03-2014 -Sanduhr-Anzeige beim Beenden von DLL's hinzugefügt, damit entfällt die Rückkehrmeldung
-Fehler im Rückkehrmarker behoben, der entsprechende Rambereich wurde beim Erststart nicht gelöscht, dadurch wurde der Rückkehr-Verzeichnismarker
'############################################################### Version 2.06 ####################################################################################################
16-04-2014 -Doppelklick auf linke obere Fensterecke abgeschafft, sorgte in diversen Unterprogrammen für Fehlfunktionen
-Durch Änderungen im Obj ram.spin, ein paar Longs eingebüßt (Routine ram_copy)
-Kopierroutine in Administra weiter geschrumpft
-1362 Longs frei
17-04-2014 -ram.spin noch etwas weiter optimiert, hat 5 Longs gebracht :-)
-neuen Startbildschirm für Version 2.06 erstellt
-reg-ios und admsid mit glob-con vereint und LAN-Funktionalität eingefügt, admsid.spin entsprechend erweitert, hat 4Longs gekostet
-1363 Longs frei
20-04-2014 -Fehler in der Plexus-Startdatei behoben, irrtümlicherweise wurden die Basic-Systemparameter beim Start überschrieben
-dadurch war die Reclaim-Funktion wirkungslos ->der Basicspeicher wurde gnadenlos gelöscht
-Abfrage auf Administratreiber in der Startdatei geändert
-1359 Longs frei
21-04-2014 -Fehler in der admsid behoben, Befehl plxput in der Dos-Shell hat nicht funktioniert, der Poller muss zum Setzen angehalten werden
-1359 Longs frei
08-05-2014 -Mousebound-Befehl beim Start eingefügt, da es passieren konnte, das beim Verlassen von Trios-Basic der Mausbereich eingegrenzt war.
-1339 Longs frei
18-05-2014 -Für Trios-Basic wurde ein Runtime-Modul erschaffen, was es erlaubt, binäre BAS-Dateien(ab TBasic Vers.2.2) direkt aus Plexus heraus zu starten
-somit können BAS-Dateien auch als Links gestartet werden
-DOS-Shell ebenfalls mit dieser Funktionalität ausgestattet
'############################################################### Version 2.1 ####################################################################################################
29-05-2014 -optischer Umbau der Statusleiste, Explorerfenster erhält eine eigene Statusleiste (für Verzeichnisnamen)
-dadurch im unteren Bereich 2 Zeilen mehr Platz, Utility-Panel rutscht um eine Zeile nach unten, sieht optisch besser aus
-Verzeichnisnamen-Anzeige muss noch überarbeitet werden, es wird immer nur das aktuelle Verzeichnis angezeigt, nicht der komplette Pfad, das ist doof
-Statusleistentext wird nur noch angezeigt, wenn das Explorerfenster zu sehen ist
-1294 Longs frei
31-05-2014 -Sanduhr beim Start von Bin-Dateien hizugefügt, da die Statusleiste nicht immer sichtbar ist
-1283 Longs frei
08-06-2014 -Verzeichnispfad-Anzeige im Explorerfenster zeigt jetzt den kompletten Pfad an, ist der Pfad länger als 3 Verzeichnisse, wird entsprechend später mit
-der Anzeige begonnen
-dadurch einige Routinen gekürzt bzw. gelöscht
-Optische Frischzellenkur, untere Statusleiste existiert nicht mehr, nur noch Startbutton und Uhrzeitanzeige
-Shell-Titelzeile nur noch im mittleren Bildschirmteil existent mit abgerundeten Ecken
-1284 Longs frei
09-06-2014 -optisch noch einige Kleinigkeiten geändert
-Fehler in der Scrollroutine behoben, war das Startmenue sichtbar, wurde es durch scrollen zerstört
-1264 Longs frei
12-06-2014 -Fehler in der Pfadanzeige im TRASH-Fenster behoben
-falsche Darstellung bei Dateien ohne Dateiendung (wurden fälschlicherweise als Verzeichnisse interpretiert) behoben
-überflüssige DAT-Anweisungen entfernt
-Statusleiste des Explorerfensters hat jetzt die gleiche Farbe wie die Titelzeile
-Korrekturen beim Datei-Hervorhebungsbalken, noch wird beim runterscrollen an der letzten Position der Balken nicht korrekt gelöscht
-1265 Longs frei
14-06-2014 -kleine optische Änderung in der TAB-Anzeige der Systeminfo um Tiles einzusparen
-Anzeigekorrektur bei der Datei-Datumsanzeige. Tages-und Monatswerte <10 haben jetzt eine führende Null
-Als hilfreich könnte sich noch ein Tastencode-Scanner erweisen, da man öfter den ASCII-Code einer Taste braucht, mal sehen, wie ich das realisiere
-1263 Longs frei
15-06-2014 -Keyboardscanner in der oberen Titelzeile eingebaut(linker Teil), aktivierbar über die Taste K,k, erweitert die Titelzeile rechts und links
-im rechten Titelzeilen-Teil werden die Maus-Koordinaten angezeigt
-1209 Longs frei
16-06-2014 -Umbau Keyboardscanner, dadurch etwas Platz gespart (2 Longs)
-DCF-Indikator nach unten neben der Uhr verschoben, da wo er hingehört
-DCF-OK-Anzeige erfolgt jetzt generell in Grün
-DLL's ebenfalls angepasst
-Korrektur Mülleimerpfadanzeige (wurde in der falschen Hintergrundfarbe dargestellt)
-1211 Longs frei
20-06-2014 -optische Veränderung der App-Bar, dadurch werden Tiles eingespart
-Dll's entsprechend angepasst
-Fenster (Explorer,Terminal,Programms und Ram-Monitor) wurde um eine Zeile vergrößert
-Scroll-Handling verbessert
-einige CLR-Dateien angepasst an die neue Optik
-Fehler in Startmenue-Auswahl behoben (nachdem der Mülleimer aufgerufen wurde, wurde ein Klick auf Help im Startmenue als Show-Trash interpretiert)
-Cancel-Button in der Coganzeige und der Systeminfo entfernt (macht keinen Sinn, OK-Button reicht)
CON '################################################### Hauptprogrammschleife ####################################################################################################
copy_all:=0 'Marker für alle Dateien-Operation löschen
muelleimer:=0 'Mülleimer-Marker
y_old:=3 'Initialwert für Hervorhebungsbalken
highlight:=0 'keine Hervorhebung
scr:=0
pfeil:=baud+6
if return_merker
keyboardscan(return_merker)
'##################################### Hier gehts los #############################################################################################################################
'********************** Dmp_Player-Automatik -> spielt alle im Verzeichnis befindlichen Dmp-Dateien ab ******************************************************
if play==1
if ios.sid_dmppos<1 'Playerposition abfragen, Player stoppen, wenn Titel abgespielt wurde
playerstop
tmpplay++ 'und zum nächsten Titel springen, wenn vorhanden
if tmpplay>dmpfiles
tmpplay:=1 'wenn letzter Titel abgespielt wurde, zum ersten springen
selection:=1 'Selection zurücksetzen
scr:=0 'Scrollmarker löschen
if util==11 'Dateifenster sichtbar?
show_always 'Dateiliste neu aufbauen
selection:=2
if util==11 and infomarker==0 and highlight==1 'Dateifenster nur scrollen, wenn kein Infofenster angezeigt wird
kb:=5 'nächsten Titel im Dateifenster hervorheben
getdmpname(tmpplay-1) 'Titelnamen holen
Player_sichtbar 'wenn Player sichtbar, dann Titel im Playerfenster anzeigen
abspielen(Windownum[1]) 'Player starten (wenn Fenster da ist, balken löschen)
'******************************* Aktionen im Dateifenster ************************************************************************************************************************
con '*********************************** Datei-Handling **************************************************************************************************************************
con'****************************************************** Datum und Zeitanzeige *************************************************************************************************
'------------- Merkziffern für die Monate ---------------------------
b:=lookupz(mon:0,0,3,3,6,1,4,6,2,5,0,3,5)
c:=jr/100 'Jahrhundert
d:=jr-(c*100) 'Jahr
case c 'Jahrhundertziffer
19, 23, 27:e:=0
18, 22, 26:e:=2
17, 21, 25:e:=4
16, 20, 24:e:=6
c:=(d + (d / 4)) // 7 'Jahresziffer
'-------- Schaltjahrkorrektur --------------
f:=0
if (jr//4==0) and (mon<3) 'im Schaltjahr muss bei einem Datum vor dem 1.März eine 6 addiert werden
f:=6
result:=(a + b + c + e + f) // 7
if result==0
result:=7
'Ergebnis ist der Wochentag
con '***************************************************** Dateiattribute setzen *************************************************************************************************
con '***************************************************** Diverse Texte aus dem E-Ram lesen *************************************************************************************
con '***************************************************** Die einzelnen Fenster *************************************************************************************************
repeat adr from 32 to 79 'standard-Sepia-Adressbereich $20-$4f
ackn := ios.plxping(adr)
ifnot ackn
counter_s++ 'Anzahl der vorhandenen I2C-Teilnehmer
repeat adr from 0 to 5
if ios.plxping(adr)
counter_v++
ios.plxRun
if counter_s<48
sepia:=1
if counter_v==5
Venatrix:=1
PRI Show_Card_ON_OFF
if sepia==0
print_win(@off,16,17)
else
print_win(@on,16,17)
if venatrix==0
print_win(@off,16,15)
else
print_win(@on,16,15)
con '********************************************** Verwaltung der Desktopverknüpfungen ******************************************************************************************
PRI Make_link(dm)|i,n 'Desktopverknüpfung erzeugen
ios.displaytile(16,shellhcol,0,0,y,37) 'Linksymbol auf dem Desktop löschen
printfont(string(" "),shellhcol,0,0,35,y+1) 'Linkname auf dem Desktop löschen
link_pointer:=n
a:=LINK_RAM+(n*17) 'Adresse im eRam
repeat i from a to a+16
ios.ram_wrbyte(0,i) 'im Link_ram löschen
a:=PARA_RAM+(n*64)
repeat i from a to a+63
ios.ram_wrbyte(0,i)
inisave 'in Ini-Datei speichern
link_counter--
if link_counter<1
link_counter:=0
pri LinkPos(p) 'Position des angeklickten Links ermitteln
if p>2 'ist i>2 dann ist entweder das 2. oder 3. Symbol angeklickt worden
p-=4 '4 abziehen
if p>2 'ist i jetzt immer noch grösser 2, dann wurde das 3.Symbol angeklickt
p-=4 '4 abziehen so ergibt sich eine Zahl von 0-2 für Link 0-2
return p
con '**************************************** Serielles Terminal *****************************************************************************************************************
con '************************************** Systeminfo-Programms-Fenster *******************************************************************************************************************
con '************************************************ About-Box ******************************************************************************************************************
PRI about
window(1,4,8,6,18,31,string("About"))
print_info(prgnfo,6,8)
button(1,@butOK,16,18)
util:=0
con '************************************************ Clock-Settings ******************************************************************************************************************
PRI Clock|i
window(1,4,8,8,18,28,ram_txt(52))
print_win(ram_txt(64),16,7)
tag:=ios.getdate
monat:=ios.getmonth
Jahr:=ios.getyear
stunde:=ios.gethours
minute:=ios.getminutes
sekunde:=ios.getseconds
i:=10
repeat 3
FRAME_TILE(5,9,i)
FRAME_TILE(5,14,i)
i+=3
FRAME_TILE(3,9,i)
FRAME_TILE(3,14,i)
i+=3
FRAME_TILE(3,9,27)
print_win(ram_txt(65),16,12)
button(1,@butOK,10,18)
button(2,@Abbr,20,18)
Date_refresh
Clock_refresh
PRI clock_refresh
print_zehner(Stunde,14,11,act_color,winhcol)
print_zehner(Minute,14,17,act_color,winhcol)
print_zehner(Sekunde,14,23,act_color,winhcol)
wait(20000) 'etwas warten, sonst ändern sich die Werte zu schnell
PRI date_refresh
print_zehner(Tag,9,11,act_color,winhcol)
print_zehner(Monat,9,17,act_color,winhcol)
printdec_win(Jahr,9,23)
wait(20000) 'etwas warten, sonst ändern sich die Werte zu schnell
con '************************************************ Color-Einstell-Box ******************************************************************************************************************
con '************************************************ E-Ram-Monitor ******************************************************************************************************************
con '************************************************ Sid-Dmp-Player *************************************************************************************************************
PRI getdmpname(nummer)|adress,position,c,z 'Dmp Datei-Name aus dem E-Ram holen
position:=(nummer)*17
adress:=DMP_RAM+position 'Adresse Dateiname im eRam
z:=0
bytefill(@dumpstring,12,0)
repeat 12
c:=ios.ram_rdbyte(adress++) 'Dateiname aus Dir-Ram lesen
dumpstring[z++]:=c
dumpstring[z]:=0
dmplen:=ios.ram_rdlong(adress++)/25
PRI dmp_name
print_win(@dumpstring,15,13)
print_win(string(" "),20,8)
printdec_win(dmplen,8,20)
con '***************************************************** Unterprogramme für die Fensterverwaltung ******************************************************************************
button(4,@butOK,((xx-x)/2)+x-2,yy) 'Button 4 gibt es nur im SD-Card-Info-Fenster und im LINK-Parameter-Fenster
if knopf==2
button(2,@Abbr,((xx-x)/2)+x-2,yy)
infomarker:=1
con '*************************************************** Start- und Popup-Menue *************************************************************************************************************
PRI popup(x,y,xx,yy)
ios.backup_area(x,y,xx,yy,BRAM)
ios.display2dbox(messagehcol,y,x,yy,xx,0)
popupx:=x
popupy:=y
popupyy:=yy
popupxx:=xx
popupmarker:=1
PRI popup_entry(numm,strg,sep)
if sep==1
separator(popupx,popupy+numm,popupx+6)
numm+=1
print_message(strg,popupx,popupy+numm)
print_message(strg,popupx,popupy+numm)
PRI Popup_Info_weg
if infomarker==1 'Infofenster sichtbar?
if do_restore 'Infofensterhintergrund wieder herstellen?
con '************************************************** Button-Funktionen ********************************************************************************************************
con '*********************************************** Fenster-Lösch-Funktionen ****************************************************************************************************
con '************************************************* Textaus-und Eingabe ***************************************************************************************************************
PRI textdisplay(mode)|tx,tt,c,x,adr,b '********* Text-oder Hex-Ausgabe
ios.sdopen("R",@filestring)
tx:=2
tt:=4
adr:=0
repeat
if mode==0 'Mode 0= Textausgabe
c:=ios.sdgetc
if tx==34 or c==10 'zeilenumbruch bei spalte 30 oder bei linefeed
tx:=2
tt+=1
if c==10 or c==13 'return oder linefeed nicht als zeichen anzeigen
con '---------------------------------------------- Ausgaberoutinen ---------------------------------------------------------------------------------------------------------------
con '**************************************************** diverse Hilfsunterprogramme ********************************************************************************************
PRI wert_plusminus(op,wertx,minwert,maxwert) 'op=operation +/- 1/2 ,aktueller wert, mindestwert,maxwert
case op
1:wertx++
if wertx>maxwert
wertx:=minwert
2:wertx--
if wertx<minwert
wertx:=maxwert
return wertx
PRI printbin(value, digits,f1,f2,f3,x,y) |c 'screen: binären zahlenwert auf bildschirm ausgeben
PRI Scan_File(y)|col 'scannt den Dateinamen nach erweiterung ->keine Erweiterung=Verzeichnis=andere Farbe
col:=act_color
if filedir==255 'verzeichnis
col:=selectcol
if filehidden==255 'versteckte Dateien werden grau dargestellt
col:=grey
display_filename(@filestring,y,col)
PRI display_list(a,b)|n,tt 'Dateiliste aus dem Speicher lesen und anzeigen
tt:=4
'playerstop
repeat n from a to b
getfilename(n)
Scan_File(tt)
tt++
con '********************************************* Ausgabe von Fehlermeldungen ***************************************************************************************************
PRI error(err)
messagebox(ram_txt(err),1)
'********************** Fehlermeldungen in Messageboxen **********************************************
{ case err
0: no error
1: Filesys unmounted
2: Filesys corrupted
3: Filesys 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: Directory is full
12: Directory is not empty
13: Checksum Error
14: Reboot Error
15: bpb corrupt
16: Filesys corrupt
17: Dir already exist
18: File already exist
19: Out of Disk free Space
20: Disk I/O Error
21: Command not found
22: Timeout
23: Out of Memory Error
24: Delete selected File?
25: Reboot Hive-Computer?
26: NO FILE SELECTED
27: SD-CARD Format Ready
28: Format SD-CARD ?
29: Delete selected Link?
30: Delete all Files?
31: Trash to empty ?
'****************** ab hier werden die Texte mit -> ram_txt(nummer,TXT_RAM) aufgerufen **************
con '************************************************** Dateioperationen *********************************************************************************************************
con '************************************************* Mülleimer *****************************************************************************************************************
PRI Muelleimer_erstellen
if ios.sdchdir(@trash) 'Trash-Verzeichnis nicht vorhanden
con '***************************************************** Reboot-Funktion *******************************************************************************************************
repeat while ios.mouse_button(0) 'warten bis Maustaste losgelassen wird
con '***************************************************** Directory anzeigen ****************************************************************************************************
PRI cmd_dir|stradr,n,d,c',sh 'cmd: verzeichnis anzeigen
{{sddir - anzeige verzeichnis}}
n:=0
d:=0
dmpfiles:=0
ios.sddir 'kommando: verzeichnis öffnen
repeat while (stradr <> 0) 'Begrenzung der Einträge auf die mit DIR_ENTRY vereinbarte 'ist eintrag gültig?
'wiederhole bis verzeichnisende
stradr:=ios.sdnext 'einen eintrag holen
if stradr <> 0
if Show_Hid_Files==0
if ios.sdfattrib(17) 'unsichtbare Dateien ausblenden
WriteNameToRam(stradr,ios.sdfattrib(0),ios.sdfattrib(10),ios.sdfattrib(11),ios.sdfattrib(12),ios.sdfattrib(19),ios.sdfattrib(16),ios.sdfattrib(17),ios.sdfattrib(18),ios.sdfattrib(20),c,n) 'Dateiname zur spaeteren Verwendung in ERam speichern an adresse n
c:=0
filenumber:=n
dirnumber:=d
ios.ram_fill(DIR_RAM+(n*28),$1BFF-(n*28),0) 'Variablen,Dir-Speicher,nach letzten Eintrag löschen
ios.ram_fill(DMP_RAM+(dmpfiles*17),$1FFF-(dmpfiles*17),0) 'Dmp-File-Speicher nach letztem Eintrag löschen
PRI display_Filename(stradr,ty,col)|p 'Ausgabe Dateiname, Icon, Größe und Erstellungsdatum
PRI scanstr(f,mode) | z ,c 'Dateiendung extrahieren
if mode==1
repeat while strsize(f)
if c:=byte[f++] == "." 'bis punkt springen
quit
z:=0
repeat 3 'dateiendung lesen
c:=byte[f++]
buff[z++] := c
buff[z++] := 0
return @buff
con '*************************************************** Datei-Verwaltung im E-Ram ***********************************************************************************************
PRI WriteNameToRam(st,laenge,t,m,j,dir,rdonly,hidden,sys,archiv,dpos,nummer)|adress,position,c 'Dateiliste in ERam schreiben
position:=(nummer-1)*28
adress:=DIR_RAM+position
repeat strsize(st)
c:=byte[st++]
ios.ram_wrbyte(c,adress++)
ios.ram_wrlong(laenge,adress++) '4
adress+=4
ios.ram_wrword(dpos,adress++)'2
adress++
ios.ram_wrbyte(dir,adress++) '1
ios.ram_wrbyte(rdonly,adress++) '1
ios.ram_wrbyte(hidden,adress++) '1
ios.ram_wrbyte(sys,adress++) '1
ios.ram_wrbyte(archiv,adress++) '1
ios.ram_wrbyte(t,adress++)'1
ios.ram_wrbyte(m,adress++)'1
ios.ram_wrword(j,adress++)'2
PRI WriteDmpToRam(basis,st,ln,n)|adress,position,c 'dmp-File-Liste in E-Ram schreiben
position:=n*17
adress:=basis+position
repeat strsize(st)
c:=byte[st++]
ios.ram_wrbyte(c,adress++)
ios.ram_wrlong(ln,adress++)
PRI getfilename(nummer)|adress,position,c,z',aus 'Dateiname aus dem E-Ram holen
position:=(nummer-1)*28
adress:=DIR_RAM+position 'Adresse Dateiname im eRam
z:=0
'aus:=0
bytefill(@filestring,12,0)
repeat 12
c:=ios.ram_rdbyte(adress++) 'Dateiname aus Dir-Ram lesen
filestring[z++]:=c
filestring[z]:=0
filelen:=ios.ram_rdlong(adress++)
dmplen:=filelen/25
adress+=4
dumpnummer:=ios.ram_rdword(adress++)
adress++
filedir:=ios.ram_rdbyte(adress++)
filerdonly:=ios.ram_rdbyte(adress++)
filehidden:=ios.ram_rdbyte(adress++)
filesystem:=ios.ram_rdbyte(adress++)
filearchiv:=ios.ram_rdbyte(adress++)
fileday:=ios.ram_rdbyte(adress++)
filemonth:=ios.ram_rdbyte(adress++)
fileyear:=ios.ram_rdword(adress++)
con '*********************************************** Icon-Buttons ****************************************************************************************************************