Benutzer:Tale-X/CPM-Diskformat

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Shoutbox: 20.7.16, 11:xxUhr

syshack :CPM2.2 hat einfach ab Track3, Sektor 0...7 die Directory-Einträge. Danach kommen die Daten.

Tale-X :syshack: mehr Felder pro Eintrag?

Tale-X :sys: du bist auf der bios-ebene unterwegs

syshack :Ich habe die CPM3 Systemdiskette noch nicht mit Mirkos Webinfos verglichen, aber dort hast du mehr als 64 Einträge bzw. auch mehr als nur Track 3 und S 0...7

syshack :Ich bin auf der D64 Ebene unterwegs, das ist es doch was wir machen müssen?

Tale-X :sys: letztendlich ja, aber ne zusätzliche saubere Abstraktionsebene, die mit den CP/M-Dokus abgleichbar ist, wäre von Vorteil

syshack :Hier ist die Dir Struktur beschrieben: cpm8680.com/cpmtools/cpm.htm das kann man schön mit DirMaster 3.1.1 und der Beispiel D64 von DB vergleichen.

Tale-X :sys: und da ist der unterschied zu CP/M+ allein das Password?

Tale-X :aber das meinte ich damit - es wäre gut, eine Schicht im Programm zu haben, die diese Struktur abbildet

syshack :Nein. Du hast im CPM PLus auch Disc Labels, siehe Link oben. Aber soweit mit dem CPM3 bin ich noch nicht.

Tale-X :und dann eine Schicht, die das Abbild in D64 (CP/M2.2, 3.0 SS, 3.0 DS) umrechnet

syshack :TX: Ja, hast schon recht. Wir wollen ja eine "Datei" kopieren/löschen/umbenennen. Nur will ich die Struktur auf der Disk verstehen.

Tale-X :sys: ja, das auch... ich bin top-down unterwegs und Du bottom-up :)

Tale-X :letztendlich wollen wir alles davon verstehen ;)

syshack :Mir geht es ja auch darum zu verstehen, wenn ich ein Stück C / Java etc. Code sehe, dass z.B. eine Datei kopiert, was da mit den Tracks/Sektoren/Bytes darunter passiert. Dann kann ich sagen: "Aha, da holt er sich das Directory aus T3/S0 und das ist so lang und da holt er sich die Datei Bytes, und kopiert sie unter einem neuen Datibereich."

daybyter :Schreibt sowas ruhig auch mal als Kommentar in den Thread.

daybyter :Sonst geht es verlustig

daybyter :M.J. sollte man evtl. auch mal fragen.

syshack :Ich habe es professionell mit meinem neuen Füllfederhalter auf der Rückseite eines PC-Ausdrucks gekritzelt.... :bgdev

daybyter :Oder den Peter

daybyter :Ham beide viel Ahnung

syshack :"dokumentiert" :D

syshack :DB: Deshalb die Idee mit dem Wiki als WIP.

syshack :Beim Thread wächst das schnell und alte, ungültige / aktualisierte Infos muss man finden.

Tale-X :syshack: ich sehe es halt so, dass cp/m bdos das erst mal in ne sektorenliste packt und bios dass dann umrechnet. Ich versuche beides getrennt zu betrachten

syshack :Ich habe mir zuerst mal ein Word erstellt.

daybyter :sys: ich will ja aber gerade eine saubere Abstraktionsschicht über einem d64/cpm Image haben

daybyter :Damit ich _eine_ Kopierroutine schreiben kann.

daybyter :Die von a nach b kopiert

Tale-X :d64-Sektoren|cp/m-directory+Blockliste|Dateihandling

daybyter :Egal was für Images das sind.

syshack :Ja, das ist mir ja klar. Ich weiss aber nicht was "Datei" kopieren auf CPM Ebene bedeutet. Ich wollte es halt zuerst unten verstehen. Aber so wie du Deine Klassen aufgebaut hast, hast du ja genau das , was du willst. Ob es ein Normal-D64 oder CPM22-D64 ist, du hast die Kopier Aktion ja vererbt.

daybyter :Meine geplante Reihenfolge ging so:

daybyter :App will test.dat mit 1000 Bytes auf das Image schreiben

daybyter :Zuerst checken, ob genug Platz ist. Falls nicht => Fehler

daybyter :Dann entsprechend viel Sektoren reservieren

daybyter :Directory Eintrag mit diesen Sektoren erstellen

daybyter :Output Stream zurückgeben, der in diese Sektoren schreibt

daybyter :App schreibt 1000 Bytes in den Stream

daybyter :Der Stream kümmert sich um die Verteilung auf Sektoren