Forum: PC-Programmierung Commodore 128 – 80 column colour mode


von Norbert (der_norbert)


Angehängte Dateien:

Lesenswert?

Im Falles des 8563 Video Controllers, seinerzeit eingesetzt im C128, 
zeigt sich einmal mehr, zu welch' schlimmen mentalen Verwüstungen der 
unkontrollierte Konsum Bewusstseins-verändernder Drogen während des 
Designprozesses führen kann.

Der 8563 besaß 16KiB (konnte bis zu 64KiB) eigenständiges, von außen 
nicht adressierbares RAM, welches indirekt über einen Satz von 37 
Registern angesteuert wurden.

Aber bei dieser ersten Indirektion beließ man es natürlich nicht. In 
typischer ›Hold my beer‹ Manier kam man auf die verwegene Idee, diese 37 
Register lieber noch durch eine zweite Indirektionsebene zu schleusen.

Und so findet man 2 (zwei!) direkt adressierbare Register, durch den der 
Prozessor das gesamte Geraffel steuert.

Nach Einnahme mehrerer Blättchen Löschpapiers besann man sich zudem auf 
eine in seiner Cleverness schon richtungweisende Arbeitsweise.

Man muss in kontinuierlich pollender Weise die Fertigmeldungen jeder 
Registermanipulation des Video Controllers abfragen. Schließlich wären 
Interrupts ja doch nur Teufelszeug.

Aber schließlich zählt nur das Ergebnis.
* Es sollte umständlich sein. CHECK
* Es sollte langsam sein. CHECK
* Es sollte RGB (Richtig Geil Bunt) können. CHECK

Angehängt ein kleines Stück Assembler-Code (schlechtes Wetter und 
Langeweile) zur Demonstration. Teile hätte man evtl. auch in BASIC 
schreiben können, aber wie aus gewöhnlich gut unterrichteten Quellen zu 
hören war, wird sich unsere Sonne in geschätzten fünf Milliarden Jahren 
zu einem roten Riesen aufblähen. Also bleibt für BASIC nicht genug Zeit.
1
$ make clean && make
2
rm -f *.o *.hex *.prg
3
ca65 -t none -o col80.o col80.s
4
ld65 -t none -o col80.prg col80.o
5
-rw------- 1 norbert norbert 113 11. Okt 15:26 col80.prg
6
rm col80.o
7
$

Das ›col80.prg‹ habe ich mal zur Bequemlichkeit (für die ›nicht selber 
Bauer‹) mit angehängt.
Kann man in ›vice‹ mit Alt-A … select col80.prg … Autostart testen.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Norbert schrieb:

> Der 8563 besaß 16KiB (konnte bis zu 64KiB) eigenständiges, von außen
> nicht adressierbares RAM, welches indirekt über einen Satz von 37
> Registern angesteuert wurden.
>
> Aber bei dieser ersten Indirektion beließ man es natürlich nicht. In
> typischer ›Hold my beer‹ Manier kam man auf die verwegene Idee, diese 37
> Register lieber noch durch eine zweite Indirektionsebene zu schleusen.
>
> Und so findet man 2 (zwei!) direkt adressierbare Register, durch den der
> Prozessor das gesamte Geraffel steuert.
[...]

Also, so vor 35 Jahren hätte mich das vielleicht interessieren können. 
Aber heute nicht mehr. Und auch vor 35 Jahren wäre es mehr 
interessehalber gewesen, da war Atari für mich relevant. Commodore wurde 
erst interessant, als dort die ehemaligen Atari-Entwickler den Amiga 
geschaffen haben.

Übrigens ein schönes Beispiel dafür, das Firmen und deren Manager 
austauschbar und irrelevant sind. Wirklich relevant sind die Leute, die 
die Produkte entwickeln.

von Cartman E. (cartmaneric)


Lesenswert?

Ich habe doch neulich tatsächlich daran gedacht, den C128D
wieder mal einzuschalten. Um nicht zu sehr überrascht zu werden,
habe ich, glücklicherweise!, erst einmal den VICE C128 Emulator
bemüht. Und zum Spass von einer emulierten 1541 Disk CP/M gebootet.
Als mir dann die ersten Bildschirmbuchstaben förmlich einzeln
entgegentropften, habe ich den richtigen C128D weiter in Ruhe
gelassen.
Beim CP/M haben andere schon herausgefunden, dass die Software
im Default-Fall immer die längstmögliche Codesequenz bemüht.
Da kommt es dann auf die paar Indirekt-Zugriffe kaum noch an.

Immerhin kann man im 80 Zeichen-Modus die CPU auf FAST schalten.
Da ist der 6502-Abkömmling dann doppelt so schnell, weil ihm die
Grafik nicht in die Quere kommt. ☺

von Björn W. (bwieck)


Lesenswert?

Hier kennen sich ein paar Leute mit dem VDC aus:
https://www.youtube.com/watch?v=R8bEgX6n-QM

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.