Software

Anwendungen und Tools rund um RISC OS

WebKit-Portierung rückt näher

Aktuell ist mal wieder viel Bewegung im GCCSDK-Repository, Abteilung Autobuilder. Qt 5.4.1, Qt5Webkit, QtTestBrowser, Arora. Lee Noar committed wie der Wilde. Auch Chris Gransden, Meister der hundert Portierungen, mischt mit, wie man hier nachlesen kann.

Erfahrungsgemäß ist es ab hier noch ein gutes Stück Arbeit, bevor ein schnieker schneller stabiler Browser zur Verfügung steht. Aber der Anfang ist gemacht. Danke John, Lee, Chris, Alan, Theo und alle die sich rund um GCCSDK und das Tooling drumrum verdient gemacht haben.

RISC OS-Projekte: Qt portieren

Der zweite Teil der Reihe “RISC OS-Projekte” sollte ursprünglich von Oberflächenbibliotheken und deren Portierung handeln. Qt, GTK+, FLTK und wxWidgets sind da die interessantesten Kandidaten. Zur Portierung interessanter Software vornehmlich aus der Linux-Ecke wäre das eine wichtige Voraussetzung. Auch eine Portierung von WebKit wäre dadurch deutlich erleichtert.

Aus aktuellen Gründen will ich das Projekt etwas kleiner schneidern und nur eine Portierung von Qt kurz anreißen. Qt hat eine lange und bewegte Geschichte, die mit Trolltech begann und durch die Verwendung als Basis für den KDE-Desktop der breiten Masse bekannt wurde. Später wurde Trolltech von Nokia übernommen und Qt 2009 unter der LGPL veröffentlicht, nachdem jahrelang die Lizenzierungsfrage breitgetreten wurde. Qt ist in C++ geschrieben und gilt als einer der wenigen kompetenten Cross-Plattform-GUI-Toolkits. Qt zeichnet sich durch eine verhältnismäßig saubere API aus und wurde auf viele auch eher esoterische Systeme portiert, von Symbian bis Windows CE, von SailfishOS bis BlackBerry OS (QNX-basiert).

Qt ist inzwischen mehr als ein reines GUI-Toolkit, es gibt Module rund um Netzwerkzugriff (Qt Network) oder auch Datenbankanbindung (Qt Sql).

Viele Programmiersprachen wurden mit Anbindungen versehen, darunter z.B. Ada, Perl, Python und Haskell – auch hier also durchaus exotenfreundlich.

Und jetzt kommt der Gag: seit heute ist im GCCSDK-Repository im Autobuilder die Portierung von Qt 5.3.0 durch Lee Noar verfügbar.

Vielleicht hätte ich deshalb den Blogbeitragstitel in “Wunder geschehn” umbenennen sollen.

Ich hatte noch keine Gelegenheit, ein paar einfache Tests damit durchzuführen, um herauszufinden, welchen Stand die Portierung hat und welche der vielen Qt-Module bereits portiert sind. Vielleicht ist es also verfrühter Optimismus, denn Qt ist groß und es ist kaum anzunehmen, dass ein initialer Port direkt alle Module mitportiert. Die Inhalte im Autobuilder legen aber nahe, dass Qt Core und Qt Gui die ersten beiden Module sind.

Bisher in der Reihe “RISC OS-Projekte” veröffentlicht:

Aemulor-Innereien

Adrian Lees, Autor von Aemulor (Pro) und Geminus, hat zwei Artikel ins Netz gestellt, die der eine oder andere vielleicht schon aus der Foundation RISC User kennt. Darin werden einige interessante Details zur Implementierung von Aemulor und Aemulor Pro beschrieben.

Wer die letzten zwölf Jahre unter einem Stein gelebt hat: Aemulor ist ein High-Performance-Emulator für 26bit-Software auf 32bit-only-Plattformen wie IYONIX pc, A9home, Raspberry Pi, BeagleBoard, PandaBoard und ARMX6. Aemulor Pro setzt noch einen drauf und bietet nicht nur eine Plattform für gewöhnliche WIMP-Anwendungen, sondern emuliert auch alles notwendige für Dateisysteme aller Art (Win95FS, LanMan98, CDROMFS) und bietet eine Emulation für sogenannte “low colour depth screen modes” – neuere Systeme fangen meist erst bei 8bpp an, während bis zum Risc PC noch alles bis runter zu 1bpp unterstützt wurde – und tatsächlich wurde das auch von Anwendungen wie Sibelius 7 verwendet.

