Commodore 128 – 80 column colour mode

#7949853
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.

Angehängte Dateien:
(Firma: 1984now) #7949866
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.

#7949868
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. ☺

(Firma: LAPD) #7950073
Lesenswert?

Sollte halt billig sein und billig bleiben, die Kinder hat das wenig interessiert was unter der Haube für ein Gemurkse angestellt wurde. Die Entwickler haben halt das letzte rausgeholt aus der Kiste, da muss man dann mit solchem Gemurkse arbeiten, alles kostenoptimiert. Ne bunte Schachtel dazu viele Spiel, viel Werbung in den Homecomputermagazinen, … Das Ding sollte Profit bringen.

Den paar Kindern die auch mal mit der Kiste programmierten verkaufte man das Gemurkse auch noch als geniale Lösungen, die kannten ja nix anderes, für die war das normal und kamen sich ganz wichtig vor wenn sie sich in endlosen Frickelsessions darin eingearbeitet hatten und das Gemurkse in und auswendig kannten oder den nächsten "geheimen" Frickeltrick auf dem Schulhof präsentieren konnten.

Schmeiss das Ding in die Tonne, beim nächsten nostalgischen Anfall gehts du in den Keller und putzt die Kellerschächte, ist sinnvoller und hast mehr davon.

#7950078
Lesenswert?

Tja, da kann ich kaum zustimmen. Für die damalige Zeit waren all die verschiedenen Heimcomputer – im Rahmen der für Familien tragbaren Kosten – wirklich gut gemacht. Man sollte nicht den Fehler machen, dass was damals gebaut wurde mit dem Wissen von heute zu vergleichen.

Vor den Heimcomputern gab es SC/MP, KIM-1 und ähnliche, nur für eine sehr kleine Gruppe gemachter Computer.

Dieser spezielle Chip, der 8563 Video Controller, ist allerdings einer von wenigen, bei dem man sich besonders viel Mühe gegeben hat es möglichst schlecht zu machen. Oder jemanden zu Beauftragen der es möglichst schlecht macht, was ja auch gelungen ist.

Frank D. schrieb:

Schmeiss das Ding in die Tonne, beim nächsten nostalgischen Anfall gehts du in den Keller und putzt die Kellerschächte, ist sinnvoller und hast mehr davon.

Unsinn, keines Kommentars würdig.

#7950429
Lesenswert?

Thomas S. schrieb:

Genau so. Ich halte meinen TI99/4A mit Extended Basic auch in Ehren. Die Bootzeit ist verglichen mit den heutigen Rechnern unschlagbar :-)

In der Kategorie "Von hinten durchs Auge in die Brust", setzt der TI99 aber auch Massstäbe. Details sind mir glücklicherweise entfallen. Nicht das Mann es womöglich genauso macht. ☺

Den Z80 bekam der C128 spendiert, weil der so /kompatible/ C64-Modus mit dem C64 CP/M-Cartridge nicht zurechtkam. Bei allen IO-Zugriffen die der Z80 nicht kennt, ist er auf die Hilfe der 6502* CPU angewiesen, und so stellen sie sich gegenseitig ein Bein. ☺

*) Gemeint ist das jeweilige Derivat.

#7950872
Lesenswert?

Ob S. schrieb:

Commodore wurde erst interessant, als dort die ehemaligen Atari-Entwickler den Amiga geschaffen haben.

https://de.wikipedia.org/wiki/Ghosts_’n_Goblins

Da hatten die Entwickler von Capcom ganze Arbeit geleistet - aber nicht nur da. (dass die aktuelle KI keine Verwandtschaften zwischen Skyrim und Breath of Fire findet, halte ich doch für etwas nachlässig)

Meine Schwester hatte sich damals gleich einen c128 gekrallt und sie und ihre Arbeitskollegin hatten mich mit in einen BASIC-Kurs an der VHS geschleppt. Pascal wurde da auch noch angeboten. Happy Programming-World on the go damals also schon ;) (etwas später kamen dann noch die C16 - auch mit einem gar nicht so schlechten BASIC-Einstiegskurs auf Cassette.)

#7951175
Lesenswert?

Ich habe so einen C128D auch noch irgendwo rumliegen. Ich war damals auch zuerst mal vom 80-Zeichen Modus etwas enttäuscht, aber ich denke, man muss das Design im Kontext der Zeit sehen. Für memory mapping der 16k war im 64k Adressraum kein Platz, und für die professionellen Anwendungen, für die der 80-Zeichen Modus gedacht war, ist der umständliche und langsame SPeicherzugriff kein echtes Problem. Im C64-wiki steht, dass für eine Erweiterung des VIC keine Kompetenzen mehr im Haus vorhanden waren, daher die Lösung mit zwei Chips. Der 6502 hat ja auch nur ein sehr rudimentäres Interruptsystem, daher wohl das polling. Ich denke, viel mehr war nicht drin.

#7951211
Lesenswert?

Tim schrieb:

für memory mapping der 16k war im 64k Adressraum kein Platz,

