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
z9001:software:usb [2019/03/13 08:35] – [USB-OS] volkerpz9001:software:usb [2022/12/09 06:50] (aktuell) – [JKCEMU] volkerp
Zeile 3: Zeile 3:
 **USB/VDIP im OS-Modus**\\ **USB/VDIP im OS-Modus**\\
 Volker Pohlers, 2016 Volker Pohlers, 2016
 +
 +Verwenden eines USB-Sticks zum Speichern/Laden anstelle eines Kassettenrekorders.
 +
  
 Benötigt wird ein **[[z9001:module_sonstige:gide_usb|]]** mit einem VDIP1-Modul oder einem V2DIP-Modul. Benötigt wird ein **[[z9001:module_sonstige:gide_usb|]]** mit einem VDIP1-Modul oder einem V2DIP-Modul.
Zeile 25: Zeile 28:
 | I/O-Adressen | GIDE | 54h-5Fh (empfohlener Port für Z9001) | | I/O-Adressen | GIDE | 54h-5Fh (empfohlener Port für Z9001) |
 | | USB | DCh..DFh (empfohlener Port für Z9001) | | | USB | DCh..DFh (empfohlener Port für Z9001) |
 +
 +Hinweis Für das Modul {{http://www.kingsteners.homepage.t-online.de/Erweiterungen| **GU-K1520 von Kingstener**}} muss ein spezieller GAL genutzt werden, der die Port-Adresse DCh für USB unterstützt.
  
  
Zeile 43: Zeile 48:
 ===== Download ===== ===== Download =====
  
-  * Programm, Quellcodes {{:z9001:software:z9001_vdip_os.zip|}} +  * Programm, Quellcodes ursprüngliche Version {{:z9001:software:z9001_vdip_os.zip|}} 
-  * eigenständige Version f. Modul mit ROM {{ :z9001:software:usb-os.zip |}} Stand 12.3.2019+  * eigenständige aktuelle Version f. Modul mit ROM {{ :z9001:software:usb-os.zip |}} Stand 05.10.2021, incl. Quellcodes etc. 
 +  * Binär-Version {{ :z9001:software:usb-os-bin.zip |}} 
 +  * Handbuch {{ :z9001:software:usb-os.pdf |}}
  
-Achtung! Das Programm wird im Rahmen der Mega-Flash-Software gepflegt. Aktuellere Quellen sind ggf. dort zu finden!+Hinweis! Das Programm wird als USBX auch im Rahmen der Mega-Flash-Software gepflegt.
  
 Autoren: Von mir stammt die Einbindung ins Betriebssystem. Der eigentliche Zugriff auf das VDIP-Modul stammt von den UTOOLS von Mario Leubner. Autoren: Von mir stammt die Einbindung ins Betriebssystem. Der eigentliche Zugriff auf das VDIP-Modul stammt von den UTOOLS von Mario Leubner.
  
- +**2019**: Ich habe eine eigenständige Version usb-os.zip für die Arbeit ohne Mega-Modul/Kombi-Modul zusammengestellt. Die enthaltenen Programme für den USB-Stick und die Anleitung gelten auch für die Mega-Flash-Version.
-**2019**: Ich habe eine Version usb-os.zip für die Arbeit ohne Mega-Modul/Kombi-Modul zusammengestellt. Die enthaltenen Programme für den USB-Stick und die Anleitung gelten auch für die Mega-Flash-Version.+
 Im ROM sind auch die vom Mega-Flash bekannten Kommandos LOAD,SAVE,RUN,MEM,DUMP etc. enthalten. Im ROM sind auch die vom Mega-Flash bekannten Kommandos LOAD,SAVE,RUN,MEM,DUMP etc. enthalten.
  
Zeile 59: Zeile 65:
 | MENU    | DIR         | | MENU    | DIR         |
  
-Anleitung s. usb-os.txt im Download-Paket+Anleitung s. Handbuch {{ :z9001:software:usb-os.pdf |Handbuch }} und usb-os.txt im Download-Paket
  
 ===== Laden ===== ===== Laden =====
Zeile 108: Zeile 114:
 ===== USBX ===== ===== USBX =====
  
-**Folgende Hinweise gelten zur Arbeit mit der im Mega-Flash integrierten Version USBX. Eine Nutzung des reinen Treibers ohne zusätzliche System-Software ist nur eingeschränkt möglich (keine Laden und Speichern im OS, kein Laden und Speichern im BASIC)!**+USBX ist eine Variante der USB-Software, die in der [[z9001:software:mega|]] enthalten istSie wird als Treiber geladen und bleibt dann bis zum nächsten Reset aktiv. Bei Strg-C (Warmstart) wird der Treiber automatisch reinitialisiert. 
 + 
 +**Eine Nutzung des reinen Treibers ohne zusätzliche System-Software ist nur eingeschränkt möglich (keine Laden und Speichern im OS, kein Laden und Speichern im BASIC)! Deshalb ist es nur sinnvoll, USBX via Mega-Flash u.ä. anzuwenden**
  
 Mit Mit
Zeile 148: Zeile 156:
 ===== USB-OS ===== ===== USB-OS =====
  
-USB-OS ist eine kleine autarke Software für eine USB-Modul mit einem 8K-ROM auf C000h.+| Dateiname | (modul.rom) | 
 +| Laden in | OS | 
 +| Programmstandort | C000-C3FF | 
 +| OS-Kommando | # und s.u. | 
 + 
 +USB-OS ist eine kleine autarke Software für eine USB-Modul mit einem 4K(8K)-ROM auf C000h. 
 +Mit dieser Software ist ein sofortiger Betrieb des Z9001 mit USB möglich. Direkt nach dem Einschalten wird mit USB geladen und gespeichert, es muss kein Treiber aktiviert werden. 
 In der im Download beliegenden Beschreibung ist die Installation und Benutzung ausführlicher beschrieben. In der im Download beliegenden Beschreibung ist die Installation und Benutzung ausführlicher beschrieben.
  
 +Es wird kein Arbeitsspeicherbereich wie in der Mega-Flash-Version benötigt, die Software liegt komplett im ROM.
  
 Es gibt ein paar spezielle Kommandos zur Arbeit mit USB.  Es gibt ein paar spezielle Kommandos zur Arbeit mit USB. 
Zeile 192: Zeile 208:
 Umschalten zwischen USB und Kassette: Umschalten zwischen USB und Kassette:
  
-DOS "Disk OS", Nutzen der USB-Routinen im normalen OS+DOS "Directory OS", Nutzen der USB-Routinen im normalen OS
  initialisiert den Treiber.   initialisiert den Treiber. 
 CAOS "CAssette OS", Nutzen der Kassettenroutinen im normalen OS CAOS "CAssette OS", Nutzen der Kassettenroutinen im normalen OS
Zeile 203: Zeile 219:
 (vgl. Beschreibung http://hc-ddr.hucki.net/wiki/doku.php/z9001/software/mega) (vgl. Beschreibung http://hc-ddr.hucki.net/wiki/doku.php/z9001/software/mega)
  
-- Parameter hexadezimal, eine Vornull is nicht nötig!+- Parameter hexadezimal, eine Vornull ist nicht nötig!
 - Bei vielen Kommandos kann man mit <PAUSE> die Ausgabe anhalten/fortsetzen - Bei vielen Kommandos kann man mit <PAUSE> die Ausgabe anhalten/fortsetzen
   <STOP> beendet das Kommando, jede andere Taste setzt fort   <STOP> beendet das Kommando, jede andere Taste setzt fort
Zeile 209: Zeile 225:
 <code> <code>
 MENU Auflisten aller Kommandos im Speicher MENU Auflisten aller Kommandos im Speicher
- Angezeit werden Name, Adresse des Kommandonamens, Adresse des Programms+ Angezeigt werden Name, Adresse des Kommandonamens, Adresse des Programms
  Die Reihenfolge entspricht der Suchreihenfolge des OS  Die Reihenfolge entspricht der Suchreihenfolge des OS
  
Zeile 231: Zeile 247:
  
 Bei LOAD/SAVE kann ein weiterer Parameter "1" angehängt werden. Dann wird kein Bei LOAD/SAVE kann ein weiterer Parameter "1" angehängt werden. Dann wird kein
-OS-Kopfblock geschrieben bzw. geladen! Das wird z.B. intern in BASIC genutzt. +OS-Kopfblock geschrieben bzw. geladen! Das wird z.B. intern in BASIC genutzt.\\ 
-Tipp: Mit "LOAD 1000 1", filename:TEST.COM wird das Programm TEST.COM in den+Tipp1: Mit "LOAD 1000 1", filename:TEST.COM wird das Programm TEST.COM in den
 Speicher ab Adresse 1000 geladen. "DUMP 1000 107F" zeigt den Kopflock an, "DUMP Speicher ab Adresse 1000 geladen. "DUMP 1000 107F" zeigt den Kopflock an, "DUMP
 1080 3FFF" das eigentlich Programm.\\ 1080 3FFF" das eigentlich Programm.\\
Zeile 243: Zeile 259:
 eine Verzeichnisebene zurück und CD "/" wechselt direkt ins Root-Verzeichnis. eine Verzeichnisebene zurück und CD "/" wechselt direkt ins Root-Verzeichnis.
  
 +**09.12.2019**: Neues Kommando HELP, DIR-Anzeige in BASIC nun ohne Erweiterung, interne Anpassungen
  
 ===== Programme ===== ===== Programme =====
Zeile 262: Zeile 278:
 {{:z9001:software:usb-basic.gif|}}\\ Es wird ein Kopfblock 0 geschrieben, der nur den korrekten Dateinamen enthält (Byte 0..11). Damit sind BASIC-Programme speicherkompatibel zu OS-Programmen. {{:z9001:software:usb-basic.gif|}}\\ Es wird ein Kopfblock 0 geschrieben, der nur den korrekten Dateinamen enthält (Byte 0..11). Damit sind BASIC-Programme speicherkompatibel zu OS-Programmen.
  
-:!: **23.11.2017: Die aktuelle Software schreibt den Kopfblock 0 nicht**, wenn ein spezielles Flag (fcb+24='N') gesetzt ist. Das +:!: **23.11.2017: Die aktuelle Software schreibt den Kopfblock 0 nicht mehr**, wenn ein spezielles Flag (fcb+24='N') gesetzt ist. Das 
-wird nun in BASIC genutzt. Damit sind die erzeugten SSS-Dateien kompatibel zu CP/M (ZBS). +wird nun in BASIC genutzt. Damit sind die erzeugten SSS-Dateien kompatibel zu CP/M (ZBS). Sie werden im USB-OS auch mit dem Dateityp .ZBS gespeichert.
- +
-**OS** Im neuen CCP des Mega-Moduls wird versucht, ein nichtgefundenes Kommando von Diskette zu laden! Im originalen OS wird in diesem Fall intern CLOAD aufgerufen. Es erscheint dann das bekannte "start tape". ((Aber leider ist CLOAD mit internen Aufrufen und nicht mit CALL 5-Funktionen implementiert, so dass hier leider keine Diskettenabfrage erfolgt. Für einen 100%-igen Kassettenersatz müsste man die Routinen MAREK und KARAM aus dem Z9001-OS ersetzenDas geht aber nur, wenn man den System-ROM gegen einen EPROM mit einem angepasstem OS austauscht.))+
  
 **ZMxx** funktioniert (gepatchte Version). mit AP=T und Paadr_eadr_sadr wird gespeichert (s. [[z9001:software:zm#kassettenarbeit|]]. Die originalen Versionen funktionieren nicht mit Diskette/USB. Die Punch/Reader-Treiber für Kassette springen leider direkt in den Monitor und nutzen nicht CALL 5. **ZMxx** funktioniert (gepatchte Version). mit AP=T und Paadr_eadr_sadr wird gespeichert (s. [[z9001:software:zm#kassettenarbeit|]]. Die originalen Versionen funktionieren nicht mit Diskette/USB. Die Punch/Reader-Treiber für Kassette springen leider direkt in den Monitor und nutzen nicht CALL 5.
  
-**KCPASCAL** funktioniert nicht mit Diskette/USB. Ursache dafür ist einfach, dass KCPASCAL den gesamten Speicher von 300h bis BFFFh belegt. Da bleibt kein Platz mehr für ein BDOS-Wrapper.+**KCPASCAL** funktioniert nur mit USB-OS, nicht mit USBX. Ursache dafür ist einfach, dass KCPASCAL den gesamten Speicher von 300h bis BFFFh belegt.  
 +Speichern/Laden funktioniert, Speichern von COM-Dateien leider noch nicht. Auch nicht mit Kassette. Das ist offenbar ein Bug in KCPASCAL.
  
 **PRETTYC** funktioniert nicht komplett mit Diskette/USB. Das Speichern funktioniert, doch beim Laden wird leider nicht OPENR genutzt. PrettyC verfügt über einen Modifikations-Selbstschutz, ein Patchen ist nicht ohne weiteres möglich. **PRETTYC** funktioniert nicht komplett mit Diskette/USB. Das Speichern funktioniert, doch beim Laden wird leider nicht OPENR genutzt. PrettyC verfügt über einen Modifikations-Selbstschutz, ein Patchen ist nicht ohne weiteres möglich.
 +
 +===== JKCEMU =====
 +
 +**Ausprobieren/Verwenden von USB-OS im [[http://www.jens-mueller.org/jkcemu|JKCEMU - Kleincomputer-Emulator]]** 
 +
 +{{:z9001:software:jkcemu-usb-os.jpg?600|}}
 +
 +vorab {{ :z9001:software:usb-os.zip |}} downloaden und entpacken
 +
 +zur Nutzung im JKCEMU muss man eine eigene Konfiguration zusammenstellen:
 +
 +  * KC87, 
 +  * 2 16K-RAM-Module oder das 64K-RAM-Modul
 +  * 1 Boot-ROM-Modul mit alternativem Inhalt modul.rom aus dem Download-Paket
 +  * USB-Anschluss (Reiter System/Optionen/Erweiterungen)
 +
 +Mit Alt-U öffnet man das Fenster zum USB-Anschluss und wählt hier das Verzeichnis "usb-stick" aus dem entpackten Archiv aus.
 +Außerdem muss man den Schreibschutz entfernen.
 +
 +Nun kann man wie gewohnt mit der KC87-Emulation arbeiten. Speichern/Laden erfolgt im Verzeichnis "usb-stick", ein Umweg über Audio-Aufzeichnung ist nicht nötig.
 +
 +Die Anleitung zu USB-OS, Beschreibungen von robotron etc. liegen im Ordner usb-stick\doc.
  
 ===== Internes ===== ===== Internes =====
Zeile 283: Zeile 320:
 Um herauszufinden, wie ein Programm auf Kassette schreibt, gibt es im Mega-Flash ein kleines Hilfsprogramm CALL5DBG. Dieses ist nach DOS/CAOS neu zu starten. Es werden die Kassettenfunktionen mit Namen ausgegeben, gefolgt von DMA, BLNR und LBLNR (Stand vor Aufruf der eigentlichen Funktionen). Um herauszufinden, wie ein Programm auf Kassette schreibt, gibt es im Mega-Flash ein kleines Hilfsprogramm CALL5DBG. Dieses ist nach DOS/CAOS neu zu starten. Es werden die Kassettenfunktionen mit Namen ausgegeben, gefolgt von DMA, BLNR und LBLNR (Stand vor Aufruf der eigentlichen Funktionen).
  
 +===== Historie =====
 +
 +**27.02.2019** erste eigenständige Modul-Version
 +
 +**05.03.2019** Neue Kommandos DIR und CD zur einfachen Arbeit mit USB
 +
 +**12.03.2019** Neue BASIC-Kommandos DIR und CD (s. oben)
 +
 +**09.12.2019** Umbenennung usb-os.asm -> modul.asm, usb.asm -> usbos.asm
 +Neues Kommando HELP, DIR-Anzeige in BASIC nun ohne Erweiterung
 +
 +**26.12.2019** Keine eigene Schnittstelle für DIR und CD, sondern Nutzung von 
 +CALL 5 mit weiteren Nummern. Sprungverteiler f. LOAD+SAVE. Doku siehe usbos.asm.
 +
 +**13.03.2020** Mit Build 147 des Arnold-Assemblers musste die Verwendung von
 +Unterverzeichnissen geändert werden (Es wird jetzt relativ zu dem Verzeichnis
 +gesucht, in dem die Datei mit dem Include-Statement liegt, und nicht mehr
 +relativ zum aktuellen Verzeichnis). Das betrifft alle asm-Sourcen und Perl-
 +Tools, die was mit include zu tun haben.
 +
 +**16.03.2020** Basic mit DIR, CD unter DOSX,USBX; sonst Fehlermeldung. DOSX
 +merkt sich das aktuelle Laufwerk
 +
 +**12.04.2020** neu DEVICE, neue Version ZM30+ZMA8, USB-OS nun auch OS 1.1-
 +tauglich (Z9001.84). CRT-Treiber werden bei WBOOT reinitialisiert.
  
 +**11.08.2020** CALL 5 f. LOAD+SAVE, Doku s. 00usb-os-entwickler.txt
 +Anpassung HLPEDIT, HELP, System. Aktualisiert CRT40. 
 +Testweise SYSINFO0 im Modul-ROM enthalten.
 +Anleitungen, Handbücher etc. im Paket!
  
  • z9001/software/usb.1552466139.txt.gz
  • Zuletzt geändert: 2019/03/13 08:35
  • von volkerp