64 intern

Aus C64-Wiki
Zur Navigation springenZur Suche springen


64 intern
Cover/Buchdeckel der 7. Auflage
Sprache deutsch
Autor(en) Rolf Brückmann, Lothar Englisch, Jaques Felt, Ralf Gelfand, Klaus Gerits, Drako Krsnik
Verlag Data Becker
Jahr 1983
ISBN ISBN 3-89011-000-2
Neupreis DM 69.-
Datenträger Icon disk525 1.png (7. Auflage)
Seitenzahl 324 - 3.Auflage
352 - 4.Auflage 1984
628 - 5.Auflage 1986
648 - 7.Auflage 1988
letzte Auflage 7., veränderte Auflage 1988
Genre Programmieren / Hardware
Information Nachfolgebuch: Das neue Commodore 64 Intern Buch‎‎ (1990)




Buchrückseite (ab 4. Auflage)[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN:
In der überarbeiteten Neuauflage liefert die Bibel des C64-Programmierers eine Fülle von neuen Kniffen, Facts und Details. Selbst der erfahrene C64-Anwender erhält wertvolle Anregungen und Informationen zum Innenleben seines Computer. Professioneller C64-Einsatz - mit diesem Buch ein Kinderspiel! Aus dem Inhalt:

UND GESCHRIEBEN HABEN DIESES BUCH:
Ralf Gerland, Darko Krsnik und Jaques Felt sind Hardware-, Grafik- und Assemblerspezialisten und haben für die komplette Überarbeitung gesorgt. Das DATA BECKER Entwicklungsteam Rolf Brückmann, Klaus Gerits und Lothar Englisch, die ihr Know-how zum C64 schon in vielen Standardwerken unter Beweis gestellt haben, standen mit Rat und Tat zur Seite.

Inhaltsverzeichnis (7. Auflage)[Bearbeiten | Quelltext bearbeiten]

1. Der BASIC-Interpreter .................................... 11
l.1 Hex-,Binär- und Dezimalsystem ........................... 11
1.2 Logische Verknüpfungen .................................. 14
1.3 Der Aufbau einer BASIC-Zeile ............................ 18
1.4 Ablage von Variablen .................................... 22
1.5 Wie erweitert man BASIC'? ............................... 24
1.6 Übergabe von BASIC-Parametern über USR .................. 30
1.7 Sprungvektoren und Autostart ............................ 39
1.8 Die Adressen der BASIC-Routinen ......................... 45
1.9 Fließkommaarithmetik .................................... 50
1.1.0 Der Virus-Killer ...................................... 59
1.1.1 Der BASIC-Kompaktor ................................... 61

2. Der Aufstieg zum Assembler ............................... 73
2.1 Der Maschinensprachemonitor ............................. 73
2.2 Einführung in Assembler ................................. 80
2.3 Die Assemblerbefehle .................................... 86
2.4 Die Illegal-Codes ....................................... 95
2.5 Die Monitorbefehle ...................................... 100

3. Die Grafik und ihre Programmierung ....................... 103
3.1 Der Video Interface Chip (VIC) .......................... 103 
3.2 Das Video-RAM ........................................... 104
3.3 Der Zeichengenerator .................................... 107
3.4 Das Farb-RAM ............................................ 110
3.5 Extended Background Color Mode .......................... 112
3.6 Der Multicolormodus ..... . ............................. 113
3.7 Sprites und ihre Programmierung ......................... 116
3.8 Der Grafikbildschirm .................................... 123
3.9 Der Multicolorgrafikbildschirm .......................... 126
3.10 Wie wende ich das Grafikhilfsprogramm an? .............. 135
3.11 Interruptprogrammierung ................................ 137
3.12 Feinscrolling .......................................... 144
3.13 Screen-Scrolling ....................................... 146
3.14 Registerbeschreibung des VIC ........................... 156
3.15 Pinbeschreibung des VIC 6567 ........................... 159

4. Der Soundcontroller ...................................... 161
4.1 Die Frequenz ............................................ 161
4.2 Wellenform .............................................. 163
4.3 Hüllkurve ............................................... 165
4.4 Filter .................................................. 170
4.5 Tongenerator 3 .......................................... 172
4.6 Der Analog/Digitalwandler ............................... 173
4.6.1 Die Handhabung des A/D-Wandlers ....................... 173
4.7 Registerbeschreibung des SID ............................ 174

5. Die CIAs ................................................. 183
5.1 Datenein- und -ausgabe von Maschinenprogrammen .......... 183
5.1.1 Ein- und Ausgabe von einzelnen Bytes .................. 183
5.1.2 Ein- und Ausgabe über Peripheriegeräte ................ 187 
5.2 Die Technik der Datenspeicherung - Load und Save......... 190
5.2.1 Datenspeicherung auf Kassette ......................... 190
5.2.2 Datenspeicherung auf Diskette ......................... 196
5.3 Die CIAs ................................................ 202
5.4 Die E/A-Port ............................................ 203
5.4.1 Tastaturabfrage ....................................... 203
5.4.2 Joystick .............................................. 209
5.4.3 Die Verwendung von Padd1es ............................ 210
5.4.4 Maus .................................................. 212
5.4.5 Die 64 Maus 1351 ...................................... 218
5.5 Timer ................................................... 223
5.6 Echtzeituhr ............................................. 226
5.7 Die Programmierung der RS-232 ........................... 230
5.8 Der IEC-BUS ............................................. 237
5.8.1 Begriffsbestimmungen .................................. 239
5.8.2 Geräteadressen ........................................ 240
5.8.3 Sekundäradressen ...................................... 241
5.8.4 Die Systemvariable ST ................................. 242
5.8.5 Adressierung .......................................... 243
5.8.6 Der Datentransfer ..................................... 245
5.8.7 Die Programmierung des IEC-Bus ........................ 247
5.9 Das serielle Schieberegister ............................ 250
5.10 Pinbelegung der CIA .................................... 251
5.11 Der User-Port .......................................... 253
5.12 Registerbeschreibung der CIA ........................... 256

6. Das ROM-Listing .......................................... 261
6.1 Nutzung des ROM-Listings ................................ 261
6.2 Verzeichnis der wichtigsten ROM-Routinen ................ 264
6.3 Alphabetisches Verzeichnis der ROM-Routinen ............. 268
6.4 Die Belegung der Zeropage ............................... 276
6.5 Die Speicheraufteilung des C64 .......................... 302
6.6 Commodore 64 ROM-Listing ................................ 305

7. Der Schaltplan ................ .......................... 571
7.1 Die Dokumentation des Schaltplans ....................... 571
7.2 Liste der verwendeten Halbleiter ........................ 577
7.3 Die Stromversorgung ..................................... 578
7.4 Die Takterzeugung ....................................... 582
7.5 Der Prozessor ........................................... 585
7.6 Der Videocontroller 6569 ................................ 595
7.7 Der Prozessor und das RAM ............................... 602
7.8 Der SID 6581, ein Synthesizer mit 28 Beinen und mehr .... 604

8. C64 Pflegen und Warten ................................... 613
8.1 Allgemeines zu diesem Kapitel ........................... 613
8.2 Der Bildausfall ......................................... 613
8.3 Nur Bildschirm und Rahmen ............................... 615 
8.4 Farbige Zeichen auf dem Bildschirm ...................... 616
8.5 Die Tastatur funktioniert nicht richtig! ................ 617
8.6 Der Joystick funktioniert nicht! ........................ 617
8.7 Wenn er nicht richtig lädt! ............................. 617
8.8 Fehler, die nach längerem Betrieb auftreten ............. 618
8.9 Das Herausnehmen von ICs ................................ 619
8.10 Wie stelle ich mir meine Tastatur strammer? ............ 620
8.11 Wie baue ich einen RESET-Taster ein? ................... 620
8.12 Das Testprogramm ....................................... 621

9. Vergleich der Rechner .... ............................... 625

Anhang ...................................................... 629
Anhang A: Der Diskmonitor ................................... 629
Anhang B: Glossar ........................................... 638
Anhang C: Stichwortverzeichnis .............................. 642

Schaltpläne C64

Leseprobe[Bearbeiten | Quelltext bearbeiten]

(3.Auflage - Seite 135: Kapitel "VC-20 - Commodore 64 - CBM"; Unterkapitel "Umsetzung von CBM Programmen auf dem Commodore 64")

...Sie haben aber auch die Möglichkeit auf dem Commodore 64 einen CBM zu simulieren. Diese sogenannte Emulation läßt sich mit folgenden Programm verwirklichen:

10 POKE 56576,6: REM CBM-BILDSCHIRM NACH 32768
20 POKE 53272,4
30 POKE 648,128: REM BASIC ERFAEHRT DIE BILDSCHIRMADRESSE
40 POKE 1024,0: POKE 44,4: POKE 56,128: REM BASIC START/ENDE
50 PRINT CHR$(147)
60 NEW

...

Auflagenunterschiede[Bearbeiten | Quelltext bearbeiten]

...

Fehler[Bearbeiten | Quelltext bearbeiten]

Fehler Korrektur Fundstelle Kommentar
$B1AA Y/A =INT(FAC) $B1AA A/Y =INT(FAC) Auflage 7 - Seite 56 Fließkommaarithmetik
C020 SBC #$08 C020 SBC #$07 Auflage 7 - Seite 187 Ein- und Ausgabe von einzelnen Bytes
[…]Zuvor wird jedoch die soeben gedrückte Taste in einem anderen Code in der Adresse $CB und eine Kopie davon in der Adresse $CB abgelegt.[…] Zuvor wird jedoch die soeben gedrückte Taste in einem anderen Code in der Adresse $CB und der Code der Taste der letzten Abfrage in Adresse $C5 abgelegt. Auflage 7 - Seite 206 Tastaturabfrage
10 OPEN 1,8,15
20 PRINT#1,"I"
Es soll also einfach das Zeichen A auf einem Drucker mit der Geräteadresse 8 ausgegeben werden.
10 OPEN 1,4
20 PRINT#1,"A"
Es soll also einfach das Zeichen A auf einem Drucker mit der Geräteadresse 4 ausgegeben werden.
Auflage 7 - Seite 243 Der IEC-Bus
LDX #$01 LDX #$00 Auflage 7 - Seite 261 Nutzung des ROM-Listings
$70 112 FAC-Rundungsbyte Auflage 7 - Seite 284 Die Belegung der Zeropage (fehlt im Buch)
$7C-$8A 124-138 Unbenutzt $7C-$8A 124-138 Teil der CHRGET-Routine Auflage 3 - Seite 122
Auflage 7 - Seite 284
Die Belegung der 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.
$D4 212 Flag für Hochkommamodus
Falls in dieser Speicherzelle eine Null steht, dann befindet sich der Computer im Normalmodus. Andere Werte bewirken den Hochkommamodus.
Auflage 7 - Seite 292 Die Belegung der Zeropage
$FB-$FE 251-254 Unbenutzt Auflage 3 - Seite 123
Auflage 7 - Seite 293
Die Belegung der Zeropage (fehlt im Buch)
$0310 783 Status-Register für SYS-Befehl $030F 783 Status-Register für SYS-Befehl Auflage 7 - Seite 301 Die Belegung der (erweiterten) Zeropage
$032B-$032C 812-813 $F32F CLALL-Vektor $032C-$032D 812-813 $F32F CLALL-Vektor Auflage 7 - Seite 301 Die Belegung der (erweiterten) Zeropage
LR = X HR = X
GA = 0 EX = 0
LR = X HR = X
GA = 0 EX = 1
Auflage 7 - Seite 304 Speicheraufteilung
97 mm akku AND x-register kommt nach mm,x 97 mm akku AND x-register kommt nach mm,y Auflage 7 - Seite 98 Illegal Codes
FFF6 52 52 42 59z FFF6 52 52 42 59 R R B Y Auflage 7 - Seite 568 RR BY sind die Initialen der C64-Designer Robert Russell & 'Robert (Bob) Yannes

Manche Zeilen dieser Tabelle und auch einige Texte wurden mit freundlicher Genehmigung von Willcox' Website übernommen.

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: "Dieses Buch war 1983/84 die Bibel für den C64. So manche (Hardware)-Information findet man nur im 64 intern. Ein Bestseller, der sich weit über 100.000 mal verkaufte."

Jodigi: "Ich konnte mir die 7. Auflage und einer der ersten Auflagen des '64 intern' sehr preiswert kaufen, nachdem die Firma Commodore in Konkurs gegangen war. Schon vorher war ich von den Data Becker Büchern 'Das große Commodore 64 Buch', 'Das neue Commodore 64 Intern Buch‎‎', '64 Tips & Tricks' und '64 noch mehr Tips & Tricks' schwer begeistert. Auch das '64 intern' ist eine Fundgrube für die Programmierung und Wartung des C64. War noch in den ersten Auflagen der Vergleich zum VC-20 und CBM-Computer drin und der Schwerpunkt lag eher bei der BASIC-Programmierung, so wandelte es sich ab der 5. Auflage und der Schwerpunkt lag bei allen Bauteilen des C64, sowie bei der Assembler-Programmierung.

Weblinks[Bearbeiten | Quelltext bearbeiten]