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:cpm:gide [2015/10/20 07:35] volkerpz9001:cpm:gide [2018/01/17 07:02] (aktuell) – [Treiber v. H. Poppe] volkerp
Zeile 1: Zeile 1:
-FIXME 
- 
 ====== GIDE ====== ====== GIDE ======
  
-[[z9001:module_sonstige:gide_usb|]] +Benötigt wird ein [[z9001:module_sonstige:gide_usb|]].
- +
-| Adressbereich | - | |  +
-| I/O-Adressen | GIDE | 54h-5Fh (empfohlener Port für Z9001) | +
-| | USB | DCh..DFh (empfohlener Port für Z9001) | +
- +
-Von Kingstener <del>gibt</del> gab es einen universell nachladbarer Treiber: +
-http://www.kingsteners.homepage.t-online.de/  (download ->HP, Erweiterungen,GIDE). +
- +
-http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11026 +
- +
-Heiko Poppe entwickelt auch fleißig Treiberpakete für die GIDE. +
- +
-http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11717 +
- +
-https://dl.dropboxusercontent.com/u/53892897/GIDE-ALL_02.zip +
- +
- +
- +
-Wolfgang Harwardt hat Herbst 2013 eine kompakte Leiterplatte mit GIDE-Interface und USB (VDIP1) für den [[homecomputer:k1520|K1520-Bus]] entwickelt. Diese Karte lässt sich auch direkt am Z9001/KC87 nutzen! +
- +
-http://buebchen.jimdo.com/selbst-gebaut-diy-homebrew-feito-por-mim/8-bit-selbstbau/gide-für-k1520/ +
- +
- +
- +
-Forum: http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=9958 +
- +
-| Adressbereich | - | +
-| I/O-Adressen | 54h-5Fh GIDE (empfohlener Port für Z9001) | +
-| | DCh..DFh USB (empfohlener Port für Z9001) | +
  
-===== GIDE =====+{{:z9001:cpm:gideusb.jpg?300|}}
  
 Die GIDE ist eine generische IDE-Schnittstelle für Z80-basierten Computer ("Generic IDE"). Sie ermöglicht Die GIDE ist eine generische IDE-Schnittstelle für Z80-basierten Computer ("Generic IDE"). Sie ermöglicht
Zeile 43: Zeile 11:
 Erdacht und realisiert wurde die GIDE von Tilmann Reh, 1995 und Herb Johnson (RTC und Software). Erdacht und realisiert wurde die GIDE von Tilmann Reh, 1995 und Herb Johnson (RTC und Software).
  
 +Am GIDE-Bus ist ein DOM-Modul vom Pollin angeschlossen. Der Flash-Speicher hat eine Kapazität von 128 MByte. Das reicht für satte 8 Laufwerke á 8 MByte.
  
