Kommentierte ROMs des C64er

Der Commodore 64 verfügte über ein ROM, in welchem das BASIC und der KERNAL gespeichert wurden. Michael Steil digitalisierte das komplette dokumentierte ROM des C64er aus dem Buch Das neue Commodore-64-intern-Buch und stellt sie neben einigen anderen in einem Git-Repository auf GitHub zur Verfügung.

Das kommentierte ROM in der HTML Version

Das kommentierte ROM in der HTML Version

Neben der Version aus dem Git-Repository gibt es das ganze auch als HTML-Seite auf pagetable.com. Dort sind die deutsche Version und auch der originale Quelltext von Microsoft, sowie englische ROM-Kommentare zu finden.

Geforktes Git-Repository vom Original aktualisieren

Auf Plattformen wie GitHub ist es ganz einfach bestehende Projekte zu forken, sie bei sich weiterzuentwickeln und die Änderungen an das Original-Projekt zurückzugeben. Ein klein wenig komplizierter ist es das geforkte Git-Repository wieder vom Original aus zu aktualisieren. Im ersten Schritt muss dabei im geforkten Repository ein Upstream definiert werden. Dies geschieht im Terminal mit dem Befehl (in diesem Falle auf GitHub bezogen):

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

Mittels des Befehls git remote -v kann anschließend überprüft werden ob der Eintrag vorgenommen wurde. Nun können die Änderungen vom Remote upstream in das lokale Git-Repository mittels:

git pull upstream master

übernommen werden. Anschließend kann man das ganze noch mittels git push auf den entfernten Server übertragen.

Skript für schlechte Netzwerkverbindungen

Der Titel dieses Artikels, könnte den Leser glauben lassen, das es in diesem Artikel um ein Skript geht, welches irgendwelche Vorteile bei schlechten Netzwerkverbindungen bringt. Allerdings ist das Gegenteil der Fall. Bei dem in Go geschriebenen Tool mit dem Namen Comcast handelt es sich um ein Skript zur Simulation eines schlechten Netzwerkes.

Comcast auf GitHub

Comcast auf GitHub

Comcast soll dabei helfen Anwendungen zu testen, welche Netzwerkfunktionalitäten nutzen. So kann man überprüfen das die Anwendungen auch unter schlechten Bedingungen funktionieren (und falls dies nicht der Fall ist nacharbeiten). Das Skript läuft unter Linux, Mac OS X sowie BSD-Systemen. Der Quelltext der unter der Apache-Lizenz stehenden Software ist auf GitHub zu finden.

Freie Minecraft-Alternative

Microsoft kauft Mojang und damit Minecraft. Wenn man sich andere Akquisitionen von Microsoft im Spielebereich anschaut, bekommt man bei dieser Vorstellung ein mulmiges Gefühl. Entweder Sie fahren das Spiel gegen die Wand, oder es läuft demnächst nur noch auf Microsoft-Betriebssystemen. Natürlich kann auch alles funktionierten und unsere Befürchtungen erweisen sich als gegenstandslos. Allerdings zeigt der Aufkauf von Mojang eine Abhängigkeit auf. So haben viele Menschen riesige Bauwerke geschaffen, welche unter Umständen bald nicht mehr verfügbar sind. Minecraft ist nicht nur ein Spiel, es ist ein Kreativbetriebssystem. In einem solchem Fall spielt freie Software ihre Vorteile aus. Bei einer solchen Software, kann man das ganze einfach forken und in seinem Sinne weiterentwickeln. Bei proprietärer Software wird dies schwierig.

Eine von vielen Minecraft-Welten

Eine von vielen Minecraft-Welten

Mit Minetest gibt es einen durch Minecraft inspirierten Clone, welcher für Mac OS X, Linux und Windows verfügbar ist. Das Spiel ist im Gegensatz zur aktuellen Minecraft-Version etwas rudimentär, was Dinge wie verfügbare Blöcke und ähnliches angeht. Allerdings relativiert sich das ganze wenn man sich die API-Schnittstelle anschaut. Mit Hilfe der API, kann man alle möglichen Erweiterungen wie Loren, TNT, Mobs oder Pyramiden ins Spiel holen. Die maximale Weltgröße ist auf −30912 zu 30927 in allen Dimensionen (auch Z) beschränkt. Etwas seltsam erscheint mir allerdings die Speicherung der Map in einer SQLite-Datenbank – dort muss sich zeigen ob dies bei großen Welten wirklich performant ist. Auch für Server-Backups ist dieses Verfahren nicht wirklich gut geeignet. Minetest ist in C++ entwickelt, was sich positiv auf die allgemeine Performance auswirkt, so das es auch auf schwächeren Rechnern genutzt werden kann – so gibt es schon Versuche das ganze auch auf dem Raspberry Pi zum laufen zu bringen.

Minetest in Aktion

Minetest in Aktion

Die Entwicklung von Minetest sieht dabei vielversprechend aus, so das man in Zukunft viele Verbesserungen und neue Features erwarten darf. Neben dem Client ist auch ein Server für den Mehrspieler-Betrieb verfügbar. Der unter der LGPL lizenzierte Quellcode kann über GitHub bezogen werden. Die offizielle Seite von Minetest ist unter minetest.net zu finden.

Git Interaktiv

Wer in das Versionskontrollsystem Git einsteigen möchte, aber keine Lust hat ein Tutorial nach dem anderen durchzuprobieren, sollte es mal mit try.github.io versuchen. Dabei handelt es sich um ein von GitHub zur Verfügung gestelltes interaktives Tutorial in 25 Schritten.

try.github.io

try.github.io

Dabei wird man Stück für Stück in die Git Befehle eingeführt und kann das live am angezeigten Octobox Repository ausprobieren. Das ganze Tutorial sollte dabei in etwa 15 – 30 Minuten in Anspruch nehmen.