Besonders zur Anfangszeit des IYONIX pcs war Aemulor beinahe unverzichtbar, weil die Konvertierung der Anwendungen von 26bit nach 32bit doch recht zäh war, und außerdem absehbar war, dass einige wichtige Anwendungen wohl noch eine lange Zeit nicht konvertiert werden würden (Impression-Familie, Artworks, Photodesk) – dass heute eigentlich bis auf Impression und Sibelius keine der “großen” Anwendungen mehr auf Aemulor angewiesen ist, sollte als positives Zeichen für die Plattform aufgefasst werden.

An dieser Stelle ein persönlicher Dank an Adrian Lees, der dieses Stück Software, das beinahe an Magie grenzt, über all die Jahre gehegt und gepflegt hat und den Nutzern der neuen Cortex-A8/A9-Plattformen kostenlos zur Verfügung stellt.

Bewegung im GCCSDK-Repository

Um halbwegs auf dem Laufenden bezüglich der GCC-Entwicklung der Geschmacksrichtung RISC OS zu bleiben, schaue ich ab und zu mal rein, was im SVN-Trunk von GCCSDK so läuft.

Seit ein paar Tagen gibt es interessante Commits von Lee Noar, der schon der Hauptverantwortliche für den RISC OS ELF-Support war. Die Schlüsselworte lauten Clang und LLVM.

Clang ist – compilertechnisch gesprochen – ein Frontend für C, C++ und Objective-C, das an die Compiler-Infrastruktur von LLVM angeflanscht werden kann. LLVM arbeitet dann als Backend, um den von Clang gelieferten Input in was Maschinentaugliches zu verwandeln.

Warum Clang/LLVM anstatt GCC? Die Clang- und LLVM-Codebasis ist deutlich jünger und übersichtlicher, die Weiterentwicklung ist sehr dynamisch, der Compilevorgang viel schneller und speichersparender. LLVM kann Bytecode erzeugen, der dann in einer VM ausgeführt werden kann – daher hat LLVM auch seinen Namen.

Wo sind die Haken? Der ARM-Codegenerator von LLVM ist wohl hauptsächlich auf ARMv6/ARMv7 optimiert. Die Portierung auf non-Unix-Plattformen gilt als eher schwierig. Die Details bezüglich EABI/APCS-32 usw. sind bisher eher unklar. Also zumindest mir 🙂

Übrigens kann GCC per DragonEgg so umgedingst werden, dass LLVM als Backend verwendet werden kann.

ADFFS 2.47 beta – Retro-Gaming auf dem Raspberry Pi

Jon Abbott war die letzten Wochen nicht faul und hat gestern ADFFS 2.47 beta veröffentlicht . Es gibt noch ein paar Haken aufgrund größerer Umstrukturierungen im Bereich Codelets und Blitter, aber das sollte den abenteuerlustigen experimentalfreudigen RISC OS-Nutzer ja nicht abhalten. Schwerpunkt der Arbeiten ist gerade der Raspberry Pi, das geht etwas auf Kosten von OMAP3/OMAP4 und IYONIX pc.

Die Liste der Spiele, die nun auf dem Raspberry Pi laufen, wird immer länger. Für mich besonders erfreulich: Cannon Fodder, das inzwischen auch offiziell im Rahmen des JASPP veröffentlich wurde. Wer zufällig ein HowTo für Level 8.4 “In at the deep end” hat – ich wäre interessiert…derweil vergnüge ich mich noch mit Resogun auf der PS3.

ADFFS und JASPP – das JASPP-Forum ist endlich wieder da

