Action Replay

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Action Replay
Action Replay 6
Typ Steckmodul
Hersteller Datel
Neupreis IV: ca. 119 DM[1], ca. 60 €
Erscheinungsjahr 1985
Produktionsende 1990
Speicher 32 kByte ROM, 8 kByte RAM (ab v4.x)
Sonstiges Letzte Version: 6 bzw. Mk VI


Das Action Replay bzw. "Action Cartridge" ist ein Steckmodul, das am C64 oder C128 im Memory-/Expansionsport betrieben werden kann. Es wurde von der britischen Firma Datel in verschiedenen Entwicklungsstufen hergestellt. Der Vertrieb in Deutschland erfolgte, je nach Version, über die Firma "Eurosystems" (Sitz in Emmerich) und die Firma "vts data GmbH" (Sitz in Köln). Über letztere wurde auch das "Action Cartridge 6 plus" vermarktet, eine deutsche Variante des Datel-Action Replay mit leicht geänderter Oberfläche, aber selben Funktionen.

Von den ersten beiden Versionen ist bisher weder der ROM-Inhalt bekannt, noch sind konkrete Informationen zu finden. Die frühe Version 3 besitzt einen Schalter und einem Reset-Taster. Eine Weiterentwicklung der dritten Version besitzt, wie alle späteren Module, bereits zwei Taster. Ab der vierten Serie des Action Replay sind alle folgenden Serien auf Software-Seite annähernd gleich, während die Platine selbst noch weiteren Revisionen unterzogen wurde. Ab der Version 4.2 und folgende sind die ROMs zwischen den verschiedenen Versionen tauschbar.

Die letzte offizielle Version mit der Versionsnummer 6 (bzw. Mk VI) erschien 1990. Das inoffizielle Nachfolgemodul "Retro Replay" wurde knapp 10 Jahre später auf den Markt gebracht.

Die bekannteste Version, das "Action Replay Mk 6", besitzt zwei Funktionstaster für die Reset- und Freezerfunktion, sowie Menüs für folgende Vorgänge: Backups (Anfertigung von Sicherheitskopien), Grafikbearbeitung (Sprites und Grafik), Spielemanipulation (z.B. Eingabe von Trainer-Pokes), Peripherie-Tools für einen einfacheren Umgang mit Datasette und Disketten, verschiedene Schnelllader mit dem Faktor 5,5 und einen Maschinensprachemonitor.

Funktionen[Bearbeiten | Quelltext bearbeiten]

Das Startmenü.
F1  Configure Memory - RAM wird mit dem Wert 189 gefüllt und startet im normalen C64-Modus.
F3  Normal Reset - C64 startet im normalen Modus.
F5  Utilities
F7  Install Fastload


Utilities Menu[Bearbeiten | Quelltext bearbeiten]

Das Ultilities Menü
F1  zwischen Laufwerk 8 und 9 umschalten.
F2  Eingabe von DOS-Kommandos für die Diskette.
F3  zeigt das Inhaltsverzeichnis einer Diskette.
F5  Formatieren einer Diskette.
F7  speichert einen Loader auf Diskette, um Warp-Dateien zu laden.
  • A - Kopieren einzelner Programme.
  • B - Kopieren ganzer Disketten.
  • C -
  • D - Anschauen einer Bilderserie auf Kassette.
  • E - zum Fastloadsystem wechseln.


Install Fastload[Bearbeiten | Quelltext bearbeiten]

Install Fastload.

Funktionstasten[Bearbeiten | Quelltext bearbeiten]

F1  lädt und startet (mit RUN) ein Programm.
F2  lädt ein Programm.
F3  zeigt das Inhaltsverzeichnis einer Diskette.
F4  verändert die Rahmenfarbe.
F5  listet ein BASIC-Programm mit LIST:.
F6  löst ein Freeze aus und man landet im Freezemenu.
F7  startet ein BASIC-Programm mit RUN:.
F8  startet den Monitor mit MON.

Vereinfachte Lade- und Speicher-Befehle[Bearbeiten | Quelltext bearbeiten]

  • /name = LOAD"name",8,1
  • name = LOAD"name",8:RUN
  • &name = VERIFY"name",8,1
  • £name = SAVE"name",8
  • £;name,W = wie oben, jedoch für Warp

Vereinfachte Floppy-Befehle[Bearbeiten | Quelltext bearbeiten]

  • @ oder @8 oder @9 liest den Fehlerkanal der Floppy
  • @I initialisiert die Floppy ("initialize")
  • @V führt ein Validate durch (nicht für Warp)
  • @R:neuer name=alter name benennt eine Datei um ("rename")
  • @N:name löscht die Disk und gibt ihr den Namen "name" ("(new")
  • @N:name,ID formatiert eine Disk mit ID und gibt ihr den Namen "name"
  • @$ oder nur $ zeigt das Directory
  • @S:name löscht die normale Datei "name" ("scratch")
  • @S:name,W löscht die entsprechende Warp-Datei
  • @H:name,ID ändert den Namen und die ID einer Disk, ohne den Inhalt zu zerstören

