XF551 - Bob Wooley OS für 3.5 Zoll Laufwerke

Moderatoren: Sleeπ, andymanone

Antworten
Erhard
Beiträge: 603
Registriert: 04.11.2021 15:52
Has thanked: 53 times
Been thanked: 122 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

Antworten

Wer ist online?

Mitglieder in diesem Forum: mega-hz und 1 Gast