Mike McBike @ Home / Museum / IBM 5150 - Teil 8 - Ein BIOS-Patch |
Gemischtes HP-85 IBM-PC ITT-3030 CP/M Prozessoren / ICs DDR Technik Floppy - HDD Bandlaufwerke Kernspeicher Magnetblasenspeicher Laufzeitspeicher Lochstreifentechnik Wehrtechnik Fernmeldetechnik Audio - Video Formenbau |
{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. Der Aufbau ist dem 400er sehr ähnlich... Allerdings ist die Motorelektronik auf die Hauptplatine gewandert! Und der original-IBM-Floppycontroller ist auch eingetroffen: Hochauflösend wie das vorherige Foto auch hier die Unterseite: 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! 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! 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. Hier werden zwei Byte abgesetzt - das erste Byte / high nibble enthält den Parameter SRT (Step Rate Time) 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. 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... Gemütlich tackert der Kopf von Spur zu Spur auf der 160kB Diskette und liest geduldig die richtigen Daten... IBM DOS 1.0. Primitiver geht nicht. Sogar die Spiele unter MDA Auflösung funktionieren einwandfrei. Wer findet das gepatchte BIOS? Format dauert ewig - zumindest, für heutige Verhältnisse. Aber auch das Kopieren der Systemdateien ist perfekt. So ist der IBM PC 5150 wieder richtig schön original... 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 - 2024 · W. Robel | e-Mail senden |