Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:software:monx [2026/09/11 08:20] – [Dateien] volkerphomecomputer:ac1:software:monx [2026/11/04 13:55] (aktuell) – [MONX für andere Monitore] volkerp
Zeile 1: Zeile 1:
 ====== MONX ====== ====== MONX ======
 +
 +{{:homecomputer:ac1:software:monx-mon31.jpg?0x300|MONX ACC31}} {{:homecomputer:ac1:software:monx_vdip1.png|MONX-VDIP}}
  
 MONX-pico ist die Erweiterung des Monitors 3.1 um zusätzliche Monitorkommandos MONX-pico ist die Erweiterung des Monitors 3.1 um zusätzliche Monitorkommandos
-zur Arbeit mit der Hardware des [[..:picoac1|]], insbesonders zur Arbiet mit der SD-Karte.+zur Arbeit mit der Hardware des [[..:picoac1|]], insbesonders zur Arbeit mit der SD-Karte. 
 + 
 +https://codeberg.org/bw38/picoAC1/src/branch/main/Firmware/Bedienung.md
  
 Neben den Kommandos gibt es auch Routinen zur Dateiarbeit mit der SD-Karte des picoAC1. Damit können Programme über eine einheitliche Schnittstelle auf Massenspeicher zugreifen, eine Funktionalität, die den bisherigen Systemen (AC1-ACC, AC1-SCCH, AC1-2010) leider fehlte. Neben den Kommandos gibt es auch Routinen zur Dateiarbeit mit der SD-Karte des picoAC1. Damit können Programme über eine einheitliche Schnittstelle auf Massenspeicher zugreifen, eine Funktionalität, die den bisherigen Systemen (AC1-ACC, AC1-SCCH, AC1-2010) leider fehlte.
  
-Ich hab das Konzept ein wenig erweitert, so dass auch andere Systeme und andere Monitore von MONX partizipieren können. Man lädt einfach einen passenden MONX-Treiber (MONX-pico, MONX-VDIP). Mit monx_inc.asm kompilierte Programme suchen eine MONX-Erweiterung im RAM und bieten dann Massenspeicherzugriff, ohne dass individuelle Programme erzeugt werden müssen. Es gibt derzeit+Ich hab das Konzept ein wenig erweitert, so dass auch andere Systeme und andere Monitore von MONX partizipieren können. Man lädt einfach einen passenden MONX-Treiber (MONX-pico, MONX-VDIP). Mit monx_inc.asm kompilierte Programme suchen eine MONX-Erweiterung im RAM und bieten dann Massenspeicherzugriff, ohne dass individuelle Programme erzeugt werden müssen.  
 +<WRAP clear/> 
 + 
 +Es gibt derzeit
  
-  * BASIC8K (BASIC8K-SD, mit DSAVE, DLOAD, DLOAD" " für Dir) +  * BASIC8x (BASIC8K-SD, mit DSAVE, DLOAD, DLOAD" " für Dir) 
-  * [[nascom]]-Emulator+  * EDAS4x 
 +  * PASCAL4x 
 +  * [[nascom]]
  
 Folgende Software nutzt MONX, unterstützt aber nur MONX auf Adresse 0800h. Folgende Software nutzt MONX, unterstützt aber nur MONX auf Adresse 0800h.
-  * picoEDAS 
-  * Pascal 
   * [[forth]]   * [[forth]]
  
Zeile 24: Zeile 31:
 ===== Downloads ===== ===== Downloads =====
  
-  * {{ :homecomputer:ac1:software:monx.zip |}} Version 0.5 10.9.2026. Alle Quellen und Binaries+  * {{ :homecomputer:ac1:software:monx.zip |}} Version 0.9 16.9.2026. Alle Quellen und Binaries
       * MONX-pico auf Adresse C000 und E000, für die picoAC1-SD-Karte       * MONX-pico auf Adresse C000 und E000, für die picoAC1-SD-Karte
       * MONX-VDIP für eine VDIP-USB-Stick-Hardware (AC1-201, picoAC1, JKCEMU)       * MONX-VDIP für eine VDIP-USB-Stick-Hardware (AC1-201, picoAC1, JKCEMU)
Zeile 30: Zeile 37:
       * Testprogramme test1, test2       * Testprogramme test1, test2
       * BASIC8K (angepasst auf monx_inc)       * BASIC8K (angepasst auf monx_inc)
 +      * EDAS4x (angepasst auf monx_inc)
 +      * PASCALx (angepasst auf monx_inc)
 +      * Dokumentationen und Beispielprogramme für die Programmiersprachen
  
 ===== Kommandos ===== ===== Kommandos =====
