BESCHREIBUNG ZUM C-64: a) Der C-64 Computer ist ein Heimcomputer der in den 80er Jahren vor dem PC auf dem Markt kam. Er hatte 64-kB RAM und 20kB ROM Speicher, 8 Bit. b) Modi: Textmodus, Multicolormodus, Hintergrundfarbmodus, Hires- und Multicolor Grafikmodus, 3 Kanal Soundchip. c) Anschlüße: 2x Joystick, 1x Kassete, Modulschacht, Seriell, USER-Port(Parallelport), Antenne, DIN Monitor/Video/Ton-Anschluß(AV). Durch diese Anschlüße lassen sich eine Vielzahl von Geräten anschließen, Fernseher, Monitor, Datasette, Floppy, Drucker, Kartenleser, Joystick, Paddle, Lightpen, Spielmodule, Floppyspeeder, Reset-Taster, etc. d) Die Standard-Ausstattung ist C64-Computer, Floppy1541,2 Joysticks,Reset-Taster e) Da weder der Maschinencode noch das C64-BASIC PC-kompatibel ist, braucht man einen EMULATOR- also eine C64-Programmleser um die Programme auch auf dem PC nutzen zu können.
Natürlich kann man alles mit einem C64-Emulator (Programmleser) auch am PC nutzen, die von den Emulator Adressen heruntergeladen werden können.
HINWEISE ZUM DOWNLOAD: 1. Die Programme auf der Festplatte speichern. 2. Dann das C64-Emulator-Programm starten, z.B. CCS.exe oder X64.exe. Damit können die Programme über das Verzeichnis-Menue gestartet werden. 3. Automatisches Öffnen ist grundsätzlich nur dann möglich, wenn ein C64-EMU installiert ist und die Dateiendungen, wie *.prg,*.d64,*.t64 auf das Emulator-Programm verweisen. 4. Leider werden die Programmen nicht mit dem Orginalnamen downgeloaded. Man sollte die Datei daher am besten gleich umbenennen. Die Endung darf dabei aber natürlich nicht verändert werden z.B. *.prg *.d64 *.t64, da das Programm von dem Emulator dann nicht mehr geöffnet werden kann.
Hier ein paar Listings, die zeigen, wie man den C64 erfolgreich in Basic programmieren kann. Die Zeichen in [.] sind Steuerzeichen. Hierzu gibt man zuerst die Zeile normal ein. Dann schaltet man mit CTRL-9 in den Revers-Modus. Nun überschreibt man die [.]-Zeichen so, das diese revers dastehen und gibt dann RETURN ein.
BASIC-SOFTTUNING: Mehr Platz für Sprites, Grafik, Programme und Zeichen ====================================
*Als erstes wird das Betriebssystem und der Zeichensatz in das RAM kopiert, wo man dann beides ändern kann. Nun kann man die Speicherkonfiguration ändern: poke1,55 bis 53, und sogar 48 bis52 sind möglich:
* Der Schirm wird ins obere RAM: 52224 verlegt, wo nun der Zeichensatz ab 53248 geändert werden kann. Es können nun auch viele Sprites, mehrere Bildschirme und Zeichensätze und die Grafik-Bitmap benutzt werden, ohne Verluste oder Einschränkungen beim Hauptspeicher.
* Das nächste Teillisting zeigt 2 <Basic-Befehlsänderungen> im Betriebssystem: - Der RESTORE-Befehl setzt nun den DATA-Zeiger nicht mehr auf den Programmanfang, sondern auf sich selbst. Dadurch kann der Programmierer den DATA-Zeiger nun auf verschiedene Programm Bereiche setzen. - Der GO-Befehl wird dahin umprogrammiert, daß man nun den Cursor auf eine beliebige Bildschirmposition setzen kann: go spalte, zeile.
* Das Listing <Set Basic> versetzt den Basic-Anfang nach 1024, dadurch kann der Platz für Basic-Programme um 1KB vergrößert werden. Also sogar eine Hauptspeicher-Erweiterung ist hiermit möglich.
Insgesamt gesehen verkürzt das Programm die Installationszeiten für Basic-Prpgramme und verbessert die Speicherausnutzung erheblich.
STRUKTURIERTE PROGRAMMIERUNG: ============================= Auch strukturierte Programmierung ist am C64 möglich:
FUNKTIONEN ALS UNTERPROGRAMM: ============================= Mit einem Trick wird es möglich Funktionen zu Unterprogrammen zu erweitern und damit fehlende Basic-Befehle nachrüsten. Man kann damit sogar eigene Sprung-Befehle programmieren, die data-Anweisungen, Zeilen oder Adressen als Sprungziel benutzen.
NACHLADEN VON PROGRAMMEN: ========================== Da öfters nachgefragt, kommt hier noch ein Listing zum Nachladen von Programmen. Der Name wird in a$ übergeben.
Nach dem Laden sollte man am besten alle in 70 geänderten Vektoren zurücksetzen mit sys58451.
STRING-HANDHABUNG: =================== Mit folgenden Tricks kann man 1. Strings kopieren oder Graphik-Strings ausgeben, 2. Speicherbereiche, wie den Graphikspeicher, schnell füllen. 3. Das String-Aufräumen, die Garbage Collection verhindern. 4. Lange Strings erzeugen 5. Die Stringadresse ermitteln 6. Feststrings auf Speicherbereiche setzen: z.B. Eingabepuffer(512), Akku(780), Zahlenpuffer(255)
EINGABEN MACHEN: ================ Oft gefragt wird auch, wie man den Input-Befehl ersetzen kann. Hierzu muß man drei Etappen bewältigen: 1. Die Programmierung des Cusorblinkens und Tastenabfrage. 2. Die Ersetzung fehlerhafter Tastenfunktionen. 3. Das Einlesen der Eingabe-Zeile mit allen Sonderzeichen.
RESTORE(x), GOTO(x) und FINDLINE(x) ================================ Hiermit kann man den DATA-Zeiger auf eine Zeile setzen oder die Zeilenadresse ermitteln oder mit GOTO zu einer Zeile springen. Zeile-66 zeigt, wie man den DATA-Zeiger im Basictext setzen kann.
FEHLERMELDUNGEN AUSSCHALTEN ============================ Bei INPUT+READ: 10 :poke768,157:poke769,172:poke19,1:input"a,b:";a,b:sys58451:poke19,.:return bei LIST: 10 :poke768,174:poke769,167:list:sys58451:return bei STOP-TASTE: 10 :poke809,241:poke808,177:rem--ein:sys64768
Hilfsmittel und Programmier-Literatur: ========================== Hier die Liste von Progrmmierhilfen, die auch ich verwendet habe. 1. Commodore 64-Handbuch: Basic-Befehlsliste, Zeropage-Adressen. 2. Alte 64er-Zeitschriften: Adresslisten für VIC, SID, IO-Bereich, Assebler-Codes 3. Handbücher von DATA-Becker: -Schulbuch zum C64 -Basic Tipps und Tricks 4.C64 Intern-Buch: -mit zeilenweise kommentierten ROM-LISTING. -C64 Betriebssystem-Code -Zeropage-Adress-Liste -Einführung in die Maschinensprache
(Dirk Breitinger)
Zu meiner Geschichte mit dem C64: ============================= An fing natürlich alles mit einem C64II als Weihnachtsgeschenk, nächstes Jahr dann ein 1541 II Diskettenlaufwerk. Ich fing ich dann aus Interesse mit der Basic-Programmierung an. Ganz klassich mit Programmen für die Schule, wie Vokabelprogramm, Taschenrechner, Textbearbeitung und Stundenplan-Programm. Die ich immer weiter verbesserte und erweiterte.
Da es immer wieder verschiedene Unterprogrammversionen gab, habe ich mich dann schließlich auch mit der reinen Unterprogrammforschung beschäftigt, woraus dann der Basic-Praxis Kurs entstanden ist, in dem ich meine besten Unterprogramme veröffentlicht habe.
Danach versuchte ich mich dann an der Umsetzung verschiedener Spiele, Editoren und Datenbanken, wie man an den obrigen Programmen sehen kann. Wobei ich weitere sagenhafte Unterprogramme und Programme entwickelt habe, so das ich immer mehr Echtzeitlösungen programmieren konnte. Was das Basic an Geschwindigkeit leisten kann, ist schon erstaunlich.
Nützliche Hilfsmittel bei der C64 Programmierung sind VIC,SID, CIA und Zeropage-Adress-Tabelle und ein ROM-Listing, ansonsten findet ihr die wichtigsten Adressen in meinem Programmierkurs.
Meine Lieblingsspiel aus der 64er Zeit sind: Block-Tumble, Blobber, Dark Cosmos, Atom-X, Duotris, Wizard Plus, Lethal Zone, Tower of Terror und X-Out die ich im Zeitschriftenhandel erworben hatte. Eine interessante Mischung aus Knobelei, Musik, Grafik und Geschicklichkeit.
Von den neueren Spielen habe ich It´s Magic I+II, Ice Guys und Bomb Mania bei Protovision gekauft, die auch fesseln können. Natürlich bin ich auch ein Fan von Boulderdash, Giana-Sisters, Impossible Mission und Besitzer der C64-CLASSIX Reihe.
Zur C64-Geschichte: ================= Am Anfang hatte ich auch die Standard-Ausrüstung mit Datasette. Der einzige Datenträger war eine Kassette oder ein Listing auf Papier. In Zeitschriften wie die 64ER, die ich von Zeit zu Zeit las, waren damals noch Programme als Basic oder Maschinencode Listing abgedruckt.
Man mußte dann tausende von Zahlen in den MSE-Monitor eingeben bis man dann das fertige Programm abspeichern konnte.
Schließlich kam dann das Diskettenlaufwerk 1541 und die 64ER mit Heft-Diskette und das Abtippen von Programmen wurde dadurch überflüssig. Es erschienen nun auch neue Disketten-Magazine wie Golden-Disk oder Magic-Disk, diie ausschließlich Spiele veröffentlichten.
Die langsamen Ladezeiten wurden schließlich durch Floppy-Speeder als Software oder Modul erheblich verkürzt. Ich benutzte meist RAM-EXOS, das glaub ich Programme 20 mal schneller läd. Mit MAGIC-COPY, das übrigens auch auf dem Emulator arbeitet, konnte man dann auch komfortabel eigene Disketten mit seinen Lieblingsprogrammen erstellen.
Plötzlich kam die Zeit, wo die 64er und andere Disketten-Magazine nicht mehr im Zeitschriftenhandel erhältlich waren. Nun begann die Zeit der C64-Emulatoren auf dem PC. Und mit C64S kaufte ich meinen ersten Emulator. Mit TRANS64 habe ich dann meine selbstprogrammierten Programme auf die PC Plattform gerettet. Internet hatte ich zwar noch nicht, aber man konnte sich nun Programmsammlungen wie die 64ER-CD, BROTKASTEN-CD oder BROTKASTEN GOLD-CD zuschicken lassen. So daß man nun eine riesige Programmsammlung hatte.
Als auf dem Supermarkt das COMMODORE-WEBIT angeboten wurde habe ich dann eines Tages zugegriffen. Und bin damit zum ersten Mal ins Internet gegangen. Dadurch wurde ich auch mit dem CCS64-Emulator bekannt, der sich als Zugabe auf diesem Computer befand .
Schließlich abonierte ich die GO64 vom CSW-Verlag. Hier bestellte ich mir dann auch den CCS64-Emulator für den PC auf CD. Dieser war wieder leistungsstärker, als der C64S-Emulator und wurde ständig weiterentwickelt. Bei Protovision gab es neue Spiele und Hardware. Später wechelte ich dann zum DIGITAL-TALK Magazin, da man hier auch Programme veröffentlichen konnte.
Auch ein C64-DTV habe ich mir zugelegt, das einen C64 in einem Joystick eingebaut bot und mit 4 AA-Batterien betrieben wurde. Im Internet wurden sogar Anleitungen für einen Umbau zu einem voll funktionsfähigen C64-Computer angeboten.
Auch Zusatzgeräte, wie IDE-64 Kartenleser wurden nun angeboten. Dieser wurde an den C64-USERPORT angeschlossen und hatte verglichen mit dem Diskettenlaufwerk enorme Übertragungsgeschwindigkeiten. Mit dem SILVER SURFER konnte man glaub ich sogar ins Internet gehen.
Schließlich erschienen dann die C64-CLASSIX-CD Serie, wo man sich mit reichlich Software eindecken konnt. Die Programme laufen mit dem X64-VICE-EMULATOR, den man auch umsonst im Netz herunterladen kann.
Als letztes erschien mit dem EMU64 nun auch ein neuer Emulator. Und auch ich habe schließlich eine Homepage mit C64 Programmen eingerichtet.