Die C64 Intern-Lüge
oder
Was schwarz auf weiß geschrieben steht...
Einige undankbare Worte von Willcox

Jahrelang, liebe Freunde, verbrachte ich mein C64-Leben mit der fünften "überarbeiteten und erweiterten" Auflage des Data Becker Buches C64 Intern, das mit Sicherheit prominenteste Druckwerk für unseren Brotkasten und von vielen "Die Bibel des C64" genannt. Meine Version stammt aus dem Jahre 1986, also aus einer recht frühen Ära der C64-Geschichte. Ihr wißt schon, damals, als die Packung Disketten noch 20 Mark kostete und Demos aus einem Scrolltext bestanden.

Ja, und eins merkte ich schnell:

Blindes Vertrauen darf ich diesem Buch keinesfalls entgegenbringen.

Viele kaum zu findende Fehler aus meiner naiven Anfangsphase lagen daran, daß "ich halt alles so machte wie es im Buch stand".

Eine Katastrophe.

Nun wußte ich, daß das Leben voranschritt, und neue Auflagen folgten. Die letzte nannte sich

Das neue Commodore 64 Intern-Buch

und hatte einen blauen Schwabbel-Umschlag. Es kam 1990 auf die Welt, kurz bevor Data Becker sich aus dem Nicht-PC Geschäft zurückzog.
Ich besitze es nun.

Die fünfte Auflage hatte einen Umfang von 628 Seiten + Werbung.
Der Umfang des neuen Buches beträgt 836 Seiten (+Werbung).

C64 Intern 2.Auflage C64 Intern 5.Auflage C64 Intern letzte Auflage
2. Auflage
5. Auflage
letzte Auflage

Was kam hinzu?

Nun, alles was innerhalb von Listings statt eines Doppelkreuzes ("#") ein Paragraph-Zeichen ("§") verwendet.
Ein Satzfehler. CF-Freunde kennen das.

Im einzelnen:

Was fehlt im neuen C64-Intern?

Welche Fehler bestehen nicht mehr?

Welche Fehler sind in allen Auflagen gleich?

Ort des Auftretens Falsch Richtig Kommentar
Fließkommaarythmetik Tabelle 3
$b1aa y/a=int(fac) (mit Vorzeichen)
$b1aa a/y=int(fac) (mit Vorzeichen)
 
Portbelegung / Audio-Video Buchse:
   
Ist immer noch fünfpolig, wie weiland beim VC20
Die CIAs 6526. Listing, das zwei Zeichen zu einem Byte verbindet
c020 sbc #$08
c020 sbc #$07
 
Die CIAS 6526. Tastaturabfrage
... Code in der Adresse $cb und eine Kopie davon in der Adresse $cb abgelegt.
...Code in der Adresse $cb und der Code der Taste der letzten Abfrage in Adresse $c5 abgelegt.
 
Die CIAS 6526. Adressierung
10 open 1,8,15
20 print#1,"i"
es soll einfach das Zeichen a auf einem Drucker mit der Geräteadresse 8 ausgegeben werden.
 
Kein Kommentar!
ROM-Listing. Zeropage
 
$70 112 fac-Rundungsbyte
Diese Adresse fehlt!
ROM-Listing. Zeropage
$7c-8a unbenutzt
$7c-8a Teil der chrget-Routine
 
ROM-Listing. Zeropage
$d4 212 Flag für Hochkommamodus
Falls in dieser Speicherzelle eine Null steht, dann befindet sich der Computer im Hochkommamodus. Andere Werte bewirken den Normalmodus.
 
Es ist genau umgekehrt!
ROM-Listing. Zeropage
$310 783 Status-Register für sys-Befehl
$30f 783 Status-Register für sys-Befehl
 
ROM-Listing. Zeropage
$032b-032c $f32f clall-Vektor
$032c-032d $f32f clall-Vektor
 
Schaubilder Speicherkonfiguration (letzte Seite vor dem ROM-Listing):
Bild unten rechts (auch Ultimax-Konfiguration genannt)
lr=x hr=x
ga=0 ex=0
lr=x hr=x
ga=0 ex=1
Die Null widerspräche auch den zwei Vorgänger-Bildern, bei denen Game und Exrom auch auf Null sind, LR und HR jedoch eine Bedeutung haben.
Die 28K RAM sind in Wirklichkeit nicht vorhandener Speicher. Probiert´s aus (oder lest nach in C=Hacking #7).

Ein weiterer Fehler ist in der Pinbelegung des Soundchips (Kapitel SID). Näheres dazu auf der vorletzten Seite jedes Mumpitz-Magazins
(c/o H.C. Tuchen, Lotzestr. 10, 12205 Berlin).

Welche Fehler sind neu hinzugekommen?

Die letzten beiden Fehler wurden gefunden von Stefan Pohlmann (Pohli).

So, liebe Freunde. Das waren eine ganze Menge Fehler, nicht? Und warum schreibe ich das alles?
Zum einen macht es Spaß, Götter vom Thron zu stoßen, zum anderen will ich euch leidvolle eigene Erfahrungen ersparen.

Ich bin mir auch sicher, daß das nicht alle Fehler waren. Aber es sind die, die ich mir im Laufe der Jahre markierte, bzw. die mir noch in Erinnerung geblieben sind.

Per aspera ad astra!

Willcox