Toolkit-Befehle[Bearbeiten | Quelltext bearbeiten]

Diese BASIC-Befehle werden im Direktmodus eingegeben. Sie können abgekürzt werden; dazu schreibt man nur die ersten drei Zeichen des jeweiligen Befehls.

  • OLD stellt ein versehentlich mit NEW oder durch RESET gelöschtes BASIC-Programm wieder her.
  • DELETE löscht Zeilen von BASIC-Programmen. Es muss immer mindestens die Anfangszeile und das Minus-Zeichen angegeben werden.
    DEL 100-500 löscht die Zeilen 100 bis 500
    DEL 200- löscht alles ab Zeile 200, funktioniert aber nicht bei der ersten Programmzeile!
    DEL 100 führt zur Fehlermeldung ?SYNTAX ERROR, im Retro Replay sogar zum Absturz!
  • LINESAVE kann Teile aus BASIC-Programmen abspeichern.
    LIN"name",8,100-500 speichert die Zeilen von 100 bis 500 eines BASIC-Programms ab.
  • MERGE lädt ein BASIC-Programm von Disk nach und fügt die Zeilen dieses Programms in ein bereits im Speicher befindliches BASIC-Programm ein. Wenn zwei Zeilen die gleiche Zeilen-Nummer besitzen, wird die alte Zeile überschrieben.
    MER"name",8 fügt das Programm "name" in ein bestehendes Programm ein.
    MER"name",8,1000 10 nummeriert erst die Zeilen des Programms "name" neu, wobei aber GOTO und GOSUB nicht umgerechnet werden.
  • APPEND lädt ein BASIC-Program an das Ende eines vorhanden Programms. APP"name",8
  • AUTO nummeriert Zeilen bei der Eingabe eines BASIC-Programms.
    AUT ohne Parameter nummeriert ab der letzten Eingabezeile (am Anfang 100) mit Erhöhung 10
    AUT 20,10 nummeriert ab 20 mit Erhöhung 10
  • BOOT lädt und startet ein Maschinensprache-Programm: BOO"name",8.
  • PLIST listet ein BASIC-Programm direkt von Disk auf einen Drucker mit der Geräteadresse 4: PLI"name",8.
  • SLIST entspricht PLIST, jedoch erfolgt die Ausgabe auf dem Bildschirm.
  • OFF und ON schalten die Disk-Turbo-Routinen aus und an. In der deutschen Version des AR MKVI heißen diese Befehle AUS und AN.
  • COPY ruft das File-Copy Menü auf.
  • BACKUP das BACKUP-Menü auf.


Freezemenu[Bearbeiten | Quelltext bearbeiten]

Das Freeze-Menü.
Der Spritemonitor.
F1  startet das Backupmenu.
F3  kehrt zum gefreezten Programm zurück.
F7  zeigt gefreezten Bildschirm an.
  • M - startet den Monitor.
  • D - zeigt das Disketteninhaltsverzeichnis.
  • P - Parameter.
  • V - startet den Sprite-Monitor.
  • K - manipuliert die Sprite-Kollision.
  • X - startet den Pokefinder (unendlich Leben, ...).
  • E - POKEs für z. B. unendlich Leben eingeben ("Cheat-Poke")
  • T - man kann den gefreezten Bildschirminhalt manipulieren.
  • H - druckt den Bildschirminhalt (leider ohne Sprites).
  • S - man kann den Bildschirminhalt speichern.
  • L - aktiviert das Fastloadsystem im gefreezten Programm.


Backupmenu[Bearbeiten | Quelltext bearbeiten]

Das Backup-Menü.

Es empfielt sich, beim Einschalten/Reset vor dem Laden des Spieles die Funktion CONFIGURE MEMORY zu verwenden, damit die Backups nur wirklich verwendete Teile des Speichers speichern.

F1  zwischen Laufwerk 8 und 9 umschalten.
F2  Eingabe von DOS-Kommandos für die Diskette.
F3  zeigt das Inhaltsverzeichnis einer Diskette.
F5  Formatieren einer Diskette.
F7  speichert einen Loader auf Diskette, um Warpfiles zu laden.
  • A - Backup als ein File speichern. Wenn es größer als 202 Blöcke ist, kann es nur mit dem Fastloadsystem geladen werden.
  • B - Backup als Warp-Datei speichern, kann nur mit dem Loader oder dem Fastloadsystem geladen werden.
  • C - Wenn Backup größer als 202 Blöcke ist, wird es in zwei Teile geteilt und kann auch ohne Fastloadsystem geladen werden.
  • D - Backup auf Kassette speichern 5-6 mal schneller als normal.
  • E - Backup auf Kassette speichern 8-10 mal schneller als normal.
  • F - Kehrt zum gefreezten Programm zurück.
  • G - Startet Utilities Menu.
  • H - Startet Fastloadsystem.


Maschinensprachemonitor[Bearbeiten | Quelltext bearbeiten]

Tastenbedienung und Befehle des Maschinensprachemonitors:

