Endianness bei ROMs korrigieren

Einige ROMs wie z.B. vom Nintendo 64 sind als Big Endian gespeichert. Je nach Dump, kann es aber vorkommen das diese im Little Endian-Format gesichert wurde. Bei Big Endian wird das höchstwertige Byte zuerst gespeichert, während Little Endian mit dem niedrigstwertigen Byte beginnt. Soll die Bit-Reihenfolge umgedreht werden, so kann hierfür das Werkzeug uCON64 genutzt werden. Nach der Installation mittels Homebrew:

brew install ucon64

kann das Tool genutzt werden. Es kann dabei mit einer Vielzahl an ROM-Formaten umgehen. Mit diesem Skript können die Dateien in ihre Big Endian-Form konvertiert werden:

#!/bin/sh
find . -type f \( -iname "*.n64" -o -iname "*.v64" -o -iname "*.z64" \) -print0 |
while IFS= read -r -d '' f; do
  if ucon64 "$f" | grep -q "Interleaved/Swapped: Yes"; then
    ucon64 --nbak --swap "$f"
  fi
done

Auf diese Weise wird sichergestellt, dass alle ROMs im einheitlichen und historisch korrekteren Format vorliegen.

Probleme mit der Datenbank unter Forgejo

Nach der Erstellung eines Pull Requests unter Forgejo ergab sich ein Datenbank-Fehler bzw. ein 500er-Reponse mit folgender Meldung:

GetIssuesByIDs, converting driver.Value type time.Time to a int64: unsupported value time.Time as int64

Ein Grund für das Problem könnte die Migrationen von Gogs zu Gitea zu Forgejo im Laufe der Jahre darstellen. Gelöst werden konnte das Problem durch eine Neuerstellung der Tabellen:

./forgejo doctor recreate-table --config custom/conf/app.ini

Anschließend funktionierte die Forgejo-Installation wieder ohne Probleme.

Teststream für Twitch unter OBS aktivieren

Wer ein Streaming-Setup für OBS eingerichtet hat, der möchte dieses unter Umständen auch testen, ohne einen echten Stream zu starten. Für Twitch bietet sich hier der Bandbreitentestmodus an. Dieser sorgt dafür, dass der Stream zu Twitch übertragen wird, dort aber nicht in einer Liveübertragung mündet.

Die Stream-Einstellungen von OBS.

Unter OBS kann dieser über die Einstellungen aktiviert werden. Dort findet sich unter dem Punkt Stream in den erweiterten Optionen die Einstellung Bandbreitentestmodus aktivieren. Vor jeder Aktivierung erscheint beim Start des Streams eine Meldung die jeweils darüber informiert, dass der Bandbreitentestmodus aktiv ist und keine echte Liveübertragung stattfindet.

Simple Web Server

Ab und an kann es vorkommen, dass ein Webserver auf dem eigenen Rechner benötigt wird. Natürlich existieren hierfür auch Lösungen für das Terminal, aber wenn eine grafische Oberfläche gewünscht ist, muss auf andere Werkzeuge ausgewichen werden. Eines dieser Werkzeuge ist der Simple Web Server.

Simple Web Server unter macOS

Über diesen kann unter macOS und Windows einfach ein Webserver konfiguriert und bei Bedarf ausgeführt werden. Die eingerichteten Server werden hierbei persistiert, sodass sie auch zu einem späteren Zeitpunkt wieder genutzt werden können. Zu finden ist die Applikation auf der offiziellen Webseite. Das Projekt ist freie Software, lizenziert unter der MIT-Lizenz. Der Quelltext ist auf GitHub zu finden.

Passwort für Batocera im Terminal setzen

Die Retro-Gaming-Distribution Batocera ist nicht auf Sicherheit getrimmt. So wird der Account root, standardmäßig mit dem Passwort linux ausgeliefert. Wer sich per SSH mit einer Batocera-Installation verbindet, wird feststellen das eine Änderung über passwd nicht möglich ist:

[root@BATOCERA ~]# passwd
-bash: passwd: Kommando nicht gefunden.

Stattdessen muss hier anders vorgegangen werden. Im ersten Schritt muss die Option Enforce Security aktiviert werden. Dazu muss die entsprechende Konfigurationsdatei bearbeitet werden:

nano /userdata/system/batocera.conf

Dort muss der Security-Block aktiviert werden:

## Security
## Enable this to enforce security, requiring a password to access the network share.
system.security.enabled=1

Anschließend kann das Passwort gesetzt werden:

batocera-config setRootPassword secret123

Auch hier fällt wieder auf, dass die Sicherheitseinstellungen der Distribution zu wünschen übrig lassen:

*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

Das neu gesetzte Passwort gilt immer nur nach einem Neustart, sodass dieser ebenfalls durchgeführt werden muss:

reboot

Anschließend kann sich mit dem neuen Passwort, z. B. per SSH, verbunden werden. Das Passwort kann daneben in den Systemeinstellungen der Batocera-Oberfläche unter Sicherheit eingesehen werden.