Erschienen in 64'er Magazin, Ausgabe 01/1991 · Originaldatei: 01_91.TXT
Hinweis: Dies ist das an die Redaktion eingereichte Manuskript, nicht der gedruckte Endtext. Layout, Bildunterschriften, Korrekturen und Kürzungen der Redaktion können in der veröffentlichten Fassung abweichen.
»Antiker« Computer
Seit längerer Zeit benutze ich den C 64 als Steuercomputer für diverse Anwendungen (Geräte, Roboter usw.). Da ich außerdem den Laser 310 besitze, kam ich auf die Idee, diesen in Verbindung mit dem C 64 als Steuereinheit bzw. Datenträger zu verwenden. Leider habe ich keinen Belegungsplan der Peripherieausgänge und kein Handbuch. Wer kann mir weiterhelfen?
Stephan Terletzki, Hauzenberg
Roboter läuft wieder
Frage von Ralf Kranich aus der 64'er 10/90, Seite 106: Wie muß ich es anstellen, daß der Roboter im Adventure »Robox« aus dem Elektronikraum herauskommt?
Man gibt dem Roboter das Sprachmodul, das man im Computerraum entdeckt: Schau Computer, schau Modulschacht, nimm Modul. Im Elektronikraum gilt folgende Befehlseingabe: Gib Robbie Modul weiter. Der Roboter wird Ihnen jetzt auf Schritt und Tritt folgen.
Michael Vögler, Hamburg
Erbschaft, die dritte
Zu den in der 64'er 9/90, Seite 57, veröffentlichten Codewörtern zu Teil 2 des Adventures »Die Erbschaft« möchte ich Euch die Bytefolge für Teil 3 verraten: »CGIBD«.
Gregor Nowarra, Köln
Adventure-Tips gesucht
»Hellowoon«: Wie kann ich mich im ersten Bild von der Kette befreien?
Uwe Baumann, O-Wilkau-Haßlau
»Castle Master«: Wer verrät mir, wie ich in die Zauberhütte bzw. in die Burg komme? Wo liegen Schlüssel und Nahrung?
Michael Vögler, Hamburg
»Robox«: Ist man bis in die Weltraumstadt vorgedrungen (Diskettenseite 4), stößt man auf einen Safe. Wie kann dieser geöffnet werden, ohne Alarm auszulösen?
Olaf Dzwiza, Hannover
Routinen des Basic-Interpreters
Wo liegen im C 64 die Assemblerroutinen des Basic-Interpreters? Mich interessiert vor allem, in welchem Bereich die Routine für die Anweisung RUN zu finden ist.
Albert Ulmer, A-Feldkirch
Die Tabelle der Routinenadressen für die Befehlswörter des Basic 2.0 finden Sie ab Speicherstelle $A00C (40972), die der Basic-Funktionen (z.B. FRE, USR, PEEK usw.) ab Adresse $A052 (41042), abgelegt als Low- und Highbyte. Das Lowbyte muß um »1« erhöht werden. Die RUN-Routine umfaßt lediglich 18 Bytes und liegt im Speicherbereich von $A871 (43121) bis $A882 (43138). Mit einem Maschinensprache-Monitor (z.B. SMON) können Sie sich die gewünschten Speicherinhalte anzeigen lassen.
Die Redaktion
Videotext-Bildschirm ausgedruckt
Im Berliner 3. TV-Programm werden täglich die aktuellen Kurstafeln der Börse ausgestrahlt. Die Tafeln bestehen aus gleichbleibenden alphanumerischen Zeichen, wie sie auch bei Videotext verwendet werden.
Gibt es ein Verfahren, mit dem man die im TV-Bild geschriebenen Zeichen durch den C 64 identifizieren, speichern und wieder ausgeben lassen kann?
Dipl.-Ing. Horst Spielmann, Berlin
Drucker als Ladebremse
Ich besitze den Epson RX-80 und das Görlitz-Interface, das am seriellen Port meines C 128 angeschlossen ist. Wenn der Drucker aktiv ist (On line), werden einige Programme überhaupt nicht oder unvollständig geladen. Gibt es eine Möglichkeit, dies zu umgehen, ohne ständig den Drucker aus- und wieder einschalten zu müssen?
Ingo Klöckner, Hattert
Modul abschalten
Bei eingestecktem Simon's-Basic-Modul stürzt das Spiel »Omidar« (64'er-Sonderheft 37) nach kurzer Spielzeit ständig ab. Wenn ich das Modul entferne, läuft das Spiel einwandfrei. Gibt es eine Möglichkeit, über einen bestimmten Tastendruck oder softwaremäßig (z.B. einen Befehl im Programm) die eingesteckte Erweiterung ein- und auszuschalten?
Jürgen Bierwagen, Duisburg
Per Tastendruck oder durch eine Programmanweisung kann man das Simon's-Basic-Modul nicht abschalten. Diese Funktion ist in dieser als Maschinenprogramm im Modul-EPROM gespeicherten Software nicht vorgesehen. Hier könnte lediglich ein Umbau der Hardware des Moduls (z.B. ein Druckschalter) helfen.
Die Redaktion
Kompilierte Simon's Basic-Programme
Wer kennt einen Compiler (nicht »Basic-Boss«), der problemlos Programme verarbeitet, die mit Simon's Basic entwickelt wurden?
Wolfgang Krause, Rüsselsheim
Wer hat Infos zum Plus/4?
Seit zwei Jahren besitze ich den Commodore Plus/4, mit dem ich sehr zufrieden bin. Da ich ihn auch gerne weiterhin benutzen möchte, bitte ich um Tips und Hinweise zu diesem Computer (Hardware-Erweiterungen, ROM-Listing, Anpassung an C 64-Software usw.).
Ulf Klocke, Aschersleben
Jagd nach der verschollenen Diskette
Ich arbeite mit dem Druckerprogramm »Print Master« für den C 64. Dazu existiert eine Grafikdiskette, die ich leider nicht besitze. Da das Programm nicht mehr im Handel ist, konnte ich beim Hersteller nichts erreichen. Wer kann mir helfen? Belohnung ist Ehrensache!
Rainer Licht, Mühlheim
Hexadezimale Umrechnung
Wie kann ich Hexadezimaladressen in dezimale Zahlen umwandeln? Welche Bedeutung haben die Adressen $FFF6 bis $FFF9?
Stephan Rupprecht, Dortmund
Es gibt bereits eine Menge kurzer Utilities zum Umrechnen von Hexzahlen ins Dezimalformat. Falls Sie keines besitzen, kann der Computer trotzdem die Rechenarbeit erledigen. Man muß lediglich wissen, welche »Wertigkeit« die vier angezeigten Bytes einer Hexadresse besitzen. Diese besteht normalerweise aus einer Mischung von Buchstaben (A bis F, entspricht den Ziffern 10 bis 15) und Zahlen (0 bis 9). Je nachdem, wo diese Zahl oder der Buchstabe stehen, gilt folgender Dezimalfaktor (von links nach rechts), mit dem die Hexadezimalstelle multipliziert werden muß:
Wenn man wissen möchte, wie die z.B. die Hexadresse $FCE2 in Dezimaldarstellung lautet, gibt man im Direktmodus folgende Befehlszeile ein:
PRINT 15 * 4096 + 12 * 256 + 14 * 16 + 2
Das Ergebnis lautet »64738«.
Die Adressen $FFF6 bis $FFF9 enthalten die ASCII-Zeichenfolge »RRBY« und haben mit dem Auflauf des Betriebssystems im C 64 nichts zu tun. Vermutlich wollten sich hier Programmierer des C 64-ROM durch diese Kennbuchstaben »verewigen« (vergleichbar mit der Signatur eines Malers unter einem Bild).
Die Redaktion
Amica-Paint-Grafiken
Frage von Andreas Tscharner aus der 64'er 8/90, Seite 101: Ich möchte Grafiken für ein Spiel mit Amica Paint entwerfen. Wo liegen diese im Speicher, sind sie gepackt?
Um Grafiken dieses Malprogramms in eigenen Programmen nutzen zu können, ist wichtig, daß die Grafikdaten im VIC-Block 3 abgelegt sind.
Das Bildschirm-RAM beginnt bei $C000 (49152), die Sprite-Zeiger liegen ab $C3F8 (50168), dahinter die Sprite-Daten. Um dafür genügend Platz zu bekommen, habe ich die Routine »SHOW PIC.52480« von $CD00 (52480) nach $1D00 (7424) verlegt (sie funktioniert auch in jedem anderen Bereich!). So erhalte ich ab $CC40 (52288) Speicherplatz für 15 Sprite-Daten (Block 49 bis 63).
Rainer Theuerkorn, Rostock
Wechselspiele
Wie kann ich zwei Teilbereiche des C 64-ROM, Basic-Interpreter und Kernel-ROM, so verschieben, daß die beiden Speicherbereiche exakt vertauscht sind?
Hans Müller, Lippstadt
Die Daten der genannten Bereiche im Betriebssystem lassen sich jederzeit an eine andere Stelle verschieben, allerdings nur im RAM. Das ROM bleibt nach wie vor fest an den gewohnten Speicherstellen installiert. Dazu müßten Sie schon die entsprechenden Speicher-Chips austauschen (CPU, CIA, VIC-Chip usw.).
Softwaremäßig erledigen das »Umschaufeln« der Bytes zwei Basic-Schleifen. Natürlich ist Maschinensprache erheblich schneller:
FOR I=0 TO 8191: POKE (57344+I), PEEK (40960+I): NEXT: REM verschiebt Basic-Interpreter ins RAM unter dem Kernel FOR I=0 TO 8191: POKE (40960+I), PEEK (57344+I): NEXT: REM verschiebt Kernel-ROM ins RAM unter dem Basic-Interpreter
Im RAM dürfen Sie die Maschinenroutinen dieser Bereiche beliebig verändern, um sie jedoch nutzen zu können, muß über das Löschen des zweiten Bits der Speicherstelle »1« vom ROM ins RAM umgeschaltet werden (der neue Wert ist nun »53« statt »55«). Die Basic-Anweisung POKE 1,53 läßt allerdings den Computer abstürzen, da die Betriebssystem-Vektoren ab $0300 und der I/O-Bereich ab $D000 (53248) die »neuen« Adressen nicht finden. Wenn dieser »Speicherumbau« Nutzen bringen soll, dann nur in Assembler, wobei Sie auch den hardwaremäßigen Interrupt des C 64 (alle 1/60 s) nicht außer Acht lassen dürfen. Die genannten RAM-Bereiche unter dem ROM eignen sich viel besser zur Ablage von Grafik- oder Texdaten, weniger zum Installieren eigener Maschinenprogramme.
Die Redaktion
Farbdruck mit Koala-Painter
Ich besitze den Farbdrucker MPS 1550 C von Commodore und suche ein Programm, mit dem man farbige Grafiken von Koala-Painter ausdrucken kann.
Frank Cordes, Bremerhaven
Empfangsstörungen
Frage von Richard Haenle aus der 64'er 5/90, Seite 75: Ich habe Probleme mit der HF-mäßigen »Verseuchung« meiner beiden C 64. Auf manchen Frequenzen im Kurzwellen- und UKW-Bereich ist fast kein Empfang mehr möglich.
Auf diese Frage habe ich eine — zumindest indirekte — Antwort. Da ich selbst Kurzwellenhörer bin, beziehe ich eine Fachzeitschrift für den internationalen Rundfunkempfang. In Ausgabe 8/90 des Magazins geht man auf dieses Thema ein. Die Anschrift der Redaktion lautet: ADDX e.V., Redaktion Kurier, Postfach 130124, 4000 Düsseldorf 13.
Peter Ziegenfuß, Berlin
Floppy mit Digitalanzeige
Wer hat einen Bauplan oder Bausatz für eine digitale Anzeige der Tracks und Sektoren bei der Floppy 1541, ältere Version?
Stephan Plabst, München
Möglichst kurze Hardcopy-Routine
Hat jemand eine Grafik-Druckroutine zum Seikosha GP 500 VC, die nicht länger als 1 KByte ist, zwischen den Adressen $C000 bis $C3FF liegt und die ich in Verbindung mit dem Programm »Grafik-Calc« (64'er-Extra-Diskette, The Best of Graphic 2) verwenden kann?
Ludwig Schmid, Straubing
Geregelte Heizung
Frage von Erhard Zanner aus der 64'er 7/90, Seite 95: Mit meinem Uralt-Computer CBM 3032 regle ich die Wohnungsheizung. Aber was ist, wenn der Computer einmal abstürzt? Dann ist es vorbei mit der Heizungsregelung. Gibt es dafür eine optische oder akustische Warnvorrichtung?
Am besten verwenden Sie dazu eine sog. »Watchdog« (Wachhund)-Schaltung: Ein Bit des Userports oder der Datasetten-Schnittstelle führen Sie auf ein externes Mono-Flop. Wichtig ist, daß es sich dabei um einen Typ handelt, den man »retriggern« kann. Solange vor dem Abfalls des Mono-Flops der nächste Impuls eintrifft, bleibt es aktiviert. Dies wird durch eine Software-Schleife realisiert, die in vernünftigen Abständen einen »Stromstoß« an diesem Pin erzeugt. Bleibt der Computer stehen, fehlt der Impuls fürs Mono-Flop: Es fällt ab. Dieses Signal können Sie mit dem NMI-Eingang des CBM 3032 verbinden (notfalls innen auf der Pfostensteckleiste). Dazu müssen Sie eine Software-Routine entwickeln, die das Programm zur Heizungsregelung wieder startet. Etwas schwierig ist die korrekte Handhabung des Stapelspeichers innerhalb der NMI-Routine, das Verhalten des übrigen Systems beim Einschalten sowie die Manipulation des NMI-Impulses.
Dr. Peter Kittel, Frankfurt/Main
Fehler im Kopierprogramm?
Im Programm »Filecopy«, das dem »Turbo Trans« von Roßmoeller beiliegt, habe ich einen unangenehmen »Bug« entdeckt: Wenn man ca. sieben Blocks im Directory »verbraucht« hat, führt die BAM die Belegung der Spur 18 nicht mehr einwandfrei durch. Dieser Fehler fällt selten auf, weil kaum 48 Programme und mehr auf einer Diskettenseite gespeichert werden. Gerade bei »blockfressenden« Sub-Directories kommt es aber vor, daß Blöcke zweimal belegt werden. Eine rechzeitig ausgeführte VALIDATE-Anweisung verhindert diesen Mißstand. Achten Sie beim Kopieren vieler Files darauf, daß Sie zwischendurch die Diskette »aufräumen« (Validate).
Wolfgang Krause
Text im Bildschirmrahmen?
Kann man in den Rahmen des C 64-Bildschirms schreiben?
Stephan Rupprecht, Dortmund
Grundsätzlich kann der Bildschirmrahmen nicht mit Text oder anderen Zeichen des C 64 beschrieben werden. Allerdings lassen sich durch bestimmte Tricks Sprites darin anzeigen. Bestehen diese Sprites aus Buchstaben oder Wortsilben, kann man so »Text« im Bildschirmrahmen darstellen, wenn auch nur in begrenztem Umfang.
Die Redaktion