Zeile 39: Zeile 49:
 a AADR Dateiname Laden von Dateien an Absolut-Adresse im RAM a AADR Dateiname Laden von Dateien an Absolut-Adresse im RAM
 c [Zeichen-:Hintergrund-:Rahmenfarbe] Bildschirmfarben anzeigen/setzen  c [Zeichen-:Hintergrund-:Rahmenfarbe] Bildschirmfarben anzeigen/setzen
-d [Verzeichnisname|Nr] dir Verzeichnisse anzeigen / wechseln+d [+|-|Verzeichnisname|Nr] dir Verzeichnisse anzeigen / wechseln
 h help Hilfetexte Bedienung "Monitorerweiterungen" h help Hilfetexte Bedienung "Monitorerweiterungen"
-l Dateiname|Nr  load Daten von SD-Karte laden+l [+|-|Dateiname|Nr] load Dateien von SD-Karte anzeigen / laden
 m Verzeichnisname mkdir Verzeichnis anlegen m Verzeichnisname mkdir Verzeichnis anlegen
 r Dateiname|Nr remove Datei in Papierkorb verschieben r Dateiname|Nr remove Datei in Papierkorb verschieben
Zeile 88: Zeile 98:
 darauf vorbreitet werden, statt der originalen Systemrufadressen auf 800h ff nun andere darauf vorbreitet werden, statt der originalen Systemrufadressen auf 800h ff nun andere
 Adressen zu nutzen. Adressen zu nutzen.
-Dafür muss man die Programme mit der include-Datei+Dafür muss man die Programme mit der include-Datei monx_inc.asm verbinden:
  
  include monx_inc.asm  include monx_inc.asm
- call xinit ; ret A=FF, NZ, wenn keine Monitoerweiterung gefunden+ call xinit ; ret A=FF, NZ, wenn keine Monitorerweiterung gefunden
  
-assemblieren. Diese enthält statt einfacher EQU's einen kleinen Sprungverteiler,+Diese include-Datei enthält statt einfacher EQU's einen kleinen Sprungverteiler,
 der je nach vorhandener Monitorerweiterung auf 800h, oder E000h zeigt oder - wenn  der je nach vorhandener Monitorerweiterung auf 800h, oder E000h zeigt oder - wenn 
 gar keine Monitorerweiterung vorhanden ist, Fehler ausgibt. gar keine Monitorerweiterung vorhanden ist, Fehler ausgibt.
Zeile 132: Zeile 142:
 Änderungen gegenüber MONX-pico: Änderungen gegenüber MONX-pico:
  
