#293 – retro PC madness – Olivetti PCS 286 – IV

Nach langem Kampf haben wir es beim letzten Mal dann doch noch geschafft, den alten Olivetti-PC wieder zum Leben zu erwecken. Ich sag es euch wie es ist – es gab Augenblicke, in denen kein Ende in Sicht war und ich mir nicht sicher war, ob uns das gelingen wird…

Das war es allerdings auch schon mit den guten Nachrichten, denn bisher haben wir lediglich geschafft, den PC von einer Diskette zu starten. Bei meiner Recherche nach Informationen und Software für den betagten Italiener habe ich zumindest das Image einer originalen Systemdiskette, welche zusammen mit dem PC verkauft wurde, gefunden. Das ist schnell heruntergeladen und auf eine leere Diskette geschrieben. Tatsächlich lässt sich der PC auch damit problemlos starten. Scheint so als wäre der Computer damals mit MS-DOS 3.30 verkauft worden.

Fun Fact: Standesgemäß sind die Diskette, bzw. die Programme darauf natürlich auf Italienisch! 😉

Doch auch das löst das Problem mit unserer kaputten Festplatte nicht. Zur Erinnerung: Beim letzten Mal haben wir ja feststellen müssen, dass die verbaute Conner CP-3044-Festplatte defekt ist. Das ist sehr schade, aber daran können wir leider nichts ändern.

Ach, das ist doch kein Problem. In dem PC können wir ja einfach eine andere, ältere IDE/ATA-Platte einbauen, oder? Tja, leider nicht. Mal wieder zeigt sich die italienische Diva von ihrer besten Seite: Das verbaute BIOS der Kiste ist so schrottig, dass man beim verwendeten Festplattentyp nur 20 oder 40 MB (ohne die Eingabe von Geometriedaten) auswählen kann. Richtig gelesen – der Olivetti-PC geht also fest davon aus, dass eine Conner-Festplatte vom Typ CP-3024 (20 MB) oder CP-3044 (40 MB) verbaut ist. Mit anderen Festplatten kommt der PC nicht klar. Was für ein Mist! Und jetzt?

Ein Erwerb so einer speziellen Festplatte steht außer Frage. Diese Modelle sind mittlerweile so selten geworden, dass man mehrere hunderte Euros für so ein Teil berappen müsste – ähm, nein danke? 😀 Wir müssen also irgendwie schaffen, den Rechner zu überlisten, sodass er trotzdem mit einem anderen Festplattenmodell klarkommt. In jedem Fall brauchen wir eine andere Festplatte. Die einzige Platte, die ich aktuell noch herumliegen habe, ist die 89 MB große Seagate ST3096A, welche wir in Artikel 275 aus dem Tema TC PC ausgebaut haben. Die Platte ist eine gute Wahl, denn zum einen würde sie vom Alter her gut in den PC passen und andererseits sollte darauf schon DOS installiert sein! 🙂

Jetzt müssen wir die defekte Conner-Platte nur noch aus- und die neue dafür einbauen. Gar nicht so einfach, denn der Datenträger wird von unten an der Metallkonstruktion, auf der sich auch das Netzteil und das Diskettenlaufwerk befindet, festgeschraubt. Es ist wirklich unfassbar, wie „verbaut“ die Kiste ist. Eines ist mal klar – ich hoffe, das war das letzte Mal, dass ich den Rechner komplett zerlegen muss, denn so langsam neigt sich auch meine Geduld für „italienisches Design“ dem Ende entgegen! 😀

Selbst das Anstecken der neuen Seagate-Platte (Strom und IDE-Kabel) ist eine Wissenschaft für sich. Ernsthaft – wie schwer kann das sein? Tja, es wäre wesentlich leichter, hätten die Italiener nicht die ATA-Stiftleiste auf dem Mainboard verkehrt herum eingelötet. Das hat zur Folge, dass wir die neue Platte nicht an dem extra kurzen IDE-Kabel anstecken können, weil der Stecker verkehrt herum an den Pins ankommt und die Mittelnut (der „Nippel“) das Einstecken blockiert. Bei der alten Platte hat das nur funktioniert, weil sie keine Ummantelung um die Pins herum besitzt! Dementsprechend durfte ich die Nut des Steckers abschneiden, bzw. abfeilen, damit er sich einstecken lässt. Mann oh Mann, wie kommt man nur auf so einen Blödsinn?! xD

