
Since 2005.
I got myself an Anbernic RG35XX as a birthday present and I am quite happy with it. It’s a really nice little device and I have a lot of fun playing some old games I never got to in the past. Currently I‘m trying to extend my knowledge of the Zelda lore by playing Minish Cap.
But one thing did make me nervous: everything is based on SD cards. All system files, ROMs and save game files are on there and there is no connectivity to automatically transfer your files to another location.
But fortunately, the device has two SD card slots and when you are using the fantastic GarlicOS (for more information see this starter guide) you are able to inject your own shell scripts to the startup process. Neat!
So I wrote a one line script that copies all save games from one card to the other. Currently I‘m running it at every system start and it does not seem to have an impact on the startup time since it only should copy files that changed since the last time.
If you want to use my script, just create a file named backup-saves.sh
in CFW/autostart
on the ROMS
partition of your main SD card and add the following:
#/bin/sh
# If you are using a dual card setup with roms on the second card, use this line:
cp -r -u /mnt/SDCARD/Saves /mnt/mmc/SavesBackup
# If you have a single card setup and just want to use the second card as a backup, use this line:
cp -r -u /mnt/mmc/Saves /mnt/SDCARD/SavesBackup
May your save games be safe.
MediathekWebView habe ich letztens ja schonmal vorgestellt. Ein wunderbares Tool um Sachen aus der Mediathek zu finden. Wenn man allerdings mal mehrere Sachen auf einmal wegsichern will, ist es etwas aufwändig, bei jedem Suchergebnis auf einen Button zu drücken und den Link zu kopieren.
Da ich keine Funktion im Interface fand um direkt eine Liste von Download-Links zu exportieren, schrieb ich ein kurzes JavaScript, was man kurz in die Developer Tools kopieren kann:
Array.from(document.querySelectorAll('#mediathek tr')).map(el => {
const title = el.querySelectorAll('td')[2]?.innerHTML
const url = el.querySelector('td a[href$="mp4"]')?.getAttribute('href');
return {title, url}
})
.filter(({url}) => !!url)
.map(({title, url}) => `wget -O "${title}.mp4" "${url}"`)
.join("\n")
Das Ergebnis kann man kurz kopieren und ins Terminal pasten. Natürlich ist die Seite noch paginiert und es sind auch nur fünfzehn Ergebnisse pro Seite, je nach dem muss man den Code also mehrfach ausfüllen, aber auch für zehn Seiten dauert das ja nur Sekunden und schwupps kann man sich freuen über einige neue Gigabyte Datenmüll, die man sicher nicht nochmal anschaut, aber unbedingt gesichert haben wollte. Haben ist besser als brauchen, ne.
Mit dem tollen Game Porting Toolkit, das Apple zur WWDC als Beta-Version herausgebracht hat, stellen Leute ja die tollsten Sachen an, zum Beispiel Diablo IV spielen!
Ich konnte es mir natürlich nicht nehmen lassen, die Schritte auch mal durchzuklicken und sehr lange zu warten, denn der eine Prozess braucht wirklich ewig, weil anscheinend alles mögliche kompiliert wird. Allerdings wollte ich keine 70€ ausgeben um Diablo IV gegebenenfalls etwas buggy zu spielen -- ich wollte mal schauen, ob es auch mit anderen Sachen funktioniert.
Natürlich probierte ich erstmal Anno 1800, denn was will man sonst spielen. Leider muss ich sagen, dass es nicht funktioniert. Also der Ubisoft Launcher startet nicht mal. Schade. Er hat auch keine besonders guten Compatibility Ratings auf der Wine-Webseite. Was hatte ich auch erwartet!
Naja. Selbst, wenn ich den Ubikack installiert bekommen hätte, wäre es sicher nicht gegangen, weil Apple ja, soweit ich es verstanden habe, einen Direct X 12-Wrapper gebaut hat und Anno 1800 ist sicher so alt, dass es noch Direct X 10 oder so benutzt? Aber was weiß ich davon schon. Nichts, einfach gar nichts. Also bleibt mir nur eins: Abwarten und weiter Zelda spielen, das wird mich eh noch Monate beschäftigen.