Eines der Projekte in der RISC OS-Welt, die ich mit großer Aufmerksamkeit verfolge (aber leider wie üblich nichts außer moralischer Unterstützung beitrage) ist JASPP oder ausgeschrieben “Jon’s Archimedes Software Preservation Project”. Hüter des Projekts ist Jon Abbott, der mit ganz erstaunlicher Energie und viel Enthusiasmus hier an einigen Fronten kämpft und großartige Fortschritte erzielt hat, sowohl beim Kernpunkt “Preservation”, wo es ihm gelungen ist, eine ganze Reihe an alten Games sowohl zu konservieren als auch die Distributionsrechte zu erhalten, als auch bei den Tools rund um das Projekt. Ich halte es generell für wünschenswert, die alten Software-Schätze zu bewahren – und zwar in einem möglichst originalen und lauffähigen Zustand. Und wenn mein Lieblingsbetriebssystem dabei die Hauptrolle spielt, umso besser.

Die im Rahmen von JASPP von Jon entwickelte Software ADFFS ist ein ganz erstaunliches Tool. Ursprünglich entstanden als schmales Modul, um ein ADF-Floppy-Image als ADFS::0 im System zur Verfügung zu stellen (die Älteren unter uns erinnern sich: viele Spiele liefen damals nur direkt von der Original-Diskette), ist es inzwischen zu einem ausgewachsenen Emulator geworden, der es erlaubt, viele alte Spiele auf dem Raspberry Pi unfallfrei auszuführen. Wer ungefähr weiß, was sich alles zwischen RISC OS 3.1 und 5.xx geändert hat, wie unsauber die Spiele teilweise direkt auf Hardware und nichtdokumentierte Schnittstellen zugegriffen haben, dazu noch die Hardware-Unterschiede zwischen der guten alten Zeit des A310/A3000/A5000/A3010 und dem Raspberry Pi einschätzen kann, wird die Leistung von Jon mit großer Anerkennung zur Kenntnis nehmen.

Man kann den Fortschritt des Projekts sehr schön über das JASPP-Forum mitverfolgen, Jon postet hier regelmäßige Updates.

Man musste sich zuletzt etwas Sorgen machen, weil der zentrale Server des Forums die Grätsche gemacht hatte und Jon sich lange Zeit mit der Datenrettung desselben beschäftigen musste. Es scheint aber jetzt alles wieder da zu sein, was mich letztlich zu diesem Beitrag veranlasst hat.

Die ADFFS-Seite ist ein bisserl der Zeit hinterher – die dort verfügbare Release-Version 2.09 entspricht nicht dem letzten Stand der Dinge, die aktuellen Beta-Versionen finden sich im Forum verlinkt und sind deutlich leistungsfähiger.

Ich werde versuchen, in Zukunft regelmäßig über das Projekt und seine Fortschritte berichten, auch über interessante technische Details. Einen guten Überblick gibt eine Powerpoint-Präsentation von Jon.

Update: Früher hatte ich eine eigene Subdomain mit einer Redirection aufs Forum eingerichtet, um Firewall-Probleme zu umgehen, da das Forum ursprünglich nur über Port 9000 zu erreichen war. Inzwischen ist das Forum aber schön über HTTPS-Standard-Port verfügbar.

Neue Karten für RiscOSM

Neue Software für RISC OS, insbesondere im kommerziellen Bereich, ist heutzutage eher die Ausnahme als die Regel. Umso erfreulicher war die Veröffentlichung von RiscOSM von Sine Nomine Software im April diesen Jahres, quasi klassisch rechtzeitig zur Wakefield Show.

RiscOSM ist nicht etwa ein erneutes Beispiel für die fehlerhafte Groß-/Kleinschreibung von RISC OS, sondern steht für “Risc Open Street Map” und ist in der Lage, die Daten des OpenStreetMap-Projekts zu verarbeiten und zu visualisieren. Man kann auf den Karten Bookmarks setzen, die Kartenanzeige als Draw oder Sprite exportieren oder natürlich ausdrucken. Die Software wird fleißig weiterentwickelt, die neueste Version wurde Anfang Dezember veröffentlicht.

