Tale: könnte die 1541 denn überhaupt dieses cp/m 3 Format schreiben?
CP/M für C64
-
Asklia -
14. Januar 2015 um 22:16 -
Erledigt
Es gibt 295 Antworten in diesem Thema, welches 80.970 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Lt. C128-Handbuch (Kapitel 7 CP/M) geht das:
Alles anzeigen
7.1.3 VERWENDUNG DES DISKETTENLAUFWERKS 1541Auch dieses Laufwerk kann mit CP/M verwendet werden. Dabei erfolgt der Daten-
transfer zwischen der Konsole und Laufwerk wesentlich langsamer als mit dem
Laufwerk Commodore 1571.Das Diskettenlaufwerk 1541 kann, im Gegensatz zum Diskettenlaufwerk 1571, die
Disketten nur einseitig bearbeiten. Dateien auf mit 1571 beschriebenen Dis-
ketten können nur solange bearbeitet werden, wie sie sich auf der ersten
Diskettenseite befinden.Mit beiden Laufwerken können auch Disketten, die mit Commodore 64 und seinem
Z80-Modul angelegt sind, bearbeitet werden.
... -
Ok. Gibt es genauere Infos dazu, so dass man das evtl in das Java Programm einbauen könnte?
-
Bei Mirkosofts Seite steht schon einiges dazu, wichtig imho ist der Zusammenschluss von jeweiles 4 physischen Sektoren zu einem logischen Sektor unter Berücksichtigung des Skews von 5.
Alles anzeigenC128 single sided:
using 680 of the 683 totally available sectors with a special
translation scheme grouping 4 x 256bytes sectors to a pseudo 1024byte
sector (skew 5),
170K total, 1K allocation units,
2K dir space = 64 entries,
dir starts @ track 1 sector 10,
the dir uses:
T1/S10;T1/S15;T1/S20;T1/S4 (alloc unit 0)
T1/S9;T1/S14;T1/S19;T1/S3 (alloc unit 1)
Sector 0 & 5 of track 1 and track 18 sector 0 are skipped in CP/M.
first datablock starts @ T1/S8;T1/S13;T1/S18;T1/S2 (alloc unit 2)Zusatzinfo von der Seite: Unterschied doppelseitig zu einseitig besteht im letzten Byte von Track 1, Sektor 0. Wert 0 ist einseitig, 255 doppelseitig.
Nachtrag: beim dortigen Beispiel für doppelseitig sieht man auch, dass in einem logischen Sektor auch physisch ein Spurwechsel erfolgen kann.
-
Und die physikalischen Sektoren pro Spur wie beim normalen c64 Format?
Hast Du so eine Diskette? Das wir mal probieren, ob wir die gelesen bekommen?
Kann cp/m mit solchen 1k Sektoren umgehen? -
Physikalisch ist's ne stinknormale C64-Diskette. Die CP/M 3.0-Systemdiskette sollte in diesem Format sein, damit kannst Du mit Vice experimentieren (CP/M zeigt netterweise unten rechts auch immer Spur und Sektor an, da kann man nachvollziehen, was passiert).
CP/M 2.2 muss dafür dennoch erst umgestrickt werden, aber das muss es eh, wenn es noch ein anderes Format als das bisherige ineffiziente verstehen soll. Vielleicht gab's auch mal ein Update (bei 3.0 gab's eines für die 1581-Unterstützung), wo sowas nachgeschoben wurde. Ob Asklia da was zu weiß - die 8MHz-Karte kam ja ziemlich spät.
-
Gibt es ein d64 von dieser Systemdiskette? Anscheinend eher nicht?
Bitte melde dich an, um diesen Link zu sehen.
-
Doch: Bitte melde dich an, um diesen Link zu sehen.
-
Und nicht wundern wenn der eigene Dump einer CP/M-Systemdiskette nicht völlig identisch damit ist. Die haben eingebaute Seriennummern, sind also tatsächlich immer leicht unterschiedlich zueinander auch wenn der Dateninhalt an sich unverändert und gleich "jungfräulich" ist.
-
Ich habe beide Platinen lauffähig huer liegen. Von der Z80 8 MHz liegt ein Schaltplan vor. Von bieden Platinen habe ich das Layout auf Papier.
Für die 80Z ist allerdings reengineering erforlderlich: Bauteilverbindungen anhand des Layouts rückverfolgen; Gegenkontrolle mit Messungen. Dafür biete ich ja auch eine Bezahlung. Werft doch mal einen blick auf die Platinenbilder weiter oben.Im C64 würde ich dringend einen 6596 R3 empfehlen. Schau da mal in deinen hinein. R4 und R5 sowie die 5 Volt 85xx VIC Varianten gehen NICHT.
Die 1571 läuft im CP/M Mode als MFM Laufwerk über den WDC Floppy-Controllerchip. Das ist ein Kaypro- oder Epson CP/M Format. Damit kann man am C64 CP/M mit dem vorhandenen BIOS nix anfangen. Gewiss, man kann ALLES neu programmieren. Aber die vorhandene Lösung unterstützt 1-2 1541 oder SFD resp 8250.
CP/M unterstützt ürigens nur feste Sekrorenzahlen pro Track. Wurde im C64 BIOS mit der kleinsten Sektorzahl gelöst. Klar, Darauf basieren die C64 CP/M Disketten. Auch meine.
-
Der einzige VIC-2 R3, den ich hatte, ging kaputt. Als Ersatz konnte ich nur nen R5 zu bezahlbaren Preisen auftreiben...

