Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Entwicklung GIDE-Treiber SCP1526 » Themenansicht

Autor Thread - Seiten: -1-
000
13.04.2014, 19:53 Uhr
constanze czech

Avatar von constanze czech

Zur Bündelung der Fragen und Ergebnisse möchte ich dieses Thema eröffnen.

Mein Hintergrund: Einbinden des GIDE-Adapters über Bus-Steckverbinder an K1520 Bürocomputer. Einbindung der Platte als mehrere LW ins BIOS des SCP.

Seitenhieb: Universelle Schnittstelle schreiben, um so auch eine beliebige Ramdisk (z.B. testweise ein 32k sRAM) als Laufwerk zu nutzen.

Aktuell hätte ich konkret folgende Fragen:

- Laut MOS K1520 Anl. f. d. SysProg. S11 steht auf Adresse DE65 die Anzahl der logischen Laufwerke. (max. 5)
- Laut http://hc-ddr.hucki.net/wiki/doku.php/cpm:systemdoku ist CP/M 2.20 in der Lage, bis zu 16 logische Laufwerke zu bedienen.

Warum nur 5?
Wie wird das im Treiber der RAF2008 gemacht?
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
13.04.2014, 21:22 Uhr
maleuma



CP/M 2.2 kennt 16 Laufwerke, benötigt aber für jedes Laufwerk im BIOS einen DPH, DPB u.s.w. Da wird wohl bei dem SCP1526 nicht mehr vorgesehen sein.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
13.04.2014, 22:12 Uhr
constanze czech

Avatar von constanze czech

Hinter dem letzten DPH (log LW 4) endet DED3, folgt direkt der DPB von LW0 und dann die folgenden. Sicherlich läßt sich das alles verbiegen auf eine Stelle, wo mehr Platz ist.

Frage1:
Im Handbuch steht, daß die letzten 17 Byte des DPH zur internen Steuerung der verschiedenen phys. LW dienen. Gibt es da eine Aufschlüsselung drüber, wie konkret?

Frage2:
Wo genau steht eigentlich die Geometrie der Disk? Also konkret die Anzahl der Spuren.

POWER Kommando DISK:***LW A Parameter: 780k 80 + 2 Tracks 80 Sect/Track 160 Sect/System 128 Dir-Entries 16kB/Extend***

Speicherinhalt:
DISK PARAMETER BLOCK DPB log. LW 0, Länge: 33Byte
DED4 Wort 0050 Anzahl Sätze/Spur
DED6 04 Blockgrößenfaktor (3=1kB, 4=2kB)
DED8 0F =15 Blockmaske (Sätze/Block - 1) (7=1kB, 15=2kB)
DEDA 00 Extendmaske (0=1 Extend/Dir-Entry, 1=2 Extends/Dir-Entry)
DEDC Wort 0185 =389 Anzahl Blöcke/Diskette - 1 (K5600.10=73, K5602=299)
DEDE Wort 007F =127 Anzahl Direktoryenträge - 1 (K5600.10=63, K5602=127)
DEE0 Wort 00C0 Erste 16Bit des Alloc-Vektors
DFE2 Wort 0002 Länge des Checkvektors (Anzahl der Dir-Entrys / 4)
DFE4 Wort 0002 Anzahl der Systemspuren
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
13.04.2014, 23:03 Uhr
Heiko_P



Das alles lässt sich sicher alles woanders hin verbiegen, reicht aber allein nicht aus. Neben dem DPH für jedes Laufwerk und mindestens einem DPB für die Festplatte (bei identischer Laufwerksgeometrie) brauchst du noch ein Stück Code, um die Festplatte anzusteuern. Darüber hinaus muss das BIOS wissen, welches Laufwerk mit welchem Treiber angesprochen werden muss. Du musst dich dort in die Lese- und Schreibroutine einklinken, wo diese Auswahl getroffen wird.

Zu Frage 1:
Der DPH für meine Präcitronic-RFL sieht so aus:

Quellcode:

        ;DPH01 fuer RAM-Disk 256k
        ;
dph01:  defw 0          ;keine Translation-Table
        ;es folgen 6 Byte Arbeitszellen fuer BDOS
        defw 0          ;
        defw 0          ;aktuelle Spur
        defw 0          ;aktueller Sektor
        defw dirbf      ;Adresse Directorypuffer
        defw dpb01      ;Adresse Disk-Parameter-Block
        defw csv        ;Adresse Checksummenbereich
        defw alv01      ;Adresse Blockbelegungsplan
        ;



Zum Nachlesen: http://www.seasip.demon.co.uk/Cpm/dph.html oder auch
hier: http://hc-ddr.hucki.net/wiki/doku.php/cpm:systemdoku#diskettenparameter

Zu Frage 2:
Die Geometrie steht im Disk Parameter Block (DPB), die Werte müssen umgerechnet werden. Der Zeiger dorthin steht im DPH.

Einzelheiten findest du hier: http://www.seasip.demon.co.uk/Cpm/format22.html oder ebenfalls wieder
hier: http://hc-ddr.hucki.net/wiki/doku.php/cpm:systemdoku#der_disk_parameter_block

Gruß Heiko

Dieser Beitrag wurde am 13.04.2014 um 23:06 Uhr von Heiko_P editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
13.04.2014, 23:24 Uhr
constanze czech

Avatar von constanze czech

Hallo Heiko!
Schön, daß Du dabei bist. In den Dokus stehen irgendwie nicht alle Infos drin.

Um das "Stück Code" zu schreiben, muß ich erstmal verstehen, was BIOS mit den Diskettenblöcken macht. Daher der Aufwand.

Kennt jemand einen Grund, warum die Laufwerkszahl auf 5 begrenzt ist? Wieso hat die RAM-Disk dann den Buchstaben M, statt E?
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
13.04.2014, 23:43 Uhr
Heiko_P



Das ist wahrscheinlich keine Begrenzung, sondern die Anzahl der im BIOS einprogrammierten Laufwerke (auch wenn evtl. nicht alle physisch da sind). Die Laufwerksbuchstaben kann man bei der BIOS-Programmierung frei vergeben, da gibts keine zwingende Reihenfolge.

Die Dokus sind mitunter nicht leicht zu verstehen, das geht mir auch so. Da musst du durch Trotzdem: Ohne BIOS-Quelltext ist dein Vorhaben insgesamt sehr sportlich ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
13.04.2014, 23:56 Uhr
constanze czech

Avatar von constanze czech

Hast Du BIOS-Quelltext?

Nachtrag: BDOS-Quellen wären auch spannend. Das BIOS habe ich gerade zumindest, was die Calls angeht, reassembliert.
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...

Dieser Beitrag wurde am 14.04.2014 um 00:03 Uhr von sebastian czech editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
14.04.2014, 08:43 Uhr
felge1966



Muß es denn unbedingt SCPX sein? Wenn CP/A verwendet wird, ist wenigstens die Frage der Quellen geklärt. Zudem wäre eine Portierung auf den PC1715 auch möglich.

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
14.04.2014, 10:29 Uhr
constanze czech

Avatar von constanze czech

Hmm. Habe ich auch drüber nachgedacht aber dann irgendwie mit SCP angefangen, da das in den MOS dokumentiert ist.

Hast Du zu CP/A Unterlagen?
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
14.04.2014, 12:12 Uhr
felge1966