RiscOSM arbeitet nicht auf dem Urformat der OSM-Daten, sondern benötigt ein spezielles Format, das man mittels OSMConvert aus den originalen .osm.pbf-Daten erzeugen kann. Wie es sich für unsere Freunde von der Insel geziemt, liegt der Schwerpunkt natürlich auf den britischen Inseln.

Um auch Kontinentaleuropa zu versorgen, hat Raik Fischer mit Teilen seines RISC OS-Rechnerparks ein paar CPU-Zyklen verheizt, um das Kartenmaterial für Deutschland und Frankreich in Form zu bringen. Die Ergebnisse kann man von Raiks Internetpräsenz herunterladen. Eine schnelle Internetverbindung wäre ratsam, die Kartendaten für Deutschland bringen es auf nicht weniger als 1,5 GiB, Frankreich schlägt gar mit 1,9 GiB zu Buche.

Nach den Berichten von Raik scheint OSMConvert optimal geeignet für einen Zuverlässigkeits- und Performancetest von RISC OS-Hardware.

Die Geheimniskrämer von R-Comp

Vor wenigen Wochen fand die London RISC OS Show 2014 statt. Neue Hardware ist immer ein Messehighlight, und so überraschte R-Comp die RISC OS-Welt mit der Ankündigung des ARMini.MX, eines RISC OS-Rechners auf Basis eines Boards rund um den Freescale i.MX6. Nach dem BeagleBoard-xM-basierten ARMini  und dem PandaBoard ES-basierten ARMiniX also eine weitere “native” Hardware von R-Comp, die lange Zeit nur emulationsbasierte Hardware wie x86-Laptops mit VirtualAcorn verkauften.

Nun also ein i.MX6 inside. Keine schlechte Wahl, mit S-ATA und Gigabit Ethernet zusammen mit einem flotten Cortex-A9, dazu ein Batzen (2 GB) schnelles RAM (DDR3). Es gibt noch keinen Termin für die kommerzielle Verfügbarkeit, aber vertrauenswürdige Quellen sprechen von einem zuverlässigen und schnellen RISC OS-Rechner.

Die Frage ist, ob angesichts der anstehenden Cortex-A15-Hardware (IGEPv5 und BeagleBoard-X15) mit ähnlicher Ausstattung, aber deutlich mehr CPU-Power und zudem USB3 der ARMini.MX nicht zu spät kommt, zumal er zum üblichen R-Comp-Mondpreis angekündigt ist (700 UKP). Aber vielleicht werden die deutschen User ja wieder von a4com gerettet, die bekanntlich die vorgefertigten ARMini-Rechner an R-Comp liefern, selbst aber die Dinger als BIK (BeagleBoard in Kiste) und PIK (PandaBoard in Kiste) zu deutlich realistischeren Preisen anbieten.

Aber das sollte eigentlich nicht das Thema sein. Denn was wirklich nervt, ist die Geheimniskrämerei von R-Comp. Auch über einen Monat nach der Messe findet man im Internet nur das auf der Messe verteilte Leaflet als PDF mit spärlichen Infos über den ARMini.MX. Schaut man sich die R-Comp-Website an, wird es noch gruseliger – da wird immer noch WebsterXL angepriesen, schon zu Lebzeiten der schlechteste kommerziell erhältliche Browser. Auch wer schon einmal versucht hat herauszufinden, was denn Teil des “PandaLand Scheme” sein könnte, wird vergeblich suchen. Ebenso unklar sind Dinge wie das ARMiniX “extensively modified motherboard to provide additional RISC OS-specific features and functionality”.

Intransparenz kann viele Gründe haben. Das aktive Verstecken von Peinlichkeiten, die Faulheit ausreichende Infos zusammenzuschreiben, whatever. Ein gutes Licht wirft es jedenfalls nicht auf R-Comp. Das ist wirklich schade, denn R-Comp hat mit Produkten wie Messenger Pro, DataPower, Hermes oder UniPrint Maßstäbe gesetzt.

Star Fighter 3000 für alle zum Download