Hat sich der Aufwand gelohnt? Nun, zumindest wird die Platte – sofern wir im BIOS den Maximalwert „40 MB“ einstellen – grundsätzlich vom PC erkannt und wir können auch darauf zugreifen:

Na, das ist doch super, oder? Halt – nicht zu früh freuen! 😛 Es ist zwar schön zu sehen, dass die Platte grundsätzlich funktioniert, aber leider stürzt der PC beim Versuch, ein paar Programme zu starten, ab oder bleibt einfach hängen. Ebenso lässt sich das System nicht von der Festplatte (Laufwerk C:) starten. Im Endeffekt ist das ja auch kein Wunder, denn unser eigentliches Problem bleibt weiterhin ungelöst: Das Olivetti-BIOS kommt nicht mit unserer Festplatte klar und kann nur einen Teil davon adressieren. Scheinbar ist das nicht genug, um damit den Computer hochzufahren.

Und wie schaffen wir es, dass der Olivetti-PC unsere Seagate-Festplatte trotzdem in ihrer vollen Größe akzeptiert? Eine Möglichkeit wäre es, den Rechner weiterhin über Diskette zu starten und anschließend das BIOS des Systems mit Hilfe einer DDO-Software (Dynamic Drive Overlay) zu überlisten, um dennoch mit der 89 MB großen Festplatte zusammenzuarbeiten. Gute Idee, aber die Lösung gefällt mir eigentlich nicht, weil man dann weiterhin auf eine Startdiskette angewiesen ist. Mein Ziel wäre es schon, dass der Rechner eigenständig von Festplatte booten kann.

Fun Fact: Den treuen Lesern unter euch sollte das Thema „DDO-Software“ bekannt vorkommen. Solche Kunststücke haben wir bereits in Artikel 254 beim Sysline SLT450 Computer geübt! Damals haben wir mit DDO eine zweite, größere als vom BIOS adressierbare Platte zum Laufen bekommen! 😉

Mal überlegen, im Endeffekt liegt unser Problem ja im BIOS, weil das so doof ist und uns nicht die entsprechenden Routinen zum Zugriff auf andere (ggf. größere) Festplatten zur Verfügung stellt. Leider gibt es auch keine neuere BIOS-Version, welche wir (in Form von EEPROM-Chips) anstatt dem originalen BIOS aufstecken könnten. Das wäre ja auch zu einfach?! 😛

Wenn es doch nur eine Möglichkeit gäbe, das BIOS auch ohne DDO-Software zu „erweitern“, bzw. dem Computer eine andere Möglichkeit zum Zugriff auf die Festplatte zur Verfügung zu stellen. Tatsächlich existiert so eine Lösung! Die Zauberformel schimpft sich „XTIDE Universal BIOS“.

Die Idee ist es, das System mit Hilfe eines ROM-Chips, welcher universelle, wesentlich flexiblere Treiber zum Zugriff auf Festplatten (das XTIDE-BIOS) enthält, zu beglücken. Soweit so klar, doch wo kommt dieser ROM-Chip hin? Der Baustein kann natürlich nicht anstelle der originalen BIOS-Chips verwendet werden, weil jeder PC anders ist und wir ja nicht das ganze BIOS überschreiben, sondern „nur“ die erweiterten Treiber zum Zugriff auf Datenträger von dem Chip verwenden wollen. Aus diesem Grund wird der XTIDE-Chip für gewöhnlich auf eine ISA-Einsteckkarte (vorzugsweise eine IDE-Controllerkarte) gesteckt, an welcher dann die Festplatten über den IDE-Bus angeschlossen werden:

