The Final Replay

From ReplayResources
Jump to navigationJump to search

http://www.oxyron.de/html/freplay.html


Introduction

The Final Replay is a new ROM image to be used with the Retro Replay cartridge and the RR-Net ethernet adapter. This ROM is an attempt to combine the advantages of the two major cartridges for the C64, the FC3 and AR6 and bring it to the Retro Replay. Unlike the existing Retro Replay ROM this cartridge does not build upon older cartridge ROM's but is written from scratch.

Features

  • Fastloader
  • Pre-defined function-keys
  • BASIC extensions
  • Freezer
  • Network device
  • Machine language monitor
  • Network server for data transfer (CodeNet)

Setting an IP address

Since the ROM has a server for data transfer inside, you need to set an IP address which is useable in your LAN. If your PC has an IP of 192.168.8.1 you should set the IP of the C64 to 192.168.8.64.

Use the SETIP.EXE tool to set the IP inside the ROM. Linux users will have to compile the setip.cpp file.

Example: "SETIP 192.168.0.64 192.168.0.1" (This will set the C64 IP to 192.168.0.64 and the IP of the PC to 192.168.0.1)

BASIC extensions

  • DLOAD - Load files from disk.
  • DSAVE - Save files to disk.
  • DOS - Send DOS command to drive, change device number or display disk directory.
  • FLUSH - Clear entire memory.
  • KILL - Disable cartridge.
  • OLD - Make BASIC programs available again.
  • MONITOR - Enter Machine language monitor.
  • CODENET - Enter CodeNet server.
  • $ - Hexadecimal numbers.
  • NET - Redirect all Kernal calls to network drive.
  • SETIP - Temporarily change the IP address.
  • INFO - Show information about hardware and network addresses.

Network drive

The network device which comes with the TFR is accessible via device number 6. It can be used to access a directory tree on a PC with the server running. To use it, enter DOS"6" to change the device number to 6 or enter NET to redirect other device numbers to the network drive.

Before you can access the PC Harddisk, you need to start the Network Drive server. It is required to set a root path via the command line parameters. Example:

NETDRIVE -r "D:/c64/archive/d64/"

It is not possible to access any files outside this root path, so your other files are safe.

You may enter subdirectories via sending a DOS command: DOS"CD:(dirname)" You can also enter D64 files as subdirectory, but currently only read access is allowed. Currently no other DOS commands are supported. No deleting of files, no renaming of files and no formatting of disks.


ML Monitor

An important feature of most cartridges was their machine language monitor. Also this cartridge comes with one which is similar the the FC3 monitor. It is activated by entering the MONITOR command which is also available on the F2 key.

Monitor commands

M 200 300 - hex-dump memory from $0200 to $0300

I 200 300 - PETSCII-dump memory from $0200 to $0300

EC 200 300 - char-dump memory from $0200 to $0300

ES 200 300 - sprite-dump memory from $0200 to $0300

D 200 300 - disassemble memory from $0200 to $0300

A C000 LDA #$66 - assemble LDA #$66 to $C000

G 2000 - execute program at address $2000

X - leave monitor

F 3000 3800 AE - fill memory from $3000-$37FF with $AE

F 3000 3800 1 0 2 - fill memory from $3000-$37FF with pattern $01,$00,$02

T 1000 2000 8080 - transfer memory from $1000-$1FFF to $8080


Memory banking

O7 - enable BASIC ROM, Kernal ROM and I/O access

O0 - enable full C64 RAM access:

OD - drive memory access

O9 - drive memory access for drive 9

OV - VDC RAM access (C128 only)

OW - VDC register access (C128 only)

Almost all monitor commands refer to the currently selected memory. One exception is the G command which always refers to the C64 CPU and the T command which allows redirection of the target. Example

T 1000 1200 D:400 - will transfer the memory from $1000 to $11FF to drive memory location $0400


Number conversion

$123456 - convert hexadecimal number $123456 to decimal 1193046
#12345678 - convert adecimal number 12345678 to hexadecimal $BC614E

Disk access/Drive access

  • R 12 5 C0 - read disk sector 18,5 to memory at $C000
  • W 1 4 10 - write disk sector 1,4 from memory at $1000
  • E 400 - execute program in drive memory at $0400

@I - send DOS command "I" to active drive

@9 - change active device number to 9

@$ - show directory


Illegal opcodes

£ - turn on/off illegal opcodes


Different number formats

The monitor allows binary, decimal and hexadecimal numbers as addresses and arguments:

LDA #%10110101 LDX #0 STA 400,X STA &49152,X INX BNE *-7


Scrolling

Scrolling through memory is possible in upwards and downwards direction by either using the cursor keys or via F3 and F5.

Network server CodeNet

CodeNet is a special transfer server which allows sending of binary data or program files directly into the C64 memory and sending of an execute command. You can use it for easy cross assembling. The server is started by entering the CODENET command (available on the F6 key).

CodeNet Description

The Final Replay comes with a network server dedicated to cross assembling and remote program execution. It is started upon entering the "CODENET" command which is also preset on the F6 key. The server is used from a remote Windows or Linux PC only via the CodeNet client. It can be used to transfer PRG files directly into the memory of the C64 and also allows some other actions like filling memory and ofcourse starting a program with RUN or a jump to a defined memory address.

Sending the file "test.prg" to a C64 with the network address 192.168.8.64:

CODENET -w test.prg -n 192.168.8.64

Filling the memory from $1000 to $3FFF with $C0(default IP address 192.168.1.64 used):

CODENET -f $1000 $4000 $C0

Jumping to address $2000 in C64 memory (default IP address 192.168.1.64 used):

CODENET -e $2000

Executing a PRG file with RUN (default IP address 192.168.1.64 used):

CODENET -r

Sending the file "test.prg" to a C64 and executing it (default IP address 192.168.1.64 used):

CODENET -x test.prg