Archive for Februar 2012


PowerMac G4 MDD wiederbelebt

Februar 4th, 2012 — 12:40am

Zugegeben, diese Artikel ist wohl sehr nerdig – aber ich wollte mal erzählen, wie ich einen acht Jahre alten PowerMac G4 MDD, meinen damals ersten Mac und immer noch einer meiner Favoriten was Design angeht, wieder hergerichtet habe.

Dieser Mac war mein Einstieg in die Mac-Welt und hat mir knapp dreieinhalb Jahre treue Dienste geleistet, bis ich auf einen der ersten Intel iMacs mit Core Duo Prozessor umstieg. Die Jahre zuvor hatte ich immer mal wieder auf eBay vorbei geschaut um erschrocken festzustellen, dass für solche alten Macs immer noch horrende Summen bezahlt werden, aber letztes Jahr fiel mir plötzlich bei den eBay Kleinanzeigen ein Gerät für 20€ in die Hände, angeblich defekt. Zwei Tage später stand der Mac bei mir. Von Außen machte das Gerät einen prima Eindruck, da es sehr pfleglich behandelt wurde. Innen jedoch sah die Sache ein klein wenig anders aus. Das Gerät wurde in den 7 Jahren in denen es genutzt wurde wohl kein einziges mal geöffnet und war nahezu randvoll mit Staub gefüllt. Nachdem mit dem Staubsauger das größte Unheil bereinigt war, wurde der Mac versuchsweise gestartet. Und siehe da, von wegen defekt! Der Startgong ertönte und der Mac beschwerte sich über ein fehlendes Bootmedium. Fluchs die alten Mac OS X 10.4 Tiger CDs ausgekramt und los ging es. Auch die Installation und der spätere Betrieb waren problemlos möglich. Leider waren die Ram- und HDD-Ausstattung des PowerMacs etwas mager. Lediglich 256 MB Hauptspeicher waren mir definitiv zu wenig und die Radeon 9000 Pro mit 64 MB Ram war zwar nett, aber da ging definitiv mehr.

Zuerst geht daher mein Dank an swift.consult, welche großzügig 2 GB DDR400 Ram von Kingston spendeten. Dies sind übrigens die einzigen Riegel mit einer große von jeweils 1 GB, die der Mac problemlos schluckt. Ansonsten muss man 4×512 MB Riegel verwenden.

Bei der Grafikkarte gestaltete sich die Sache schon etwas schwieriger. In den „alten“ Zeiten der PowerPC-Ära war es damals schon nicht ganz einfach, an eine gute Grafikkarte zu kommen. Das sieht heute leider nicht viel anders aus. Nach ein wenig Recherche stieß ich auf die GeForce 7800GS, die stärkste AGP-Karte die es für die PowerPC Macs jemals gab – inoffiziell. Inoffiziell deshalb, da es diese Karte nie von nVidia für Mac gab. Die Flasher-Szene hatte sich der Tatsache beholfen, dass die letzten PowerMac G5 bereits über PCI-Express Ports verfügten und mit einer GeForce 7900 Grafikkarte ausgerüstet werden konnten. Da nVidia den AGP-Port jedoch zu dieser Zeit noch nicht gänzlich totgesagt hatte, wurde der Chip auch auf AGP-Grafikkarten verwendet welche unter dem Label 7800GS vertrieben wurden. Daher war man in der Lage, mittels der Firmware der 7900 eine 7800GS auch für den AGP Port zu nutzen.

Das Problem an der Sache war jedoch, das Karten mit der GPU der GeForce 7900 nur kurze Zeit im Handel waren und schnell durch Varianten mit eigenen, abgesteckten Chips ersetzt wurden welche günstiger in der Produktion waren. Diese Karten sind bis heute nicht für den Mac verwendbar!

Nach ein wenig Suchen fand ich bei eBay tatsächlich eine passende GeForce 7800GS, natürlich kam das Angebot aus China. Zwar kam die Karte gut bei mir an – aber nun fing der Spaß erst richtig an. Bei dem Exemplar welches mir geschickt wurde, schien es sich um ein so genanntes Evaluation-Board zu handeln, welches nicht für den Verkauf bestimmt war. Und natürlich funktionierte die Karte mit dem im Internet erhältlichen Firmware nicht, sondern spuckte nur Pixelartefakte aus. Aber ich wäre nicht ich, wenn ich die Odyssee des Editieren des BIOS im Hex-Editor nicht eingegangen wäre.

Zwar unterschieden sich Mac und PC Firmware in den meisten Teilen wenn man diese in einem Hex-Editor betrachtet, aber es gibt einen kleinen Bereich der fast 1:1 übereinstimmt – die Speichertimings. Die Herausforderung liegt nur darin, diesen Bereich zu finden und von der PC zur Mac Variante zu portieren. Die Mac Variante hat zusätzlich noch die fiese Eigenschaft, alle paar Bytes einen sogenannten „Token“ zu besitzen. Eine sich ständig wiederholende Reihenfolge der gleichen Bytes. D.h. die Werte aus dem PC Firmware müssen entsprechend aufgesplittet werden. Nach drei langen Abenden war es dann geschafft, nach dem vierten Flash-Versuch startet die Karte fehlerfrei in OS X. Hurra! 😀

Belastungstest in Form von Doom III und Quake 4 wurden natürlich sofort ausgeführt und verliefen äußerst zufriedenstellend. Im Nachhinein tauschte ich noch die Lüfter des Macs gegen leisere Exemplare und senkte die Spannung der CPUs mittels umsetzen einer Widerstandskodierung auf der CPU-Karte, für einen kühleren Betrieb. Und natürlich wurde das Gehäuse komplett zerlegt und von den letzten Staubresten befreit.

Nun habe ich hier einen bereits 8 Jahre alten PowerMac G4 MMD stehen, der gut ausschaut, annehmbar leise läuft und sogar noch etwas Power unter der Haube hat. Und natürlich kann man einen ganzen Haufen an Mac OS Versionen darauf betreiben 😉

8 comments » | Digitale Welt, Macintosh

Custom configuration sections for .NET made easy

Februar 2nd, 2012 — 11:13pm

Currently I’m working on a bigger project, containing a quit complex web service, talking to a even more complex command line application. Today I realised, that the configuration of my web service was in the need of becoming a little bit more flexible than originally estimated. As I’ve already written a few custom configuration sections, I was desperately trying to find an easier solution as the creation of configuration sections is an extremely time consuming but yet stupid task.

On my search through the web I found this great Visual Studio 2010 plugin which offers a visual designer for creating configuration sections. Despite saving time on writing code, this plugin also creates appropriate xsd schemas which enables Visual Studio to offer auto completion on changing the configuration file.

After installing the plugin, add a new item to your project of the type ConfigurationSectionDesigner which will appear in the add item dialog. The rest is a piece of cake!

I have immediately fallen in love with this plugin.

1 comment » | .NET

Back to top