Es gab bekanntlich nicht besonders viele Spiele für RISC OS. In den goldenen Acorn-Jahren (ja, nur wenige haben damals geglaubt, man würde später über diese Zeit von den “goldenen Jahren” sprechen) Anfang der 90er, als man im Heimcomputerbereich mit dem A3000 und später dem A3010 beinahe dem Commodore Amiga Konkurrenz gemacht hätte, gab es mal eine kurze Zeit, als zumindest die großen Hits auf dem Amiga meistens durch die Firma Krisalis auf RISC OS portiert wurden. Battle Chess, Lotus Turbo Challenge II, Populous, Gods, Xenon II, James Pond, Sensible Soccer, Cannon Fodder, Zool, SWIV, Pac-Mania, Paradroid 2000, Sim City 2000, Lemmings und die Magnetic Scrolls-Adventures. Dazu wenige coole “Eigengewächse” wie Zarch, Conqueror, Arcturus, Aldebaran, Chocks Away, Spheres of Chaos und Stunt Racer 2000.

Bis dann – es muss 1994 gewesen sein – ein Spiel erschien, das die Latte wirklich hoch legte: die Macher von Chocks Away und Stunt Racer 2000 brachten Star Fighter 3000 heraus. Eine Art Action-Flugsimulator, wo man sich durch zig Levels kämpfte und durch Abschuss von Gebäuden und anderen Gegnern sich Geld erspielte, die man im Shop dann für coole neue Waffen oder andere Ausrüstung ausgeben konnte. Es war die Anfangszeit der 3D-Spiele, und Star Fighter 3000 war zum damaligen Zeitpunkt schlicht atemberaubend – wobei der Spielspaß der Optik in keiner Weise nachstand. Auch wenn das Andocken ans Mutterschiff schon für Fortgeschrittene war.

Folgerichtig war Star Fighter 3000 eins der wenigen Spiele, die unter RISC OS entstanden sind und danach auf andere Systeme portiert wurden – 3DO, Sega Saturn, Sony PlayStation. Wobei die 3DO-Version als die beste gilt und die PSX-Version als die schlechteste.

Jetzt die gute Nachricht: die aktualisierte Version (32bit-fähig, läuft auf praktisch jeder RISC OS-Hardware) ist nun für alle frei zum Download verfügbar. Chris Bazley hat seit 2000 kontinuierlich an Patches für SF3000 gearbeitet, um die Lauffähigkeit auf neuen RISC OS-Versionen sicherzustellen. Ab 2003 gab es dann die aktualisierte Version bei APDL für kleines Geld auf CD, seither läuft das Spiel auch im Fenster im Desktop.

Mehr zu Star Fighter 3000 kann man hier lesen.

Neue PipeDream-Version veröffentlicht

Gestern wurde PipeDream 4.52/06 veröffentlicht. Seit etwa zwei Jahren sind nun PipeDream und Fireworkz als kostenlose Downloads verfügbar, früher wurden sie als kommerzielle Software für nicht gerade kleines Geld von Colton Software verkauft.

In meinen RISC OS-Anfangszeiten habe ich mal PipeDream 3 gekauft, aus zwei Gründen – es war die einzige Software, die integriert Textverarbeitung und Tabellenkalkulation anbot, und es gab eine deutsche Version – besonders letzteres war damals extrem selten, und damals war das irgendwie wichtig für mich (ich hatte auch einen der ersten deutschen A3000, mit einem an sich ganz gut übersetzten Handbuch, wäre da nicht der Schnitzer mit dem Anschluss für die 32 persönlichen Kopfhörern gewesen). Für viele Jahre habe ich damit alle meine Korrespondenz erledigt sowie Arbeiten für Schule und Uni geschrieben.

Meines Erachtens ist das Konzept von PipeDream auch heute noch interessant, wie es die Textverarbeitung mit der Tabellenkalkulation verknüpft. Nicht immer ergonomisch, aber zweifellos innovativ. Der Schwerpunkt liegt aber definitiv auf den Spreadsheet-Funktionalität.

Ich habe nie ganz überrissen, was die Detailunterschiede zwischen Fireworkz und PipeDream sind – offenbar sind sie groß genug, um beide Pakete weiter zu pflegen. Vielleicht sollte ich mir beide Pakete doch noch einmal genauer anschauen.

Von Fireworkz gibt es auch eine Version für Windows.