8" FDD out of alignment caused by BIOS floppy seek during the power-on self test

  • Quote

    BIOS floppy seek during the power-on self test (POST): This seeking behavior was originally done by BIOSes to distinguish between 80- and 40-track floppy drives, and to give an error message if this did not correspond with what was set in the CMOS NVRAM. The problem here is that the BIOS does this with a stepper motor rate that is very high for an 8-inch drive. This can (and often it will) throw out an 8-inch drive temporarily out of alignment.


    Als ich das hier (http://boginjr.com/it/sw/dev/8format/) gelesen habe, befürchte ich nun mein Mitsubishi M2896-63-02M bei jedem Reboot zu beschädigen. :sad: Das ist schon bei einer 1541 (Anschlagen des Schreib/Lesekopfes an Spur 0) unangenehm, nur gibt es die 1541 Laufwerke wie Sand am Meer. Im Bios hat mein PCD-3M leider keine BIOS Option um den floppy seek during the power-on self test abzuschalten. Natürlich könnte ich mein 8" FDD auf einen zweiten FDC schalten, der beim Systemstart vom BIOS ignoriert wird, aber das scheint mit vielen Problemen verbunden zu sein.

    "keep the power supply of the 8″ drive off during POST, whilst ignoring any errors relating to it." ist auch keine schöne Lösung für das Problem.

    Hat einer der 8" FDD Besitzer in diesem Forum schon mal ein 8FORMAT (drive:) /UNFUCK durchgeführt? Oder das Problem anders angegangen?

    "This causes the drive to seek back and forth from track 0 to 76, using the slow stepper motor rate, and performs a recalibration of the controller, sending the head back to track 0 again."

  • Das englische Zitat ist eigentlich sachlich falsch: Wenn der Schrittmotor langsamgegen den Anschlag fahren würde, hätte ich Angst um die Mechanik, er macht es aber extra schnell:


    Schrittmotoren haben ihr niedrigstes Drehmoment im Bereich ihre Höchstdrehzahl (bzw. ihr höchstes bei sehr niedrigen Stepraten). Das kennt jeder, der schon einmal seinen 3D-Drucker so richtig schnell fahren lassen wollte - Der Motor hat dann fast keine Kraft mehr... Die niedrige Steprate mit der /UNFUCK-Option dürfte das Laufwerk stärker belasten als die hohe, die normalerweise vom BIOS bei der Laufwerkserkennung gefahren wird.


    Hört sich nicht gut an (egal ob 8 oder 5 1/4" Laufwerk), aber das hält das Laufwerk schon aus. Wenn die Laufwerkserkenung das aber "ordentlich" macht und keine Störungen auftreten, würde ich mir um die Mechanik keine Sorgen machen.

  • Schrittmotoren haben ihr niedrigstes Drehmoment im Bereich ihre Höchstdrehzahl (bzw. ihr höchstes bei sehr niedrigen Stepraten). Das kennt jeder, der schon einmal seinen 3D-Drucker so richtig schnell fahren lassen wollte - Der Motor hat dann fast keine Kraft mehr... Die niedrige Steprate mit der /UNFUCK-Option dürfte das Laufwerk stärker belasten als die hohe, die normalerweise vom BIOS bei der Laufwerkserkennung gefahren wird.

    Klingt einleuchtend. Aber die /UNFUCK Funktion würde man nur selten nutzen, aber der floppy seek during the power-on self test passiert zwangsweise bei jedem Neustart des Systems.

    Quote
    Hört sich nicht gut an (egal ob 8 oder 5 1/4" Laufwerk), aber das hält das Laufwerk schon aus.

    Bei einem 3,5" FDD würde ich das entspannt sehen, bei einem 5,25" FDD schon nicht mehr, aber bei einem 8" FDD (wo man kaum einen adäquaten Ersatz finden wird), bin ich definitiv besorgt.

  • Das englische Zitat ist eigentlich sachlich falsch: Wenn der Schrittmotor langsamgegen den Anschlag fahren würde, hätte ich Angst um die Mechanik, er macht es aber extra schnell:


    Schrittmotoren haben ihr niedrigstes Drehmoment im Bereich ihre Höchstdrehzahl (bzw. ihr höchstes bei sehr niedrigen Stepraten). Das kennt jeder, der schon einmal seinen 3D-Drucker so richtig schnell fahren lassen wollte - Der Motor hat dann fast keine Kraft mehr... Die niedrige Steprate mit der /UNFUCK-Option dürfte das Laufwerk stärker belasten als die hohe, die normalerweise vom BIOS bei der Laufwerkserkennung gefahren wird.


    Hört sich nicht gut an (egal ob 8 oder 5 1/4" Laufwerk), aber das hält das Laufwerk schon aus. Wenn die Laufwerkserkenung das aber "ordentlich" macht und keine Störungen auftreten, würde ich mir um die Mechanik keine Sorgen machen.

    Du vergisst aber bei dieser Überlegung, dass die kinetische Energie, welche beim Anschlagen freigesetzt wird, bei hoher Geschwindigkeit eben auch größer ist.


    Ich würde denken, dass dies einen Schaden verursachen kann, und nicht das langsame Andrücken an den Anschlag.

  • ich nun mein Mitsubishi M2896-63-02M bei jedem Reboot zu beschädigen.

    Dein Drive hat doch 3ms Spurwechselzeit und ist damit genauso flott wie die 5.25" HD Drives, die im PC verwendet wurden. Ich denke nicht, dass da etwas kaputt geht, auch nicht, dass da wegen irgendwelcher dynamischer Effekte ein Kopf temporär neben der Spur hängt.


    Mir ist abgesehen von den alten Shugart SA800 / 801 noch keine halbwegs gängiges 8" Drive mit mehr als 3ms track to track untergekommen.


    Andere Hersteller gehen da viel rigoroser vor. Die guten alten Apple Disk II Drives haben gar keinen track zero Sensor. Da wird einfach stur gegen den Anschlag gefahren, dass es nur so rappelt. Das halten meine Drives heute genauso wie vor 40 Jahren aus.

  • Ich habe bislang bei meinem NEC Laufwerk keine derartigen Probleme beobachtet. Als einfache Lösung könntest Du den Drive ID Jumper mit einem Schalter verbinden und das Laufwerk somit während des Bootvorganges deaktivieren (da es auf Signale an DS0 bzw. DS1 nicht mehr reagiert). Natürlich bekommst Du dann am PC weiterhin einen Floppy-Error beim Selbsttest.

  • Die guten alten Apple Disk II Drives haben gar keinen track zero Sensor. Da wird einfach stur gegen den Anschlag gefahren, dass es nur so rappelt. Das halten meine Drives heute genauso wie vor 40 Jahren aus.

    Du kannst ja auch die Mechanik von einem Disk II Laufwerk nicht z.B. mit einem Shugart SA800 vergleichen.

    "keep the power supply of the 8″ drive off during POST, whilst ignoring any errors relating to it." ist auch keine schöne Lösung für das Problem.

    Wieso nicht ?

    Ich habe bislang bei meinem NEC Laufwerk keine derartigen Probleme beobachtet. Als einfache Lösung könntest Du den Drive ID Jumper mit einem Schalter verbinden und das Laufwerk somit während des Bootvorganges deaktivieren (da es auf Signale an DS0 bzw. DS1 nicht mehr reagiert). Natürlich bekommst Du dann am PC weiterhin einen Floppy-Error beim Selbsttest.

    Genau ! Ist zwar das selbe in grün aber eleganter.


    Hört sich nicht gut an (egal ob 8 oder 5 1/4" Laufwerk), aber das hält das Laufwerk schon aus. Wenn die Laufwerkserkenung das aber "ordentlich" macht und keine Störungen auftreten, würde ich mir um die Mechanik keine Sorgen machen.

    Da bin ich anderer Meinung. komme ich gleich drauf.



    Der Autor der Warnung hat das vielleicht ein bisschen Mißverständlich ausgedrückt. Mißverständlich insofern, als das es kein "temporary out of Alignment" gibt. Das Track Alignment ist entweder verstellt oder nicht.

    Was mit Sicherheit gemeint ist, und da liegt der Autor richtig, ist der untere mechanische Anschlag (Track 0 Stop Adjustment).

    Bei einigen 8" und evtl. sogar bei einigen frühen 5,25" kann das "ranrattern" an den unteren mechanischen Anschlag beim Floppy Drive Seek zur Folge hat daß der "untere" mechanische Anschlag verstellt wird.

    Bei z.B. 1541 und Disk II ist dieser Rattereffekt bauartbedingt gewünscht um sich den Track 0 Sensor zu sparen, bei frühen Laufwerken war das allerdings nicht vorgesehen daß der Controller an den mechanischen Anschlag fährt. Der Controller hört immer auf zu steppen sobald Track0 errreicht ist. Der mechanische Anschlag unterhalb des track0 war sozusagen nur als Transportsicherung oder Notbegrenzung zu sehen. Dieser mechanische Anschlag befindet sich ein paar 1/10 bzw. sogar nur 1/100 mm unterhalb der Spur 0 und verhindert das mechanische "kippen" des Stellmotors in die nächste Position unter Track 0. Beim Shugart SA 800 ist das z.b. nur ein Metallring mit Nase der auf die Antriebsspindel des Lesekopfes gespannt ist.

    Also was passiert beim Drive Seek (oder wie bei mir passiert aufgrund eines fehlenden track0 Signals) : Die Antriebsspindel wird beim "gnadenlosen" Zurückfahren des Lesekopfes schlagschraubermäßig ohne Drehmomentbegrenzung an den mechanischen Anschlag gehämmert. Dabei kann es passieren daß sich der mechanische Anschlag leicht verstellt da dieser nur auf die Spindel geklemmt ist. Beim nächsten mal kann es dann sein das bei dem selben Vorgang der Lesekopf nicht auf track 0 gefahren wird sondern auf track -1 (also einen Schritt unter Track 0). Beim nächsten leseversuch glaubt der Controller aber, daß er sich auf track 0 befindet, da er ja das Track 0 Signal bekommt, in wirklichkeit befindet sich der Kopf aber auf Track -1. Auf Track -1 findet der Controller erstmal nix und meldet einen fehler bzw. der Schreibvorgang der in dem moment stattfindet ist ja dann um 1 Spur versetzt.

    Also F..K ! Um das ganze wieder zu "unfucken" kann man natürlich auf eine beliebige Spur rausfahren und den Controller wieder auf Spur 0 zurückfahren lassen (diesmal richtig, da ja track Alignment und Spur 0 Sensor durch diesen Effekt nicht verstellt werden.) Man kann den Lesekopf auch per Hand auf irgendeine Position auf der Diskette verschieben, dann fährt der Controller wieder auf die ordentliche Spur 0. Ich sehe das aber nur als "workaround" für einen bereits verstellten Anschlag.


    Hatte das bei einem SA800 und hab dann irgendwann den Anschlag wieder eingestellt, da ich dann öfters (nach Bewegung des Gerätes )nicht booten konnte. und der Lesekopf auf Spur -1 gefangen war (Der Controller eines alten rechners kommt ja nicht selbst auf die idee mal "rauszufahren" und die Spur 0 neu zu suchen . Für den Controller war der Bootsektor auf Spur 0 (In Wirklichkeit Spur -1) nicht lesbar und fertig.


    Ob das Laufwerk "gefährdet" ist oder nicht hängt also von der Anschlagmechanik des jew. Laufwerks ab.

    Die PC-Age Laufwerke haben ja alle einen ordentlichen Anschlag bzw. eine Federwirkung am Antrieb oder eine Drehmomentbegrenzung die dann einfach mitrattert.


    So, viel gelabert, ich würde einfach den Rat des oben zitierten Autors bzw. den Tip von gpospi befolgen


    Edit:

    Quote

    "This causes the drive to seek back and forth from track 0 to 76, using the slow stepper motor rate, and performs a recalibration of the controller, sending the head back to track 0 again."

    Nun gut, vielleicht gibt es auch noch andere Szenarien, wie das Floppy Drive Seek das Laufwerk aus dem "Tritt" bekommt.

    Diese dürften dann aber eher harmlos sein. Die genannte "zu hohe" Steprate dürfte nur dazu führen, daß der Controller eine andere Kopfposition "gespeichert" hat als die tatsächliche Position. Spätestens mit dem nächsten Track0 Signal sollte das aber zurückgesetzt sein.


    Edit 2:

    Streichungen oben, ich lag wohl falsch.




  • Guten Abend

    mister-freeze


    Ist doch sehr interessant,

    Evt könntest wir aber auch über die eigentliche technisch Funktion von Drive Seek uns noch austauschen,


    Laut meinem Stand soll das Laufwerk bei Drive Seek erkennen, ob 40 oder 80 Spuren, weißt du wodurch, wie, oder müssen wir hardware nah doch noch differenzieren


    Fährt generelles jedes 8 Zoll Laufwerk auf mechanischen Block, oder reicht das Track0 Signal aus

  • Du kannst ja auch die Mechanik von einem Disk II Laufwerk nicht z.B. mit einem Shugart SA800 vergleichen.

    Nein, natürlich nicht, habe ich aber auch nicht getan. Meine "Entwarnung" bezog sich ausdrücklich auf das Mitsubishi M2896-63-02M, das eine deutlich modernere Konstruktion hat die Shugart 800er und auch nicht mit der beim PC verwendeten step rate überfordert ist. Die ist ja beim SA800 ebenfalls deutlich niedriger spezifiziert.


    Mitsubishi M2896-63-02M bei jedem Reboot zu beschädigen

    Hast Du das denn überhaupt mal probiert? Das Mitsubishi hat ja einen track zero Sensor. Rappelt da überhaupt irgendwas?


    Ich kenne Rappeln eher vom inneren Ende der Diskette, wenn du weiter als Track 76 nach innen steppen willst. Das passiert wenn du ein 8" Laufwerk einfach als 5.25" 1.2MB HD Laufwerk im BIOS anmeldest und dann eine Diskette mit 80 Spuren formatierst ;)



  • Laut meinem Stand soll das Laufwerk bei Drive Seek erkennen, ob 40 oder 80 Spuren, weißt du wodurch, wie, oder müssen wir hardware nah doch noch differenzieren

    Das ist wohl die richtige Frage. Das BIOS fährt die Drives dafür "weit genug" nach innen und schaut dann, ob nach 40 Steps nach außen bereits track zero anliegt. Ist das der Fall, handelt es sich um ein 40 Spur Laufwerk, sonst eben 80. Man hört das ja immer beim initialen Seek, dass das Drive einmal hin und her sägt. Man hört auch unterschiedliche "Sägetöne" infolge unterschiedlicher step rate abhängig davon, ob man im BIOS ein 40 oder 80 Spur Laufwerk angemeldet hat. Ein 8-Zöller mit physikalisch 77 Spuren dürfte dann innen rappeln, falls das BIOS zu weit nach innen stept. Wieviel "weit genug" ist, weiß ich nicht.


    Wenn ich mal ganz viel Zeit habe, könnte ich step und direction mit dem Logic Analyzer aufzeichnen ;)


    Alternativ kann man mit einem FDADAP - http://www.dbit.com/fdadap.html - die aktuelle Spur auch ablesen. Kamera drauf und Zeitlupe.

  • Hi,


    Jozef here, the author of 8FORMAT and of said article.


    With a properly connected 8" drive that has a functional Track 0 sensor, the PC floppy disk controller won't ram the head assembly below this point, i.e. with no accompanied "machine gun" sound caused by the head assembly repeatedly striking upon the detent during seeking/controller recalibration, or any (reasonable) threat of permanent hardware damage. The aforementioned problem of some "higher torque" stemming from a slow step rate time (SRT) is just nonsense.


    With regards to the issue caused by the fast step rate (very short SRT) used during the BIOS POST floppy seek, I have seen it happen on 2 differrent drives; the Shugart 800 and the Magnetic Peripherals (CDC) drive. Both are old, full-height 8" drives. By "temporarily throwing the drive out of alignment", it was meant that the head is not positioned correctly on a track the PC FDC wanted it to, due to the stepper motor not indexing right when used on a high speed, and ends up in-between tracks or on a completely different track.


    But here's the catch: recalibrating the controller using the same fast BIOS step rate did NOT mitigate the problem unless a conservative speed of 6ms per step was used. Which is what the undocumented command of 8FORMAT does.

    I have proven this with a Shugart drive that was reading and writing its disks fine right until a reboot, with the associated fast BIOS POST seek (a 286 PhoenixBIOS that also does not have it as a configurable setting). Right after booting to DOS, the drive did not read any FAT12 formatted disks AT ALL.
    This I have later confirmed with Dave Dunfield's ImageDisk (IMD) using the Alignment test. If the drive were exactly a track (or two) away, the read data would show a different track number. However, all I got were question marks, like if the drive was mechanically misaligned and the head being somewhere in the gaps. Also note that DOS performs a recalibration of the controller with the default BIOS SRT each time any floppy errors occur, and this was by itself not enough to fix the drive. Thus, 8FORMAT with the resident driver (8TSR) modifies the BIOS Diskette Parameter Table to a slow step rate of 6 milliseconds to avoid these situations. It's a floppy drive, so there's no rush.


    Now, the SA 800 and the CDC are considerably older drives than Frank's Mitsubishi. If said drive were having problems with the high step rate (low SRT), it would manifest right away with General Failure or Sector not found errors, even on disks that have been written to on the very same drive just moments ago. Since no such issues have been reported, you can sleep tight :)

  • Quote from as58
    Dein Drive hat doch 3ms Spurwechselzeit und ist damit genauso flott wie die 5.25" HD Drives, die im PC verwendet wurden.


    Interessanter Aspekt, Danke für den Hinweis.


    Quote from as58
    Die guten alten Apple Disk II Drives haben gar keinen track zero Sensor. Da wird einfach stur gegen den Anschlag gefahren, dass es nur so rappelt. Das halten meine Drives heute genauso wie vor 40 Jahren aus.


    Also im Commodore Bereich gibt es viele Laufwerke, wo man schnell "out of alignment" ist, und dies mit Schraubenzieher & Co, einer Alignment Software und einer dazugehörigen spezial Alignment Floppy korrigieren muss.

    • Official Post

    Also im Commodore Bereich gibt es viele Laufwerke, wo man schnell "out of alignment" ist, und dies mit Schraubenzieher & Co, einer Alignment Software und einer dazugehörigen spezial Alignment Floppy korrigieren muss.

    Das halte ich für ebenso falsch, wie die Geschichte mit der verstellten Spur an der Datassette.

    Das ist doch auch immer nur passiert, weil da jemand völlig unnötiger Weise dran rumgefummelt hat.

    Bei bestimmungsgemäßer Verwendung verstellen sich weder die Köpfe der Commodore Floppies, noch die der Datassetten.

  • Ich kenne Rappeln eher vom inneren Ende der Diskette, wenn du weiter als Track 76 nach innen steppen willst. Das passiert wenn du ein 8" Laufwerk einfach als 5.25" 1.2MB HD Laufwerk im BIOS anmeldest und dann eine Diskette mit 80 Spuren formatierst.

    Das Problem besteht bei mir Dank FDADAP nicht.


    Quote

    When I used an FDADAP, and DOS tried to format/access tracks beyond 77, the FDADAP appeared to keep the drive at track 77. So with the FDADAP, when I formatted a floppy via DOS, track 77 on the floppy ended up being formatted four times, first as track 77, then as 78, then as 79, then as 80. The result was that the last six tracks ended up being marked as ..., 72, 73, 74, 75, 76, 80. This meant that only 76 tracks on the floppy were usable, and I had to hope that DOS would not try to put anything beyond track 76.

    Deshalb formatiere ich mit 8format , aber auch mit fdformat kann man das Formatieren auf 77 Tracks beschränken.

  • Hi Jozef,

    welcome in this forum 8)

    Now, the SA 800 and the CDC are considerably older drives than Frank's Mitsubishi. If said drive were having problems with the high step rate (low SRT), it would manifest right away with General Failure or Sector not found errors, even on disks that have been written to on the very same drive just moments ago. Since no such issues have been reported, you can sleep tight :)


    Since I have you here right now. If I format an 8" floppy with

    8format a: DSSD /V

    , it (in contrast to the other 8format options) does not pass the TESTREAD.COM test. And this with no error message with /V.

    CompatiCard, UniForm und 8 Zoll Laufwerke unter MS-DOS

  • Hi Frank,


    By formatting with a single density, the recording mode is set to FM, with 2 bits per each databit at 500kHz at a practical data rate of 250kbps. 8FORMAT accesses the floppy controller directly to make this possible.


    However, TESTREAD.COM is a testing application for invoking BIOS INT 13h, i.e. if the resident 8TSR portion (the "driver" that hacks in the 8 inch drive geometry to the BIOS) works properly.


    And there we are - the PC BIOS always reads floppies using the standard MFM bit encoding, whatever the drive is - 360K, 720K, 1.2M, 1.44M etc. So, if you try reading FM formatted disks this way, the BIOS will ignore that and subsequently fail on the read operation.

    You can try 8FORMAT A: DSSD /V /MFM to create a non-standard format, i.e. 26x128B sectors but with MFM. If it passes through the Verify stage, TESTREAD shall also :)

  • Guten Abend

    mister-freeze


    Ist doch sehr interessant,

    Evt könntest wir aber auch über die eigentliche technisch Funktion von Drive Seek uns noch austauschen,


    Laut meinem Stand soll das Laufwerk bei Drive Seek erkennen, ob 40 oder 80 Spuren, weißt du wodurch, wie, oder müssen wir hardware nah doch noch differenzieren

    Was die Funktion des Drive Seek betrifft lag ich falsch. Die Funktion wurde ja inzwischen erläutert.

    Fährt generelles jedes 8 Zoll Laufwerk auf mechanischen Block, oder reicht das Track0 Signal aus

    Im Regelfall sollte das Laufwerk nicht unter Track 0 steppen. Wenn es der Controller -aus welchem Grund auch immer- doch tut, dann wird der Schrittmotor/die Spindel durch den mechanischen Anschlag gebremst.

    With regards to the issue caused by the fast step rate (very short SRT) used during the BIOS POST floppy seek, I have seen it happen on 2 differrent drives; the Shugart 800 and the Magnetic Peripherals (CDC) drive. Both are old, full-height 8" drives. By "temporarily throwing the drive out of alignment", it was meant that the head is not positioned correctly on a track the PC FDC wanted it to, due to the stepper motor not indexing right when used on a high speed, and ends up in-between tracks or on a completely different track.

    I agree with you that the drive can be on a different track than counted by the controller, but I can't imagine that the drive can be between tracks. That would mean that the stepper motor would only move half a step angle. I have not yet experienced a temporary misalignment of the step angle. However, if the head is in the wrong position, a "reset" by moving out and back to track 0 always helps.


    I have proven this with a Shugart drive that was reading and writing its disks fine right until a reboot, with the associated fast BIOS POST seek (a 286 PhoenixBIOS that also does not have it as a configurable setting). Right after booting to DOS, the drive did not read any FAT12 formatted disks AT ALL.
    This I have later confirmed with Dave Dunfield's ImageDisk (IMD) using the Alignment test. If the drive were exactly a track (or two) away, the read data would show a different track number. However, all I got were question marks, like if the drive was mechanically misaligned and the head being somewhere in the gaps.

    Is it possible that the drive was on a sub-zero track at that moment? Did you have the Track 0 signal at that moment?

  • However, TESTREAD.COM is a testing application for invoking BIOS INT 13h, i.e. if the resident 8TSR portion (the "driver" that hacks in the 8 inch drive geometry to the BIOS) works properly.

    The resident 8TSR portion was active in my tests. I expected that I can read the DSSD FM disk with your 8TSR. Overwise formating DSSD makes no sense. Of course, only MFM with 512 byte blocks works without this and you can only use this to boot DOS or CP/M-86.

  • Quote from "mister-freeze

    Is it possible that the drive was on a sub-zero track at that moment? Did you have the Track 0 signal at that moment?


    I guess I'd be speculating about that now, but once I have time I will recreate the issue and check again.


    Quote from frank128

    Overwise formating DSSD makes no sense.


    Why not? Formatting means initializing each track with a sector map. By default, 8FORMAT without /FAT12 won't even create a filesystem; but it doesn't mean you cannot use an 8FORMAT-formatted disk in a non-DOS, non-PC environment or anything like.


    But you're barking up at the wrong tree here - 8TSR cannot force the PC BIOS to start using FM modulation. All floppies originally supported for the PC, regardless of double, high or extended density, use MFM encoding. What the utility does is that it overrides the BIOS INT 13h calls that return the drive geometry, to return 77 tracks, the custom sector size (if non-512 byte), conservative drive timings, EOT (sectors per track) and the rest of the data, that are open for real mode applications under INT 1eh, which is the Diskette Parameter Table. Sadly, the signal modulation is not one of them.


    Even if the PC BIOS could be tricked to support FM by intercepting the controller calls... remember that 8" SD are 128byte sectors. Attempting to use any other PHYSICAL sector size for a floppy, other than 512 bytes, through BIOS calls (i.e. including the DOS kernel) will cause buffer underruns or overflows. 99.9% of applications expect to see 512 bytes to come from a PC floppy drive per each sector - this means not more and not less.

    This means that if you tried to format e.g. DSDD and installing the resident portion to memory, TESTREAD will report that there's 1kB sectors on the drive that can be utilized from BIOS. This is because TESTREAD expects that the returned buffer might be bigger, or smaller, than 512 bytes.

    But - do any meaningful DOS drive operation on that floppy and you will get a system crash - DOS expects 512 bytes exactly and the BIOS call overwrites past the internal DOS buffer.


    // edit

    Quote from frank128

    Of course, only MFM with 512 byte blocks...


    With 8FORMAT itself, you can do FM with a geometry of 26x128byte, and MFM with 128, 256, 512 and 1024-byte sectors. Again, be advised that DOS and DOS apps expect to see a 512 byte buffer. However, if the logical sector size specified in the FAT is different - that's another story. (Yes, DOS supports 128bytes per logical sector on a floppy)

  • Quote from climatex

    8TSR cannot force the PC BIOS to start using FM modulation. ... What the utility does is that it overrides the BIOS INT 13h calls that return the drive geometry, to return 77 tracks, the custom sector size (if non-512 byte), conservative drive timings, EOT (sectors per track) and the rest of the data, that are open for real mode applications under INT 1eh, which is the Diskette Parameter Table. Sadly, the signal modulation is not one of them.


    Thanks for this clarification. I thought 8TSR can force the BIOS to use FM.

  • Here's a prime example of a BIOS that uses 1,44MB step rate timings, ignoring the data in the Diskette Parameter Table altogether. The floppy drive is unable to recalibrate as the heads just "glide" in-between sectors, due to the high step frequency, i.e. they are not indexed on a proper sector - "temporarily out of alignment" even when read with IMD.

    The solution is to use a conservative SRT that allows the motor to seek into a sector proper and recalibrate back to track 0 using the "8FORMAT /UNFUCK" command.