Der C128 besitzt doch schon Vorkehrungen für ›memory mapping‹ Wäre es nicht so, dann hieße er bestenfalls C64. 😎

Es hätte aber zumindest schon etwas geholfen, wenn man die 37 VDC Register direkt in den Adressraum gemappt hätte. Denn bei 16 Banks à 64KiB hätte man sich da nicht wirklich strecken müssen.

Tim schrieb:

Der 6502 hat ja auch nur ein sehr rudimentäres Interruptsystem, daher wohl das polling.

Richtig. Und bei Einzelbyte Operationen geht das auch noch. Aber wehe man nutzt die Block-Operationen. Da kann man nur ›Fire and forget‹ machen, etwas anderes parallel rechnen und dann rechtzeitig auf Fertigstellung pollen. Elegant ist anders, aber so isses nun mal. ;-)

#8023716
Lesenswert?

Cartman E. schrieb:

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. ☺

Zwei Monitore hatte ja eh keiner, so daß auch niemand rausgefunden hat, ob die tatsächlich gleichzeitig hätten angesteuert werden können. Für die schnellen Rechnungen extra bei der Floppies anfragen (beim C128 System dank gefixtem Shiftregister-Problem möglicherweise gar nicht sooo abwegig) scheiterte ja oft sowieso an deren begrenztem RAM-Angebot.

Aber schon der VIC markierte irgendwie eine Grenze zum "Fotorealismus".

Angehängte Dateien:
#8023741
Lesenswert?

Jan B. schrieb:

Aber schon der VIC markierte irgendwie eine Grenze zum "Fotorealismus".

Verdammt, das lenkt jetzt aber vom Thema ab. Hab jetzt aber diese voll tolle Diashow-Disk (damals zum Testen eines Bild-Konvertier-Algos) und mit selbst entwickeltem "Schnelllader" wiedergefunden... Unschöne Bildeffekte liegen bestimmt nur an der Qualität des Ausgangsmaterials.

https://jan.abnuto.de/foto/c64/diashow.d64

#8023807
Lesenswert?

Norbert schrieb:

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.

Zu dem Thema gib es vom Chefentwickler des C128 Bil Herd einige Anekdoten in seinen Videos. Er hat die Pappnase, die den IC verbrochen hat ziemlich gehaßt. So doof kann man nicht sein! Aber wenn man seine Geschichten und auch die anderer Leute aus der Zeit hört, wunder mich das nicht. Commodore und auch andere Firmen müssen ziemlich hippimäßig unterwegs gewesen sein. Sehr wild, innovativ, aber oft auch chaotisch und richtig schön ins Knie geschossen.

#8024085
Lesenswert?

Jan B. schrieb:

Verdammt, das lenkt jetzt aber vom Thema ab. Hab jetzt aber diese voll tolle Diashow-Disk (damals zum Testen eines Bild-Konvertier-Algos) und mit selbst entwickeltem "Schnelllader" wiedergefunden... Unschöne Bildeffekte liegen bestimmt nur an der Qualität des Ausgangsmaterials.

https://jan.abnuto.de/foto/c64/diashow.d64

Naja, das sind mehr Schatten als Bilder. Das geht auch auf dem C64 deutlich besser.

#8024150
Lesenswert?

Rick schrieb:

Jan B. schrieb:

https://jan.abnuto.de/foto/c64/diashow.d64

Was muß man im Emulator machen, damit man sich das anschauen kann? Ein

1
> LOAD "$",8
2
> LIST
3
> LOAD"AUTO",8,1
4
>

bleibt einfach hängen...

P.S.: Habe es hiermit probiert: https://ty64.krissz.hu/

Mit der emulierten 1571 des VICE x128 ging es im 2. Versuch. ☺ Beim ersten schmierte wohl die Floppy ab.

Es gibt aber keine T1tt3n zu sehen.

(Firma: matzetronics) #8028143
Lesenswert?

Cartman E. schrieb:

In der Kategorie "Von hinten durchs Auge in die Brust", setzt der TI99 aber auch Massstäbe. Details sind mir glücklicherweise entfallen.

Das war die absolut dümmste Konstruktion, die in einem Heimcomputer jemals verwirklich wurde. Ich glaube, Wolfgang Robel hat das Dings mal seziert. Es ist schier unglaublich, welcher Unsinn da verbaut wurde, um eine eigentlich gar nicht so schlechte 16-Bit CPU soweit auszubremsen, wie es nur ging. Ich ärgere mich immer noch über die Zeit, die ich damals mit dem Ding verschwendet habe. Und ich hatte den ganzen Unsinn mit Expansion Box und Disk-LW. Glücklicherweise habe ich damals noch einen Dummen gefunden, ders mir abgekauft hat. Was die Konstrukteure damals in ihren Tee geschüttet hatten, möchte ich gerne mal wissen. Immerhin ist Texas nicht weit weg von den Drogenbaronen :-)

Video von Wolfgang gibts hier: https://www.youtube.com/watch?v=IGVShRSxEpk

: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren