|
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).
|
Was kam hinzu?
Nun, alles was innerhalb von Listings statt eines Doppelkreuzes
("#") ein Paragraph-Zeichen ("§")
verwendet.
Ein Satzfehler. CF-Freunde
kennen das.
Im einzelnen:
sbc $c004 = subtrahieren
eor #$ff = Bits umdrehen
sta $c003 = zwischenspeichern
wäre es besser gewesen uns zu erklären warum
dies geschieht.
Einen Maustreiber-Source findet der Interessierte auch
auf der Test/Demo-Disk der 1351.
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