F5  Kontinuierlich nach oben scrollen. Eingabeprompt mit RUN/STOP  oder CRSR ⇓ . Alle anderen Tasten stoppen das Scrolling und starten es wieder.
F7  Kontinuierlich nach unten scrollen. Eingabeprompt mit RUN/STOP  oder CRSR ⇓ . Alle anderen Tasten stoppen das Scrolling und starten es wieder.
CRSR ⇑  Eine Zeile nach oben scrollen. Eingabeprompt mit RETURN .
CRSR ⇓  Eine Zeile nach unten scrollen. Eingabeprompt mit RETURN .
  • * - Bankswitching: Beim Eintritt befindet sich der Monitor im RAM-Modus - alle System-Roms werden beim Speicherzugriff ausgeschaltet. Um auf die ROMs und I/O-Geräte zuzugreifen, mit "*" zwischen den beiden Modi umschalten.
  • X - Monitor beenden, zurück ins BASIC oder Freezemenu.
  • A - Assemblieren.
  • D - Disassemblieren.
  • M - Speicher in Hex anzeigen.
  • I - Speicher als ASCII-Codes interpretieren.
  • I* - Speicher als Screencodes interpretieren.
  • * - Umschalten zwischen RAM- und ROM-Modi.
  • R - Zeigt die Register an.
  • F - Speicher füllen.
  • C - Speicher vergleichen.
  • T - Speicher übertragen.
  • G - Programmausführung gemäß Registeranzeige.
  • N - Zahlenumwandlung.
  • P - (Präfix). Direkte Ausgabe auf einen CBM-Drucker.
  • B - Ausführen eines BASIC-Befehls.
  • L - Laden.
  • S - Speichern.
  • V - Verifizieren.
  • @ - Fehlerkanal lesen oder Floppy-Befehl senden.
  • $ - Verzeichnis des Laufwerks anzeigen.
  • @*8 - Zugriff auf den Laufwerksspeicher (Gerät 8).
  • @*9 - Zugriff auf den Laufwerksspeicher (Gerät 9).
  • @* - Zugriff auf den Computerspeicher zurückgeben.
  • ©ME - Programm im Laufwerksspeicher ausführen.
  • @BR - Liest einen Sektor vom Laufwerk in den Computerspeicher.
  • @BW - Schreibt einen Sektor vom Computerspeicher auf das Laufwerk.

Breakpoints und Freezepoints lassen sich setzen, indem der Monitor aus dem Freezer heraus aufgerufen wird und dort der Opcode eines disassemblierten Befehls durch "SB" bzw. "SF" ersetzt wird.

Beispiele

  • .D C000 D000 - $C000 bis $D000 disassemblieren.
  • .M C000 D000 - Speicher von $C000 bis $D000 anzeigen.
  • .1 C000 D000 - ASCII von $C0Q0 bis $D000 interpretieren.
  • .D C000 - eine Anweisung in $C000 disassemblieren.
  • .M C000 - Speicher ab $CO0OO anzeigen.
  • .D - ab der aktuellen Adresse disassemblieren.
  • .I* - Screencodes von der aktuellen Adresse aus interpretieren.


Die Hardware[Bearbeiten | Quelltext bearbeiten]

AR6 Platine hinten.jpg
AR6 Platine vorne.jpg

Die Hardware des AR hat mehrere Funktionen. Zum einen soll natürlich der Zugriff auf das ROM und das RAM ermöglicht werden. Hierzu ist ein Register bei der Adresse $DE00 im I/O-Bereich des C64 vorhanden, welches die Kontrolle über das Einblenden von 8-KByte-Bereichen des ROMs in den C64-Speicher (im ROML-Bereich sowie IO2) erlaubt, sowie die Auswahl von 8-KByte-Bänken aus dem AR-ROM. Alternativ kann statt des Cartridge-ROMs an den entsprechenden Bereichen das Cartridge-RAM eingeblendet werden. Außerdem sind in dem Register-Bits zur Kontrolle der GAME- und EXROM-Leitungen des C64 und der Adressleitungen A13 bis A15 des EPROMs vorhanden.

Aufbau des Banking-Registers:

Bit Bedeutung
0 GAME
1 EXROM
2 disable cartridge logic
3 A13
4 A14
5 enable cartridge RAM instead of ROM
6 reset freeze mode
7 A15 (unused)

Beispiele:

Einblenden der Bank 0 bei $8000-$9FFF:

LDA #$00
STA $DE00

Normales BASIC-Speicherlayout wiederherstellen:

LDA #$0A
STA $DE00

Ein Auslesen des Banking-Registers ist nicht möglich und führt zum Absturz. Davon ist der gesamte IO1-Bereich ($DE00-$DEFF) betroffen. Dieser Fehler wurde bei dem inoffiziellen Nachfolgemodul Retro Replay behoben.

Weblinks[Bearbeiten | Quelltext bearbeiten]

AR Handbuch Titel.jpg
WP-W11.png Wikipedia: Action Replay

CRT-Images[Bearbeiten | Quelltext bearbeiten]

Software zum Action Replay[Bearbeiten | Quelltext bearbeiten]

Handbuch[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. 64'er; Ausgabe 03/1991, S.18