Wo willst heute noch günstige R3 auftun?
Könnte man diese Einschränkung mit vertretbarem Aufwand umgehen?
Das mit der minimalen Sektoranzahl muss man halt durch ne Übersetzungstabelle umgehen. Die Floppy kriegt ne virtuelle Spur/Sektor-Anzahl und rechnet das bei Zugriffen auf die physikalischen Sektoren um. Ich hab da mal nen Algorithmus gebastelt, der recht klein und leidlich schnell war. M.J. hatte da auch paar gute Ideen zu. Aber C= das selbst schon implementiert hat, sollte man sich wohl besser daran halten.
-
C hat das eben nicht im C64 CP/M BIOS implementiert.
Und ich möchte wetten, dass auch die 1571 im CP/M sprich MFM Modus mit fester Sektorzahl läuft. Das ist ein Fremd-Format von Kaypro und EPSON - das war damals weit verbreitet.
-
C hat das eben nicht im C64 CP/M BIOS implementiert.
Nein, aber beim 128er.
Und ich möchte wetten, dass auch die 1571 im CP/M sprich MFM Modus mit fester Sektorzahl läuft.
Im MFM-Modus natürlich schon, aber das 128er-CP/M erlaubt auch die Benutzung einer 1541. Deshalb ist das Default-Diskettenformat des 128er-CP/Ms eben kein MFM- sondern ein GCR-Format, und das auch bei Benutzung einer 1571. MFM-Formate sind damit möglich, aber nicht zwingend.
Beweis: Versuch die 128er-CP/M-Systemdiskette mit einem stinknormalen C64-Diskcopy zu kopieren - es wird klappen. -
Mein 128er ist zerlegt; noch von der Streifenfix-Aktion. Habe erst vor wenigen Tagen meine Systemdisketten erhalten. Werde aber mal nachsehen!
Dann müste ein C64 CP/M aber auch die C128er Systemdiskette lesen können?
-
Nein, dem fehlt ja by default die Sektor-Umrechnung. Das müsste noch ins BIOS/BDOS rein.
-
EDIT: Mist, zu spät.
Die Diskette schon, aber nicht das Dateisystem, eben da es nichts von dem Sektor-Remapping weiß.
-
Was mir noch einfällt - man möge mich ggf. korrigieren: die Boot-Diskette muss auch beim 128er zwingend eine GCR-Kodierte sein. MFM kann mit der 1570/71 erst gelesen werden, wenn CP/M 3.0 läuft. MFM wird aber auch dann erst dann verwendet, wenn man entweder das mehr an Platz nutzen will oder mit nem anderen nicht-Commodore-CP/M-System kommuniziert. Sonst bleibt's bei GCR...
-
So, hab noch ne Lib mit c64 Anschlüssen gestartet und den Expansionport erstellt. Ich hab die Padgrösse mit der Schieblehre von Gartenzwerg's Lochrasterplatine für den Expansionport genommen (so 1,8x9mm). Muss man im Layout noch mal schauen, ob das so passt, weil da die Platine wohl noch 1mm überstehen muss.
-
Weiter an dem Waitstate-Zähler gearbeitet.
-
Welchen Schaltplan zeichnest du denn jetzt nach? Die PDF Datei in deinem ZIP ist leider immer die gleiche (alte).
-