Na prima, dann brauchen wir doch lediglich so eine spezielle ISA-Karte, welche mit dem XTIDE-ROM-Chip ausgestattet ist, oder? Tja, leider sind auch diese Karten meist recht teuer oder nur sehr schwer zu ergattern und ich möchte eigentlich nur ungern viel Geld für den runtergerockten, zickigen PC ausgeben. Keine Panik, denn im Endeffekt sollte XTIDE mit jeder ISA-Karte funktionieren, auf welcher sich eine EEPROM-Chip aufstecken lässt. Moment mal – war nicht sogar schon in dem Olivetti-PC was Geeignetes dabei? Ich erinnere mich dunkel daran, dass wir beim ersten Begutachten des PCs neben der MIDI-Einsteckkarte auch eine 3Com Netzwerkkarte in der Hand hatten? Ah, da ist ja das gute Stück: Eine „Etherlink III 3C509B-C“ der Firma 3Com aus dem Jahre 1995!

Warum jemand den schwachbrüstigen Olivetti-PC mit einer Netzwerkkarte ausgestattet hat, erschließt sich mir nicht. Ob die Kiste wirklich mal in einem LAN eingebunden war? Ich wage es zu bezweifeln. Aber das ist aber auch egal, denn wie es der Zufall will, befindet sich auf dem Teil tatsächlich ein Sockel, in den ein sog. „Boot-ROM“ eingesteckt werden kann.

Diesen Sockel können wir missbrauchen, um darin einen EEPROM mit dem XTIDE-BIOS aufzustecken. Und woher bekommt man so einen Chip? Nun im Idealfall besitzt man einen EEPROM-Brenner und baut sich damit selbst einen XTIDE-Chip. Ich habe so etwas nicht und darum habe ich für ein paar Euro von einem netten Verkäufer aus Österreich (kein Witz) so ein Ding erworben:

Not so fun Fact: Von dem BIOS gibt es – abhängig vom verwendeten EEPROM sowie dem Rechnertyp, in dem es zum Einsatz kommen soll – zig verschiedene Versionen. Auch beim Brennen des Chips müssen ein paar Dinge beachtet werden. Ich bin froh, dass ich das nicht machen muss! 😀

Mit eingestecktem Chip können wir die Netzwerkkarte wieder in unseren Italiener einbauen:

Schön und gut, aber wie soll das denn funktionieren? Eine Netzwerkkarte mit Laufwerkstreibern für IDE-Geräte?! Lasst es mich kurz erklären, ich verspreche auch, nicht zu sehr ins Detail zu gehen. Die Idee dahinter ist mindestens so verrückt, wie genial! 😉

Beim DOS-Systemstart werden alle benötigten Gerätetreiber und Systemsoftwarekomponenten in den Arbeitsspeicher (genau genommen in die UMA, also den Bereich zwischen 640 kB und einem Megabyte) geladen. Dazu gehören so Dinge wie das BIOS-ROM selbst, oder auch ein dedizierter Speicherbereich, welcher von der Grafikkarte (Video-RAM) verwendet wird.

Fun Fact: Die „UMA“ haben wir ja schon in Artikel 256 kennengelernt! 😉

Im „mittleren“ Bereich der UMA (ab Adresse C000 bis E000) stehen jeweils 16 kB große Blöcke für ROMs von weiteren Hardwarekomponenten wie z.B. Laufwerkscontrollern oder eben auch Netzwerkkarten zur Verfügung. Die Daten aus den ROM-Chips enthalten die Firmware der jeweiligen ISA-Karten und werden im RAM benötigt, um das entsprechende Hardwaregerät initialisieren und letztendlich darauf zugreifen zu können. Einige Netzwerkkarten (so wie auch unsere „Etherlink III“) machen sich diese Funktion zu Nutze, um ein „Boot-ROM“ (die Daten aus dem aufgesteckten Chip) in den Speicher zu laden und auszuführen. In der Theorie müsste also unser 8 kB großes XTIDE-ROM beim Start des PCs auch von der Netzwerkkarte in einen 16 kB großen RAM-Block geladen werden!

Fun Fact: Diese „Boot-ROM-Funktion“ ist eigentlich dafür gedacht, entsprechende Treiber zu laden, welche es ermöglichen, den PC aus dem Netzwerk heraus hochfahren zu können! 🙂

