Yamagi.org - Finger


x49gp auf FreeBSD

04.06.2009


x49gp ist ein Emulator fuer die neueren Taschenrechner von HP. Er deckt
alle auf ARM-Prozessoren basierende Modelle ab. Dies sind genauer der
49G, 49G+ und 50G. Streng genommen sind diese gar nicht ARM-basiert,
denn auf der relativ starken Hardware mit dem ARM-Prozessor wird eine
alte, bereits aus der HP-48 Serie bekannte Saturn-CPU emuliert. Auf
dieser Emulation laeuft dann das CAS. Dies hat den Nachteil, dass ein
grosser Teil der moeglichen Leistung verpufft. Der Vorteil ist, dass
vorhandene HP-48 Emulatoren auch die neueren Modelle emulieren konnten,
ist es dem CAS doch egal, ob es im Taschenrechner im Emulator oder auf
dem Computer im Emulator laeuft. Also scheint alles gut zu sein. Es gibt
bei dieser Loesung jedoch ein Problem und an dieser Stelle kommt x49gp
ins Spiel. Diese neueren Taschenrechner erlauben es inoffiziell nativen,
fuer ARM uebersetzten Code auszufuehren. Man kann also Programme in C
schreiben und diese laufen dann auch in nativer Geschwindigkeit.  
Ein Saturn-Emulator kann diesen Code allerdings nicht ausfuehren, was
das Entwickeln eklig macht. Man muss auf dem PC bauen, es auf den
Taschenrechner transferieren, ausfuehren, etc. Debugger? Nur mit dem
Kopf durch den Po. x49gp emuliert nun die ARM-Hardware, auf dieser wird
das ROM des Taschenrechners ausgefuehrt. Also der Saturn-Emulator und in
diesem das CAS. Man hat einen vollstaendigen Taschenrechner auf dem
Desktop und kann in diesem wunderbar entwickeln. Diese Loesung zeigt
aber auch, wie bescheuert HPs Ansatz ist. Der Emulator ist bei 3GHz nur
knapp dreimal so schnell wie der native Taschenrechner, obwohl die
Host-CPU noch locker Kapazitaeten haette. Es ist der Saturn-Emulator,
der hier bremst. Oder anders gesagt, HP ist es zu teuer das CAS auf ARM
zu portieren und es ist ebenfalls zu teuer den Saturn
weiterzuentwickeln.
Wie dem auch sei, ich habe x49gp auf FreeBSD portiert. Es war nicht so
wahnsinnig schwer, nur dank der dreckigen Makefiles ein wenig frickelig.
Das Ergebnis funktioniert einwandfrei, eine Anleitung oder einen Port
baue ich in den naechsten Tagen. Hier erst einmal ein Screenshot

Vorheriger Beitrag | Home | Seite | Naechster Beitrag