Action Replay
Action Replay | |
---|---|
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]
- 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]
- 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]
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 500DEL 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 10AUT 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.
[Bearbeiten | Quelltext bearbeiten]
- 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.
[Bearbeiten | Quelltext bearbeiten]
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]
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]
Wikipedia: Action Replay |
- Action Replay im Wiki replay resources
CRT-Images[Bearbeiten | Quelltext bearbeiten]
Software zum Action Replay[Bearbeiten | Quelltext bearbeiten]
- Action Replay Graphics Disk (csdb)
- Action Replay tools pack (csdb)
- Software fürs Action Replay auf cascade64.de
- Thema: "ERWEITERUNGSDISKETTE" und "UTILITY DISKETTE" vom AR6 auf Forum64.de
Handbuch[Bearbeiten | Quelltext bearbeiten]
- Action Replay VI Textformat
- Action Replay VI Textformat
- Handbücher zu versch. Version in PDF
- C64 Hardware Manuals bei Retro Commodore mit