Aaaaalter – immer diese langweilige Theorie! 😛 Ich weiß, euch interessiert viel mehr, wie das in der Praxis aussieht. Also gut: Mit der getunten Netzwerkkarte müssen wir den PC starten und im BIOS den Festplattentyp auf „unbekannt“ ändern, sodass der PC denkt, es sei keine Festplatte verbaut. Dieser Schritt ist notwendig, da es sonst Konflikte zwischen dem XTIDE-BIOS und dem Olivetti-BIOS beim Zugriff auf die Festplatte geben könnte.

Damit der PC das auf der Netzwerkkarte verbaute Boot-ROM erkennt, müssen wir die Karte entsprechend konfigurieren. Hierfür starten wir den PC erneut über eine Bootdiskette und führen das Konfigurationsprogramm „3C5X9CFG.EXE“ aus.

Not so fun Fact: Natürlich habe ich das Programm erst ewig im Internet suchen müssen. Richtig verwunderlich ist das aber nicht, vermutlich gehören Treiber und Konfigurationsprogramme für eine knapp 30 Jahre alte Netzwerkkarte nicht gerade zu den am meisten gesuchten Dateien! 😀

Mit der Software lassen sich allerlei Parameter an der Netzwerkkarte verstellen. Auch wenn die ganzen Einstellmöglichkeiten spannend klingen, interessiert uns vor allem die Option „Boot ROM“:

Damit lässt sich die Größe des ROM-Chips (in unserem Fall sind das 8 kB), sowie die Position im Arbeitsspeicher, an die das XTIDE-BIOS geladen werden soll, festlegen. Je nachdem, welche Hardware im Computer verbaut ist, kann es sein, dass einige Bereiche schon von anderen ISA-Erweiterungskarten belegt sind. Ein etablierter Wert, mit dem es für gewöhnlich klappt, ist der Adressbereich „C8000-C9FFF“:

Not so fun Fact: Ich hatte es zuerst mit dem Adressbereich C0000-C1FFF probiert. Leider erkennt der Rechner die Festplatte dann nicht. Viel schlimmer noch – er fährt, durch Setzen der Einstellung, gar nicht mehr zuverlässig hoch, bzw. bleibt einfach beim Startvorgang hängen. Ich vermute, dass sich an der Adresse C0000 ein Teil des Video-RAMS befindet und es einen Adresskonflikt gibt.

Nach einem weiteren Neustart ist es dann tatsächlich so weit – das XTIDE-BIOS klinkt sich direkt nach dem Systemstart ein…

…und der Rechner startet von der Seagate-Festplatte. Epic win! 😀

Die beim Start aufgetretenen Fehler (z.B. „PnP-BIOS nicht gefunden“ oder „Fehler, SB-Hardware“ liegen daran, dass im Olivetti-PC (im Vergleich zum Tema TC-Computer, aus welchem die Festplatte stammt) keine Soundkarte verbaut ist. Der Rechner meckert also völlig zurecht! 🙂 Gut, dass sich die Fehler durch Editieren der AUTOEXEC.BAT und CONFIG.SYS schnell beheben lassen. Anschließend fährt der PC ohne Probleme von Laufwerk C:\ hoch und wir können auf die vollen 89 MB zugreifen!

Not so fun Fact: Leider muss man bei einem Kaltstart (Einschalten des PCs nach längerer Standzeit, kein Reset aus laufendem Betrieb heraus) eine Meldung des originalen Olivetti-BIOS mit ESC wegdrücken. Das ist nicht schön, aber das lässt sich leider nicht ändern – wir haben ja im Lauf dieses Beitrags schon häufiger festgestellt, dass das originale BIOS einfach maximaler Schrott ist! 😀

Mann, ich kann euch gar nicht sagen, wie happy ich bin, dass das funktioniert! Ganz fertig sind wir mit dem Olivetti-PC allerdings noch nicht. Beim nächsten Mal schauen wir uns an, ob die Kiste auch mit ein paar Spielen und vielleicht sogar einem frühen Windows-System klarkommt. 🙂

In diesem Sinne – bis die Tage, ciao!

Write a comment