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.

BeagleBoard, The Next Generation: Das -X15

Vertrauenswürdige Quellen sprechen davon, dass im Februar 2015 die Jungs von BeagleBoard.org die nächste Stufe zünden: das BeagleBoard-X15. Basierend auf TIs AM5728 SoC, einem Dual-Core Cortex-A15 SoC mit USB3, eSATA und Gigabit Ethernet, soll es der legitime Nachfolger des altehrwürdigen BeagleBoard-xM werden, das es tatsächlich schon seit 2010 gibt.

RISC OS-technisch ist das originale BeagleBoard natürlich etwas Besonderes: mit ihm begann die RISC OS-Neuzeit, die erste Community-organisierte Portierung von RISC OS, der erste praktische Nachweis, dass das Open-Sourcing von RISC OS unter der Ägide von Castle und RISC OS Open Ltd. tatsächlich zu etwas außerordentlich Nützlichem für alle treuen RISC OS-Fans werden kann.

Gegenüber dem hier schon früher vorgestellten IGEPv5 dürfte das BeagleBoard-X15 drei entscheidende Vorteile haben: niedrigerer Preis, Gigabit Ethernet direkt statt über USB angebunden, und 3 echte USB3-Host-Anschlüsse statt einem USB3-OtG.

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.

Die RISC OS memcpy()-Challenge

Jeffrey Lee hat im RISC OS Open-Forum zur memcpy()-Optimierung aufgerufen. Die bisherige Implementierung in der SharedCLibrary stammt aus 1991 und basiert auf Code von ARM Ltd. 1991 – das war zu Zeiten des ARM3, als die Caches noch klein, ausschließlich 1st level und Write-Through waren, man von 2nd level cache nur träumen konnte und sowas wie write buffering und write coalescing noch in weiter Ferne lagen.

Heute differieren die RISC OS-Plattformen deutlich stärker als damals. StrongARM, ARM11, XScale, Cortex-A8 und Cortex-A9 haben deutlich unterschiedliche Ansätze in punkto RAM-Anbindung. Es gibt gravierende Unterschiede bezüglich der Cache-Architektur, der Verfügbarkeit von Beschleunigern wie der XScale-DMA-Engine oder des NEON-Beschleunigers. Aligned- und Unaligned-Zugriffe haben unterschiedliche Performance-Charakteristiken, ebenso wie Zugriffe auf cached vs. uncached-Speicher. Dazu noch unterschiedliches Verhalten beim Überschreiten von Page-Grenzen.

Liebe Assembler-Frickler: das ist doch mal eine Challenge, wo die investierte Zeit gut angelegt ist. Die Speicherfunktionen in der SharedCLibrary würden bei signifikanten Verbesserungen für eine Beschleunigung von zig C-Anwendungen sorgen.

Zwei RISC OS-Legenden haben schon vorgelegt: Adrian Lees (Aemulor, Cino) und Ben Avison. Also, auf geht’s!

Tolle Tools – heute: Mauser

Heute will ich von einem ebenso kleinen wie unverzichtbaren Modul berichten, das die Mausbedienbarkeit von RISC OS auf einen ganz neuen Level hebt.

Mauser heißt das kleine Modul, Jörn Schröder hat es vor Urzeiten (1996) programmiert (ich habe insofern etwas dazu beigetragen, als ich es zur 32bit-Fähigkeit gepatcht habe), und trotz seiner überschaubaren Größe von 6332 Bytes (davon rund 2 KB Hilfetexte) strotzt es nur so vor Funktionalität. Mein Favorit: per Drag der mittleren Maustaste innerhalb eines Fensters kann man scrollen. Und zwar in beide Richtungen. Das spart unglaublich viele Mauswege zu den Scrollbars und tröstet über die in RISC OS eher sparsame Unterstützung des Mausrades hinweg. Drückt man gleichzeitig die linke oder rechte Maustaste, kann man das ganze Fenster bewegen – äquivalent also zu einem Drag der Fenstertitelleiste, wieder spart man Mauswege. Die Unterscheidung linke Maustaste (Fenster kommt in den Vordergrund) und rechte Maustaste (Fenster verbleibt in seiner Tiefe) ist selbstverständlich ebenso implementiert.

Ebenfalls unverzichtbar ist die Implementierung des „langen Doppelclicks“. Damit kann man Applications öffnen statt ausführen und Dateien in den Texteditor laden statt sie auszuführen. Für diese Funktionalität gibt es zig andere Module, aber wenn es das sowieso unverzichtbare Modul schon bietet…

Zusammen mit der rechten Strg-Taste kann man weiteren Schabernack treiben: mit Keypad-7 kann man den Mauszeiger auf horizontale Bewegungen einschränken, mit Keypad-9 auf vertikale. Nützlich wenn man in Draw mal schnell was ohne Gridlock zusammenzeichnet. Mit Keypad-2/4/6/8 simuliert man Mausbewegung, mit Keypad-1/3/5 die drei Maustasten.

Alternativ zu Mauser gibt es auch MouseAxess von Christian Flöter. Es wurden schon Maustooldiskussionen geführt, die durchaus den „mein-Editor-ist-besser-als-deiner“ (ursprünglich als „vi vs Emacs“ bekannt, in der RISC OS-Welt eher „Zap vs StrongEd“) Diskussionen das Wasser reichen können. Unnötig zu sagen, dass Mauser das deutlich überlegene Tool ist (Gruß an Stefan B. :-)).

Hier gibt es Mauser in der 32bit-Version zum Download. Das 26bit-Original gibt es natürlich noch auf dem FTP-Server der Uni Stuttgart, dem großen Archiv aus der guten alten Acorn-Zeit, passend zur Ära als PackDir-Archiv.

Neue RPCEmu-Version veröffentlicht: 0.8.12

Heute wurde von Peter und Matthew Howkins die RPCEmu-Version 0.8.12  veröffentlicht. Die Verbesserungen betreffen HostFS, den ARM-Emulationskern und die FDC-Emulation. Ein vollständiges Changelog steht zur Verfügung. Wahre Fans überwachen natürlich direkt das Mercurial-Repository.

Bei dieser Gelegenheit wurde der RPCEmu-Homepage auch gleich ein frischer Anstrich verpasst. Schlicht, aber elegant würde ich sagen. Das alte Design war doch sehr….zweckorientiert.

Die Vorgängerversion 0.8.11 wurde vor ziemlich genau einem Jahr veröffentlicht. Ich hoffe, dass sich die zukünftigen Release-Zyklen wieder etwas verkürzen – es gibt noch viel zu tun.

Tolle Tools – heute: AppDock II

Über die Jahre – nein, Jahrzehnte! – der Nutzung von RISC OS habe ich mich an einige schicke Tools gewöhnt, die bei der Arbeit unverzichtbar sind. Wann immer ich einen neuen RISC OS-Rechner einrichte (früher passierte das alle paar Jahre mal, aber dank der neuen superpreiswerten Hardware und den ganzen Emulatoren ist es inzwischen eher so gefühlter Wochentakt), packe ich das Basis-Toolset drauf. In loser Reihe will ich diese Tools kurz vorstellen. Die meisten sind Freeware, es spricht also nix für sofortiges Ausprobieren.

Mein wichtigstes Arbeitspferd im Stall ist AppDock II von Martin Würthner. Es handelt sich dabei um einen „NeXT style application launcher“, auf Deutsch: eine Startbasis für Anwendungen ähnlich des „NeXTStep application docks“. Ich verwendete bereits den Vorgänger AppDock, der von Martin in grauer Vorzeit (ich denke es war noch RISC OS 2) als Freeware beigelegt wurde auf derselben Diskette wie HD_Backup 2, damals im Vertrieb von Klein Computer aus Rüsselsheim. Ja, liebe Kinder – damals haben noch mehrere Stücke Software auf eine einzige Diskette gepasst.

AppDock II beherbergt bei mir nicht nur die Anwendungen, die ich regelmäßig nutze, sondern auch die, die ich nur „booten“ will. Also Dinge wie !NewsDir, !GCC oder GhostScript. Man kann auch Verzeichnisse ins Dock packen, ein Doppelclick öffnet dann den Filer. Auch der Shift-Doppelclick auf Anwendungen funktioniert wie vom Filer gewohnt. Und es gibt eine Blätterfunktion, so dass man wirklich alle seine Anwendungen ins Dock integrieren kann – ein Feature, das bei erschreckend vielen Docks auf anderen Systemen fehlt.

AppDock II passt sich automatisch der verfügbaren Bildschirmhöhe an. Früher, zu Zeiten von RISC OS 3.1 oder des RiscPC in der Prä-ViewFinder-Ära, war das natürlich noch deutlich nützlicher – wer erinnert sich nicht an die Bildschirmmoduswechselorgien, um den richtigen Kompromiss aus Bildschirmgröße und Farbtiefe zu finden. Bei moderneren RISC OS-Systemen nutzt man im Allgemeinen das, was der Monitor an Auflösung hergibt und es reicht locker für TrueColour.

AppDock II bietet zusätzlich auch noch eine „ShortCut-Bar“ am oberen Bildschirmrand. Damit kann man Funktionen, der per Keyboard-ShortCut in Anwendungen verfügbar sind, per Mausclick auf der ShortCut-Bar ausführen. Die ShortCut-Bar stellt dabei immer die Funktionen dar der Anwendung, die gerade den Focus hat. Mit diesem Feature bin ich irgendwie nie warm geworden – bei häufig genutzten Anwendungen kenne ich die Keyboard-Shortcuts sowieso, bei selten genutzten navigiere ich übers Menü.

Es soll ja Leute geben, die das Pinboard als App-Launcher verwenden. Ist mir ein Rätsel, wie man damit arbeiten kann. Alles, was man braucht, ist doch ständig von irgendwelchen Fenstern verdeckt. Bei AppDock II drückt man einfach Alt+Shift+Ctrl, und schon kommt das Dock in den Vordergrund.

Erst Jahre später habe ich zum ersten Mal eine NeXTStation in Natura gesehen mit dem schicken großen NeXT-Graustufenmonitor. Und ich muss sagen, ich war vom NeXT-Application Dock etwas enttäuscht. Vermutlich alles eine Frage der Gewöhnung.

Auch auf anderen Betriebssystemen verwende ich äquivalente Anwendungsstarter – unter Windows aktuell RocketDock, in grauer Vorzeit unter Linux gerne die fvwm(2)- und AfterStep-Docks. Wie gesagt, unverzichtbar.

Wer sich über die merkwürdige Schreibweise von NeXTStep wundert – hier gibt es noch mehr Varianten zu bewundern. Dagegen erscheinen ja die Schreibweisen aus der Acorn-Welt wie RISC OS, RiscPC und IYONIX pc als Ausbund an Stabilität und Konsistenz.