- * Die Auswahl von Verzeichnissen oder Dateien über Nummern gibt es nicht, es wird immer mit dem Dateinamen gearbeitet +  * Die Auswahl von Verzeichnissen oder Dateien über Nummern gibt es nicht, es wird immer mit dem Dateinamen gearbeitet 
- * Es werden nur 8.3-Dateinamen unterstützt +  * Es werden nur 8.3-Dateinamen unterstützt 
- * Es sind beliebig geschachtelte Unterverzeichnisse möglich +  * Es sind beliebig geschachtelte Unterverzeichnisse möglich 
- * Wechsel ins übergeordnete Verzeichnis mit 'd ..' +  * Wechsel ins übergeordnete Verzeichnis mit 'd ..' 
- * Wechsel ins Root-Verzeichnis mit 'd /' +  * Wechsel ins Root-Verzeichnis mit 'd /' 
- * Beim SCCH-Monitor wird das Zeichen '_' (0x5F) als Backspace genutzt und erscheint nicht auf dem Bildschirm. Man sollte daher auf '_' in Dateinamen verzichten. +  * Beim SCCH-Monitor wird das Zeichen '_' (0x5F) als Backspace genutzt und erscheint nicht auf dem Bildschirm. Man sollte daher auf '_' in Dateinamen verzichten. 
- * Das ?-Kommando zeigt ohne Parameter nur die Kommandobuchstaben an+  * Das ?-Kommando zeigt ohne Parameter nur die Kommandobuchstaben an
  
  
Zeile 144: Zeile 154:
  
 Die Dateien auf dem Massenspeicher werden im Headersave-Format gespeichert, s. [[..:kassetteninterface#usb_z80-dateien|]]. Die Dateien auf dem Massenspeicher werden im Headersave-Format gespeichert, s. [[..:kassetteninterface#usb_z80-dateien|]].
-Den eigentlichen Daten ist ein 32 Byte großer Startblock vorangestellt.+Den eigentlichen Daten ist ein 32 Byte großer Startblock (aka Kopfblock/Header) vorangestellt.
  
-^ Byte  ^ Bedeutung                                                          | +<a2s> 
-| 0, 1  | Anfangsadresse der Datei                                           | +#--------#----------# 
-| 2, 3  | Endadresse                                                         | +| Header | Programm | 
-| 4, 5  | Startadresse bei Fall eines ausführbaren Programms (Dateityp: "C") | +#--------#----------# 
-| 6-11  | frei (wird manchmal benutzt für CRC oder Autor)                    | +</a2s>  
-| 12    | Dateityp (z.B. "C": Ausführbares Maschinencodeprogramm)            | +
-| 13-15 | Headersave-Kennung (3x D3h)                                        | +
-| 16-31 | Dateiname, mit Leerzeichen aufgefüllt                              |+
  
-Der Dateityp ist frei wählbar, MONX nutzt 'D'.+ 
 +^ Byte   ^ Bedeutung                                                           ^ 
 +| 0, 1   | Anfangsadresse der Datei                                            | 
 +| 2, 3   | Endadresse                                                          | 
 +| 4, 5   | Startadresse bei Fall eines ausführbaren Programms (Dateityp: "C")  | 
 +| 6-11   | frei (z.B. Autor, Gen.Programm oder CRC)                            | 
 +| 12     | Dateityp (z.B. "C": Ausführbares Maschinencodeprogramm)             | 
 +| 13-15  | Headersave-Kennung "magic bytes" (3x D3h)                           | 
 +| 16-31  | Dateiname/Beschreibung, mit Leerzeichen aufgefüllt                  | 
 + 
 +Der Dateityp ist prinzipiell frei wählbar, MONX nutzt 'D'. Verbreitet sind 
 + 
 +  * P Lauffähiges Maschinenprogramm (z1013: C !!) 
 +  * D Maschinendatei 
 +  * B Basicprogramm 
 +  * F Datenfeld (BASIC)
  
 Die 16 Zeichen "Dateiname" können frei für lange Programmnamen oder zusätzliche  Die 16 Zeichen "Dateiname" können frei für lange Programmnamen oder zusätzliche 
 Informationen genutzt werden, der eigentliche Dateiname liegt bereits im Filesystem vor. Informationen genutzt werden, der eigentliche Dateiname liegt bereits im Filesystem vor.
  
-Originale Kassettenbasierte Programme arbeiten immer in 32-Byte-Blöcken.+Originale Kassetten-basierte Programme arbeiten immer in 32-Byte-Blöcken.
 Sind die letzten Daten kürzer als 32 Byte, wird der letzte Block auf volle 32 Byte Sind die letzten Daten kürzer als 32 Byte, wird der letzte Block auf volle 32 Byte
 erweitert. Bei den heute üblichen Massenspeichern (SD-Karte, USB) ist das nicht erweitert. Bei den heute üblichen Massenspeichern (SD-Karte, USB) ist das nicht
-mehr notwendig, aus Komaptibilitätsgründen sollte es aber trotzdem gemacht werden.+mehr erforderlich, aus Kompatibilitätsgründen kann es aber trotzdem gemacht werden. 
 + 
 + 
 + 
 +MONX-pico nutzt FAT16/FAT32-formatierte SD-Karten, unterstützt aber nur 16 Zeichen für den Dateinamen (incl. Dateityp) und nur eine Unterverzeichnis-Ebene. 
 + 
 +MONX-VDIP nutzt FAT16/FAT32-formatierte USB-Sticks, unterstützt aber nur kurze 8.3-Dateinamen, dafür mehrere Unterverzeichnis-Ebenen. 
 + 
 +===== Historie =====
  
 +  * V09 15.09.2026 MONX_VDIP FCHRW schließt jetzt Datei, MagicCode 1FF1 entfernt, stattdessen zusätzl. Test auf FLEN=0
 +  * V08 14.09.2026 picoPASCAL ergänzt (Dank an Rolf W. für den Quellcode!)
 +  * V07 13.09.2026 MONX_VDIP o_wfullblocks = 0; Beim Schreiben NICHT mehr auf volle Blocks aufrunden\\ Kennung "x-vdip" im Header\\ FBLOCKW nutzt FLEN\\ MONX_INC xinit immer laufen lassen\\ picoEDAS4x ergänzt
  
  
-MONX-pico nutzt FAT32-formatierte SD-Karten, unterstützt aber nur 16 Zeichen für den Dateinamen (incl. Dateityp) und nur eine Unterverzeichnis-Ebene. 
  
-MONX-VDIP nutzt FAT16-formatierte USB-Sticks, unterstützt aber nur kurze 8.3-Dateinamen, aber mehrere Unterverzeichnis-Ebenen. 
  
  • homecomputer/ac1/software/monx.1789114825.txt.gz
  • Zuletzt geändert: 2026/09/11 08:20
  • von volkerp