-{{:z9001:module_sonstige:gide1.jpg?300|}}\\ Start von GIDEC.COM, Menüpunkt 1 (Info)+I/O-Adressen | GIDE | 54h-5Fh (empfohlener Port für Z9001|
  
-Das Modul von Bübchen lief auf Anhieb, nachdem der GAL ST 20AS25HB1 gegen einen PALCE20V8H ausgetauscht wurdeEntweder macht mein Brenner Probleme beim ST-GAL oder dieser GAL-Typ funktioniert generell nicht besonders gut?+Heiko Poppe entwickelt fleißig Treiberpakete für die GIDE.
  
-Zum Bild: Folgende Module sind gesteckt (von vorn nach hinten):+http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11717
  
-  * GIDE+USB von Bübchen mit 128MB DOM und VDIP1 +https://dl.dropboxusercontent.com/u/53892897/GIDE-ALL_02.zip
-  * Mega-Flash-ROM von Bübchen (mit Mega-Flash-Software, der 32K RAM ist deaktiviert) +
-  * 64K dynRAM (Nachbau UZander, mit LEDs an der Seite) +
-  * BIC-FDC-Platine (Nachbau UZander, mit Ports für Z9001)+
  
-Am GIDE-Bus ist ein DOM-Modul vom Pollin angeschlosssenDer Flash-Speicher hat eine Kapazität von 128 MByte und kostet nur 1,50€ (2013). +Von Kingstener gibt es auch einen nachladbaren Treiber (11/2014 Version 0.5): 
 +http://www.kingsteners.homepage.t-online.de/  (download ->HPErweiterungen,GIDE).
  
-Als Basis-Adresse ist bevorzugt **050H** zu nutzen (A5 und A7 jumpern)LLC2, AC1 und Z1013 nutzen den Adressbereich 84h..8Fh. Dieser ist leider am Z9001 nicht mehr frei.+http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11026
  
-==== Hardware ====+Achtung! Die Treiber sind nicht miteinander kompatibel! Wird der falsche Treiber genutzt, zerstört man alle Daten auf der Festplatte!!!!
  
-(nach http://www.gaby.de/gide/GIDE.txt)+**Hardware**
  
-**Einführung**+s. [[z9001:module_sonstige:gide_usb|]].
  
-Die GIDE ist eine generische IDE-Schnittstelle für Z80-basierten Computer. Sie ermöglicht 
-den Anschluss von bis zu zwei IDE-Geräten wie Festplatten oder CD-ROMs. Zusätzlich 
-wird auch eine batteriegepufferte Echtzeituhr (RTC, Seiko-Epson-72421) unterstützt.\\ 
-Die Schnittstelle wird über I/O-Befehle angesprochen.\\ 
-Erdacht und realisiert wurde die GIDE von Tilmann Reh, 1995. 
  
-**Schaltungsoptionen**+===== Downloads =====
  
-Der RTC-Teil kann entfallenDies betrifft den RTC-Chip und die zugehörigen Bauteile zur  +  * {{:z9001:cpm:gidedrv_v04.zip|}} Treiber von Kingstener v0.4 
-Batteriegepufferung.+  * {{:z9001:cpm:gide-all_02.zip|}} Treiber von Heiko Poppe v0.2 
 +  * {{:z9001:cpm:gidehp50.zip|}} an Z9001 angepasster Treiber von Heiko Poppe v0.2 + eradir
  
-**Schaltungsbeschreibung**+Benötigt werden die Treiber für Basisadresse 50h, also gidehp50.com bzw. gidn@50h.com
  
-Die Schaltung kann in mehrere Funktionsblöcke unterteilt werden. Der erste +Achtung! Die Treiber sind nicht miteinander kompatibel! Wird der falsche Treiber genutztzerstört man alle Daten auf der Festplatte!!!!
-Block ist der Adressendecodiererein GAL 20V8 (IC2).  +
-Er vergleicht die Adressleitungen A4 bis A7 mit den Werten +
-durch die Basisadresse via Jumper (J1), und dekodiert alle benötigten Auswahlsignale  +
-innerhalb des ausgewählten Adressbereich. Er puffert auch die Adressleitungen A0 bis A2 für den IDE-Port.+
  
-Der zweite Funktionsblock ist die IDE-Zugriffs-Zustandsmaschine. +**Der Treiber von H.Poppe musste gepatcht werdenda der Z9001 ein anderes Laufwerksbyte als üblich nutzt**s[[z9001:cpm:system#das_i_o-konzept|]]
-Er besteht aus einem GAL 16V8 (IC1) und zwei bidirektionalen 8-Bit-Registern +
-(IC3IC4)dieser Block wickelt den Datentransfer zwischen der Z80-CPU und dem +
-IDE-Gerät abHauptzweck dieses Funktionsblocks ist es, eine Schnittstelle zwischen den +
-16-Bit-Datenübertragungen vom IDE-Gerät und dem 8-Bit-Zugriff des +
-Z80-Prozessors herzustellen. +
  
-Für Datenzugriffe, die eine Hälfte jedes 16-Bit-Datenwort ist, +===== CP/M =====
-in einem der Register gespeichert, bis der nächste 16-Bit-Zugriff kann +
-hergestellt. Da dies nur eine I O-Adresse des Z80-, Daten belegt +
-Übertragung kann mit Block I / O-Anweisungen (Inir / OTIR) durchgeführt werden. Die +
-Zustandsmaschine GAL bietet auch Zugang Strobe-Signale für die IDE +
-Vorrichtungen und ein maskiertes / RD-Signal für den Zielcomputer.+
  
-Der dritte und letzte Funktionsblock ist der RTC-Block. +Ein guter Startpunkt zum Thema GIDE ist
-Die Adreßleitungen A8 bis A11 werden verwendet, um die Register der RTC anzusprechen. +
-Daher wird nur ein I/O-Port benötigt, der Zugriff muss aber mit OUT (C),r oder IN r,(C) +
-erfolgen, und die RTC-Registeradresse muss dabei im B-Register stehen.+
  
-**Programmdetails**+http://www.gaby.de/gide/ sowie\\ 
 +http://www.retrotechnology.com/herbs_stuff/gide.html
  
-Belegte I/O-Adressen (Alle Adressen sind hexadezimal):+Empfehlenswert ist es, zuerst mit einem der Testprogramme GIDE*.COM zu beginnen, die direkt und ohne zusätzliche Treiber im normalen CP/M laufen. Hier ist GIDEC.COM oder das ältere Pascal-Programm GIDEtest09.zip zu empfehlen. Man sollte ein bisschen mit den Möglichkeiten herumzuspielen (Bilder s. http://www.mpm-kc85.de/html/GIDE.htm). 
  
-| x0..x3 | werden nicht genutzt und sind frei für andere Erweiterungen | +Zur Arbeit mit Festplatten unter CP/M muss i.Wein passendes CP/M-BIOS erstellt werden. Quellcodebasis dafür ist GIDEprog.zip. Der GIDE-Treiber umfasst nur eine einfach zu übernehmende Schreib- und eine Leseroutine für das BIOS. 
-| x4 | reserviert für IDE expansion board | +
-| x5 | RTC access | +
-| x6 | IDE alternate status / digital output register | +
-| x7 | IDE drive address register +
-| x8 | IDE data register           | +
-| x9 | IDE error/feature register +
-| xA | IDE sector count register   | +
-| xB | IDE sector number register +
-| xC | IDE cylinder low register   | +
-| xD | IDE cylinder high register +
-| xE | IDE drive/head register     | +
-| xF | IDE command/status register |+
  
-"x" steht für die Basisadresse (mit J1 ausgewählt).  
  
-Auf die sechzehn RTC Register wird mit 16-Bit-I/O-Anweisungen zugegriffen:+=== Test ===
  
-| y0x5 | seconds, units                             | +Unter CP/M:
-| y1x5 | seconds, tens                              | +
-| y2x5 | minutes, units                             | +
-| y3x5 | minutes, tens                              | +
-| y4x5 | hours, units                               | +
-| y5x5 | hours, tens  & AM/PM flag                  | +
-| y6x5 | day, units                                 | +
-| y7x5 | day, tens                                  | +
-| y8x5 | month, units                               | +
-| y9x5 | month, tens                                | +
-| yAx5 | year, units                                | +
-| yBx5 | year, tens                                 | +
-| yCx5 | day of week                                | +
-| yDx5 | control register D  (status/control)       | +
-| yEx5 | control register E  (pulse output control) | +
-| yFx5 | control register F  (master control)       |+
  
-"x" steht für die Jumper Basis-Adresse, und "y" für einen beliebigen Wert+<code> 
-Jedes RTC-Register besteht aus nur 4 Bits, die oberen vier Daten-Bits werden einfach ignoriert.+GIDEC oder GIDE starten 
 +p auswählen 
 +Port angeben (hier 50)ECB-Bus-IDE Interface N 
 +1 (read drives  ID data) Anzeige der Disk-Daten 
 +weitere Punkte nach Belieben 
 +</code>
  
-**Programmierbeispiele**+funktioniert dies, kann der GIDE-Treiber geladen werden:
  
-Für eine einfache Implementierung werden Routinen sind sowohl für IDE-und RTC-Zugang benötigt: die +===== Treiber vHPoppe =====
-Initialisierungsroutine, und Routinen zum Lesen respSchreiben von Daten.+
  
-Die Datei GIDEIDE.MAC enthält einen Beispiel-IDE-Treiber, GIDERTC.MAC einen Beispiel-Treiber für die RTC.+auf einer [[z9001:cpm:bootdiskette|]] müssen die Programme
  
-Für erste Tests mit einer frisch angeschlossenen IDE-Festplatte gibt es das  Testprogramm +  GIDEHP50.COM 
-GIDETEST, das einige grundlegende Test der Schnittstelle und der Festplatte ermöglicht.  +  ERADIR.COM
-Das Programm ist in Turbo-Pascal 3.0  geschrieben und steht in Quell-und Objektcode zur Verfügung.+
  
 +enthalten sein.
 +Dann kann es losgehen. Nach dem Booten von der Diskette wird zuerst der GIDE-Treiber geladen:
  
-**Hinweise**+<code> 
 +A>gidehp50
  
-Kommt es beim Schreiben auf die Disk zu Problemen, hilft vielleicht der Tipp aus http://p112.sourceforge.net/index.php?gide+  GIDE-Treiber fuer Z9001-CP/A  V 0.
-Ein Widerstand von 100 Ω .. 1 kΩ ist in die /IOWR-Leitung zwischen PAL und IDE-Anschluss einzubauen. +                                    
 +  GIDE-Modul auf Adresse 50H 
 +  Info IDE-Laufwerk: 
 +  PQI DJ0128M22RF0 
 +  500 Cyl; 16 Head; 32 Sec;
  
-==== DOM-Modul ====+Im BIOS installierte Laufwerke: 
 +A:
  
-Bei [[http://www.pollin.de|Pollin]] gibt es für nur 1,50 € sogenannte DOM-Module. Das sind 128 MByte Flash-Speicher, die wie Festplatten mit IDE-Interface angesteuert werden (eine Art Vorläufer heutiger SSD-Festplatten). Original werden sie einfach auf die IDE-Wannenstecker des Motherboards gesteckt, daher haben die Module weibl. Buchsen anstelle der bei Festplatten üblichen Pfostenstecker. Pin 1 liegt links oben (von unten auf Modul gesehen).+Neu installierte GIDE-Laufwerke: 
 +C: D: E: F: G: H: I: J:
  
-{{:z9001:module_sonstige:dom-modul.jpg?300|}}+GIDE-Treiber installiert
  
-Bestellnr. 94-701 790   DOM, IDE, 128MB, PQI+A>                                       
 +</code>  
  
-Auf der Leiterplatte ist Pin 1 ebenfalls links oben (!) (auf Bestückungsseite gesehen!) Die Leiterplatte ist eigentlich dafür gedacht, dass Modul rückseitig aufzustecken, sOriginalbilder bei Bübchen, aber dann kann man im Z9001 kein weiteres Modul dahinter stecken. Um hier Platz zu sparen, erfolgt ein bestückungsseitiger anschluss des Moduls.+Es wurde nur der Treiber geladen! Die Festplatte bzwdas DOM-Modul wurden noch nicht verändert/formatiert!
  
-Das Modul kann aufgrund der "vertauschten" Anschlussreihen nicht einfach auf die Leiterplatte aufgesteckt werden, sondern es wird ein spezielles Kabel benötigtbei dem die beiden Anschlussreihen A und B vertauscht sind.+**Vor der erstmaligen Benutzung** eines Laufwerks muss dieses formatiert werden. Dafür reicht das Programm **eradir**. Dieses Programm löscht und initialisiert den Directory-Bereich einer Diskette bzw. Festplatte. Beim DOM-Modul müssen wir nicht physisch formatieren, es reicht, das CP/M-Filesystem anzulegen. 
 +Andere Programme, die dieselbe Ausgabe erfüllen, sind z.B. DUF05 (Punkt4) oder HDFORMAT.
  
-{{:z9001:module_sonstige:dom-gide-kabel3.jpg?0x200|}} {{:z9001:module_sonstige:dom-gide-kabel4.jpg?0x200|}}+<code> 
 +A>eradir c:
  
-Variante 1Kabel für ein DOM-Modul nach W. Harwardt. Es werden zwei Steckverbinder (Leiterplattenverbinder) benötigt, die gegenseitig auf das Flachbandkabel aufgecrimpt werden. Allerdings sitzt das DOM-Modul recht wacklig auf dem Steckverbinder. Ich habe daher Variante gebastelt.+Disk information for drive C: 
 + tracks:          500 
 + sys tracks:        2 
 + recs/trk:        128 
 + recs/group:       64 
 + tot grps:        995 
 + dir entries:    1024 
 + dir groups:        8  
  
-{{:z9001:module_sonstige:dom-gide-kabel1.jpg?0x200|}} {{:z9001:module_sonstige:dom-gide-kabel2.jpg?0x200|}} {{:z9001:module_sonstige:dom-gide-kabel5.jpg?0x200|}}+OK to erase directory on drive C(y/n, 
 +CR=n) Y
  
-Variante 2: Hier wird ein Wannenstecker und ein Steckverbinder genutzt. Zum Vertauschen der Reihen A und B habe ich am Steckverbinder jeweils 2 nebeneinander liegende Leitungen verdreht.+Erasing directory 
 +Track     3 Sector   126
  
-{{:z9001:module_sonstige:dom-adapter.jpg?200|}}+Successful Directory erase
  
-Zum Anschluss der DOM-Module am PC nutze ich einen externen USB-Adapter. Um hier das DOM-Modul zu verbinden, reicht ein Flachbandkabel mit 2 Wannensteckern auf derselben Seite. Die Reihen und B des IDE-Anschlusses müssen nicht vertauscht werden.+A>                                       
 +</code>
  
-==== CP/M ====+fertig!
  
-Ein guter Startpunkt zum Thema GIDE ist+Nun sind die Festplattenlaufwerke eingerichtet und man kann Programme dorthin kopieren, z.B. mit PIP, DIP, oder POWER.
  
-http://www.gaby.de/gide/ sowie\\ +===== Befüllen der Festplatten =====
-http://www.retrotechnology.com/herbs_stuff/gide.html+
  
-Empfehlenswert ist es, zuerst mit einem der Testprogramme GIDE*.COM zu beginnen, die direkt und ohne zusätzliche Treiber im normalen CP/M laufenHier ist GIDEC.COM oder das ältere Pascal-Programm GIDEtest09.zip zu empfehlen. Man sollte ein bisschen mit den Möglichkeiten herumzuspielen (Bilder s. http://www.mpm-kc85.de/html/GIDE.htm). +Um die Festplatten so richtig mit Software aufzufüllen, bietet es sich aneinen USB-Stick zu nutzen und von dort zu kopierenEine kleine submit-Datei unterstützt das Kopieren:
  
-Zur Arbeit mit Festplatten unter CP/M muss i.W. ein passendes CP/M-BIOS erstellt werden. Quellcodebasis dafür ist GIDEprog.zip. Der GIDE-Treiber umfasst nur eine einfach zu übernehmende Schreib- und eine Leseroutine für das BIOS.  +TODO
- +
- +
-Von Kingstener kommt ein universell nachladbarer Treiber: +
-http://www.kingsteners.homepage.t-online.de/  (download ->HP, Erweiterungen,GIDE). +
- +
- +
-=== Test === +
- +
-Unter CP/M: +
- +
-<code> +
-GIDEC oder GIDE starten +
-p auswählen +
-Port angeben (hier 50), ECB-Bus-IDE Interface N +
-1 (read drives  ID data) - Anzeige der Disk-Daten +
-weitere Punkte nach Belieben +
-</code>+
  
  
  • z9001/cpm/gide.1445326548.txt.gz
  • Zuletzt geändert: 2015/10/20 07:35
  • von volkerp