Mike McBike @ Home / Museum / IBM 5150 - Teil 8 - Ein BIOS-Patch


{Ein BIOS-Patch} Endlich sind die "guten" Laufwerke bei mir eingetroffen! Original Shugart SA400L! Selten und leistungsschwach! Aber immerhin haben sie 40 Spuren und können MFM - single sided natürlich! Damit stehen 160kByte Kapazität pro Diskette nichts mehr im Wege.

IBM 5150 PC

Der Aufbau ist dem 400er sehr ähnlich...

IBM 5150 PC

Allerdings ist die Motorelektronik auf die Hauptplatine gewandert!

IBM 5150 PC

Und der original-IBM-Floppycontroller ist auch eingetroffen:

IBM 5150 PC

Hochauflösend wie das vorherige Foto auch hier die Unterseite:

IBM 5150 PC

Arbeitspferd ist hier ein Floppy Disc Controller (FDC) P8272A - identisch zu µPD765. Der kümmert sich um fast alles, was mit dem Schreiben und Lesen auf den Disketten zu tun hat!

IBM 5150 PC

Leider hat die Combo absolut nicht funktioniert... Die Laufwerke haben bei der Spursuche gerappelt wie ein Sack Nüsse und außer Boot-Errors und Lesefehlern ist dabei nicht rausgekommen. Ein Forumstip zum Thema Track-to-track-timing brachte die Lösung, die aber nicht so einfach umzusetzen ist - außer, man hat das richtige Werkzeug dazu!

IBM 5150 PC

Das Timing wird beim IBM 5150 durch das BIOS dem FDC am Anfang mitgeteilt. Ein einstellbares BIOS mit abspeicherbaren Parametern gibt es hier noch nicht! Ein Blick in das Datenblatt des FDC verrät uns die Details: der Befehl "SPECIFY" schreibt diese Parameter.

IBM 5150 PC

Hier werden zwei Byte abgesetzt - das erste Byte / high nibble enthält den Parameter SRT (Step Rate Time)

IBM 5150 PC

Je nach Wert wird der Schrittmotor für den Spurwechsel langsamer oder schneller angesteuert... SA400 hat laut Datenblatt 40ms nötig. Nicht überlesen sollte man den Hinweis, dass für Floppies das Timing mit 2 multipliziert werden muss, da die Controller dort nur mit 4MHz betrieben werden, das gibt also eine maximale SRT von 32ms, sollte langen.

IBM 5150 PC

Jetzt geht die Suche los. Gottseidank ist das BIOS des IBM 5150 sauber im Handbuch dokumentiert. Nach etwas Suche findet man "DISK_BASE" - den Datenblock für die FDC-Parameter. SRT ist hier "0xC" - also 2*4=8ms. Ich setze SRT auf "0x0", also 2x16=32ms. Eines meiner Sonder-EPROMs gebrannt, anstelle des originalen BIOS' eingesetz - und - nix geht. Ach ja, das BIOSprüft sich ja zu Beginn selbst auf additive Prüfsumme modulo 256 - da sollte Null rauskommen. Das letzte Byte im BIOS ist 0x77 - Wenn der SRT-Parameter statt 0xCF jetzt 0x0F, also 0xC0 kleiner ist, dann mache ich einfach mal das letzte Byte 0x77 um 0xC0 größer. Das ergibt 0x137 - Modulo 256 also 0x37. Jetzt das EPROM neu gebrannt...

IBM 5150 PC

Gemütlich tackert der Kopf von Spur zu Spur auf der 160kB Diskette und liest geduldig die richtigen Daten...

IBM 5150 PC

IBM DOS 1.0. Primitiver geht nicht. Sogar die Spiele unter MDA Auflösung funktionieren einwandfrei.

IBM 5150 PC

Wer findet das gepatchte BIOS?

IBM 5150 PC

Format dauert ewig - zumindest, für heutige Verhältnisse. Aber auch das Kopieren der Systemdateien ist perfekt.

IBM 5150 PC

So ist der IBM PC 5150 wieder richtig schön original...

IBM 5150 PC

Mal sehen, was mir zu diesem Thema noch als Fortsetzung einfällt... ich bin auf jeden Fall mal sehr zufrieden mit dem derzeitigen Ergebnis!


© 2013 - 2021 · W. Robel e-Mail senden