Immerhin gibts da schon eine Realisierung der Harddisk (http://www.tiffe.de/Robotron/CPA/cpa-enrico/)

andere Versionen sidn unter:
http://www.tiffe.de/Robotron/CPA/

Gruß Jörg
--
http://felgentreu.spdns.org/bilder/jacob120.gif
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
14.04.2014, 17:39 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

@Sebastian: Auf meiner Seite findest Du einen vollständigen und komplett kommentierten Quelltext des CP/A-BDOS

http://hc-ddr.hucki.net/wiki/doku.php/cpm:cpa
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 14.04.2014 um 17:40 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
14.04.2014, 18:50 Uhr
constanze czech

Avatar von constanze czech

@Heiko: Und wie sieht der DPB für die präcitronic RF aus?

Rüdiger hat mir heute die Quellen für das SCPX1526 1.2 BIOS geschickt.
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
14.04.2014, 19:53 Uhr
Heiko_P



So:


Quellcode:

        ;
        ;Disk Parameter Block (DPB)
        ;
        ;DPB01 fuer RAM-Disk 256k
        ;
dpb01:  defw     16       ;SPT    Sektoren je Spur
        defb     3        ;BSH    Blockshiftfaktor
        defb     7        ;BLM    Blockmaske
        defb     0        ;EXM    Extentmaske
        defw     255      ;DSM    Blockanzahl-1
        defw     3Fh      ;DRM    Anzahl DIR-Eintraege (64)
        defw     0C0h     ;ALL    Maske 2 DIR-Bloecke
        defw     0        ;CKS    kein Disk-Check
        defw     0        ;OFF    keine Systemspuren
        ;



Für mein DOM sehen die DPB so aus:


Quellcode:

        ;
        ;Disk Parameter Block fuer 8MB Laufwerke mit 8 kB Bloecken
        ;Erster DPB fuer erstes LW mit 2 Systemspuren
        ;
DPBHD0: defw    128     ;SPT 2    ;32x4 CP/M Sectors/track (128 Byte)
        defb    6       ;BSH 1    ;Block Shift Factor (Anz. 128 Byte je Block, 2_log)
        defb    63      ;BLM 1    ;Block Mask
        defb    3       ;EXM 1    ;Extent Mask
        defw    3E3h    ;DSM 2    ;996 blocks
        defw    3FFh    ;DRM 2    ;1024 directory entries
        defw    0FFh    ;ALL 2    ;8 blocks of directory !!!
        defw    0       ;CKS 2    ;Check Area Size (0 for HDD)
        defw    2       ;OFF 2    ;2 tracks offset (2 Systemspuren)
        ;

        ;
        ;Zweiter DPB fuer weitere LW ohne Systemspuren
        ;
DPBHD:  defw    128     ;SPT 2    ;32x4 CP/M Sectors/track (128 Byte)
        defb    6       ;BSH 1    ;Block Shift Factor (Anz. 128 Byte je Block, 2_log)
HDBLM:  defb    63      ;BLM 1    ;Block Mask
        defb    3       ;EXM 1    ;Extent Mask
        defw    3E7h    ;DSM 2    ;1000 blocks    (500 Zylinder/Sektoren)
        defw    3FFh    ;DRM 2    ;1024 directory entries
        defw    0FFh    ;ALL 2    ;8 blocks of directory !!!
        defw    0       ;CKS 2    ;Check Area Size (0 for HDD)
        defw    0       ;OFF 2    ;2 tracks offset
        ;



Die Systemspuren nutze ich zum Starten des Rechners, von dort wird CP/M geladen.
Der zweite DPB gilt für alle weiteren Laufwerke.

Gruß
Heiko

Dieser Beitrag wurde am 14.04.2014 um 20:00 Uhr von Heiko_P editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
14.04.2014, 20:41 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

@Sebastian: Schau mal die Quelltexte der nachladbaren RAF2008-Treiber an. Die fummeln sich ins BIOS selbst rein und sind eine gute Basis für eigene nachladbare Treiber.

http://hc-ddr.hucki.net/wiki/doku.php/z9001:cpm:raf2008
http://hc-ddr.hucki.net/wiki/doku.php/cpm:rsm#prl2com

Ich hatte damals extra ein kleines CP/M-Programm PRL2COM.COM geschrieben, um solche Treiber zu erstellen. So gibt es einen nachladbaren Treiber für die ROM-Floppies des Z9001-Megamoduls.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 14.04.2014 um 20:41 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
14.04.2014, 21:55 Uhr
Heiko_P



@volkerp:
Das ist zwar eine Möglichkeit, hilft aber nicht wenn man ohne Startdiskette arbeiten möchte. Dann muss das Betriebssystem die Festplatte von Anfang an "kennen".

@sebastian:
Kannst du mir den Quelltext vom SCPX1526 BIOS bitte mal schicken? Vielleicht hilft mir das beim SCP 0006 BIOS weiter.

Gruß
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
15.04.2014, 20:58 Uhr
constanze czech

Avatar von constanze czech

Dieser RAF-Nachladetreiber ist schwere Kost. Habe gestern schon knapp 1h mit Dirk drüber gesprochen aber hänge immer noch. Wurschtle mich gerade durchs BDOS, da sie nämlich offensichtlich die BDOS-Rufe ans BIOS anfangen, gucken, was für ein LW es sein soll und bei "normalen" Floppies einfach an die Originalstelle spring bzw. sonst einen Code ausführt.
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
15.04.2014, 23:43 Uhr
Enrico
Default Group and Edit



Zitat:
sebastian czech schrieb
Dieser RAF-Nachladetreiber ist schwere Kost. Habe gestern schon knapp 1h mit Dirk drüber gesprochen aber hänge immer noch. ...


Kein Wunder, wenn der nicht vorwärts kommt...
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
16.04.2014, 08:50 Uhr
constanze czech

Avatar von constanze czech

@Enrico: Ich weiß ja, daß Du viel zu tun hast aber zum Rumflamen reichts immer noch!? Wäre es nicht sinnvoller, stattdessen produktive Unterstützung zu bieten?
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
16.04.2014, 16:46 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

mmdisk ist der ROM-Floppy-Treiber basierend auf dem RAF-Treiber. Das ist dann eine Minimalvariante eines nachladbaren Treibers. Vielleicht hilft euch der weiter?
http://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/z9001:mmdisk.zip

Ansonsten: fragt mich ruhig
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 16.04.2014 um 16:46 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
22.04.2014, 23:38 Uhr
constanze czech

Avatar von constanze czech

Ich brüte gerade über den Disk Parameter Blocks (DPB) aus dem RAF-Treiber.

Wo steht eigentlich, wieviele Blöcke bzw. Bytes in einem Sektor sind? Irgendwie ist das die ganze Zeit wie Äpfel und Birnen.

Vielen Dank!
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
23.04.2014, 10:01 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Das steht nur indirekt drin. Hier sind es immer 128 Byte pro phys. Sektor, das spart das Blocking/Deblocking.

Hilfreich sind evtl. auch noch folgende Unterlagen für Dich:

http://hc-ddr.hucki.net/wiki/doku.php/cpm:systemdoku
http://hc-ddr.hucki.net/wiki/doku.php/cpm:write_a_bios:teil_2
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
23.04.2014, 10:31 Uhr
constanze czech

Avatar von constanze czech

Das heißt, bei einer Blocklänge von 1024 ist ein Block auf 4 Sektoren verteilt?

Habe auch was nützliches gefunden: http://www.cirsovius.de/CPM/Projekte/Tipps/Tipps.html

Was die CPM-Interna Teil II angeht: wer lesen kann ist klar im Vorteil. Hatte ich glatt übersehen. Vielen Dank!
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...

Dieser Beitrag wurde am 23.04.2014 um 10:39 Uhr von sebastian czech editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
16.09.2014, 07:50 Uhr
DL



ich setze hier mal einen Querverweis zum Thema nachladbarer GIDE-Treiber

http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=11026 Beitrag 114 ff.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
19.09.2014, 11:21 Uhr
constanze czech

Avatar von constanze czech

Sorry DL!
Vielen Dank für die ganze Arbeit. War total busy/unterwegs/nur am rennen.
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek