Ich wollte hier mal einstreuen, das mir brauchbare Programmierumgebungen für den C64 fehlen
Leider paßt das von Dir genannte Beispiel nur gar nicht zu den 8 Bit-Rechnern und mag daher auch ein Grund sein, warum es die von Dir gewünschte Basisbibliothek nicht gibt. Erlaube mir, das Beispiel aufzugreifen, um anhand dessen stellvertretend die Gründe zu erläutern.
Die Bestimmung der Farbe erfolgt beim C64 doppelt indirekt: zunächst über das Bitmuster als Index in die Farben des Farbrams, dann über das Farbram in die eigentliche Palette des C64. Um eine Farbe zu setzen, müßte man also mindestens zusätzlich angeben, mit welchem Bitmuster diese Farbe gemalt werden soll. Das führt aber höchstwahrscheinlich schnell zu einem Chaos, denn dazu gehört, daß man als Programmierer genau mitverfolgen muß, in welcher Kachel jetzt welche Farbe mit welchem Bitmuster gemalt wurde, zumindest sofern man mehr als vier Farben anzeigen möchte.
Beim C64 hat man zusätzlich eine Hintergrundfarbe für die gesamte Bitmap, die man irgendwie gesondert setzen muß. Beim C16 sind es sogar zwei, und beim VC20 gar drei. Um die dadurch entstehende Begrenzung in der Farbauswahl zu umgehen, ist es eine übliche Praxis, mehr Farben über Rasterinterrupts zu erzeugen. Doch woher soll die Bibliothek wissen, an welcher Zeile der Farbwechsel stattfindet?
Was den AppleII als weitere 8 Bit-Plattform anbelangt, scheitert das RGB-Modell schon daran, daß der AppleII zwei Arten von Schwarz und Weiß kennt. Malt man mit dem falschen Schwarz eine Linie über einen grünen Untergrund, verfärbt sich dieser links und rechts der Linie orange usw. Hier muß man die Farben also anders auswählen, doch nicht über Bitmuster, denn die ändern sich je nach gerader oder ungerader Spalte, sondern allein über abstrakte Farbnummern. Hinzukommt, daß beim AppleII Farben gerne gedithert werden, z. B. eine Mischung aus Blau und Weiß ergibt Hellblau. Aber wie diese Mischung genau aussehen soll, ist eine Kunst für sich, da es hierfür zig Möglichkeiten gibt. Eine einfache Umrechnung von RGB auf Mischung kann da nicht gelingen.
Lange Rede, kurzer Sinn: Die Hardwareeigenschaften der verschiedenen 8 Bit-Rechner sind viel zu verschieden, als daß man sie alle über einen Kamm scheren könnte. Selbst auf einer Plattform gibt es schon Probleme, wenn diese mehrere verschiedene Anzeigemodi vorsieht wie z. B. HiRes und Multicolour. In der Praxis benötigen Programme jeweils maßgeschneiderte individuelle Lösungen. So habe ich z. B. im Laufe der Zeit viele verschiedene Linienroutinen geschrieben in Abhängigkeit von HiRes/Multicolour, Größe der Malfläche, Bitmap/Zeichensatz, Geschwindigkeit vs. Kompaktheit usw. 8 Bit-Rechner sind nun einmal keine PCs, und sie lassen sich daher auch nicht wie PCs programmieren.