XF551 - Bob Wooley OS für 3.5 Zoll Laufwerke

Moderatoren: Sleeπ, andymanone

Antworten
Erhard
Beiträge: 1098
Registriert: 04.11.2021 15:52
Has thanked: 130 times
Been thanked: 341 times
Kontaktdaten:

XF551 - Bob Wooley OS für 3.5 Zoll Laufwerke

Beitrag von Erhard »

Hi,

im Rahmen einiger Arbeiten ist mir (mal wieder) aufgefallen, daß bei der PERCOM-Abfrage 40 Tracks gemeldet werden, auch wenn die Floppy mit 720K formatiert wurde.

Das führt bei Programmen, die den PERCOM-Block abfragen zu einem falschen Verhalten.

Da ich kein 8040 Assembler kann habe ich bei Stefan angefragt und eine erfreuliche Antwort erhalten.

Mit einem Quellcode-Schnippsel hat er mir aufgezeigt, wo im ROM die Routine für das $4E Kommando beginnt.

Für die Trackzahl wird einfach fest der Wert 40 ($28) übermittelt. Ich habe das ROM mit 80 ($50) gepatcht und vorhin ausführlich getestet.

Hierbei habe ich mit PERCOM.COM eine Disk in DSDD80T formatiert, dann alle Sektoren mit deren Sektornummer beschreiben lassen, die XF aus- und wieder eingeschaltet und dann die Sektordaten (2880 Sektoren) überprüfen lassen. Der Test verlief erfolgreich.

Hier die Daten zum ROM erweitert um die Trackzahl beim Kommando $4E. Die Doku stammt von Bob.

Code: Alles auswählen

XF ROM USA = C101696-002
XF ROM GER = C101696-003A

Für den 720K Patch wurde C101696-003A verwendet


ROM:      40 80
---------------
00000095: 31 31 (starting drive number)
0000040D: 50 28 number of tracks returned on command $4E ****
00000528: 90 00 wait until drive ready
0000053D: 00 03 3ms seek time
0000057B: 18 13 3ms seek time
0000061D: F6 F4 write pre-compensation
00000621: F6 F4 write pre-compensation
00000680: 28 50	40 / 80 tracks
0000080F: 30 60	40 / 80 tracks
00000811: FD FA	40 / 80 tracks
000009D1: 08 03 3ms seek time
00000B15: 18 13 3ms seek time
00000C1D: 88 80 wait until drive ready
00000D0D: A2 A0 write pre-compensation
00000E25: 88 80 wait until drive ready
CU, Erhard
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast