last updated on 27/03/2006
Home > Toolbox > RR
This Page contains some info mostly valuable for developers and maybe some interested betatesters. Please notice that all files on this page are considered being heavily "beta" - If you want something that is complete, tested and works 100% as expected, wait for v1.0 :=P

This Page is also contained in the release packages for everyone to have a look at what the fuzz is all about ;=) The same is also true for all files linked from this page, so there really is no need to download them separately.

what is it ?!

The RR Toolchain is an universal Crosslink-Environment with built-in debugging-, fileserver- and console- facilities.

WHAT ???

One common use of such a program is to let programmers upload data to the memory of the target, to let him inspect, modify, execute it etc. This is usually referred to as cross-developing, -linking, -debugging.

The second most common use is probably to put it into fileserver mode and access files on the host from the target, either by using a special code-library on the target or by patching the targets kernel i/o in a way that usual disc (or whatever media) access goes to the fileserver. This is sometimes referred to as "hard disc emulator".

additionally the RR Toolchain comes with a handful of little tools that may make life a little easier; a disassembler, an editor and assembler-driver as well as some small scripts as examples on further capabilities of the RR Toolchain.

*1 target: the target is the computer you develop software FOR, usually a small microcomputer, game-console or prototyping board.
*2 host: the host is the machine you use to develop software for the target. If the host is the same as the target, we are talking about native development. If host and target are different it is referred to as cross-development, and this what this page is all about.


  • someone who implements silversurfer_polling.s equivalent routines for swithlink/turbo232 or normal kernal rs232.

Contents of this Page

RR and friends
additional Target specific Software
Target Hardware Documentation
additional Hardware Documentation
supported Applications

Info related to the RR Host Software:

Info related to the RR Target Software:

  • the debug stub
    The debug-stub is a little program that runs on the target, waiting for commands received from the host. In other words, for any of the remote- functionality to work, the debug-stub must be running.
  • the generic debug library

    The generic debug library (written in Ansi-C) consists of a generic debug-stub as well as a good bunch of functions for using the generic console-fileserver. Any standard-compliant compiler should be able to translate this code, for the c64 i am using cc65.

    To use this library, the host should be running RR in console-mode with the fileserver switched to "generic" mode.
    • "debuglibtest" debugtest.c
      generic debug-library test program.
    please notice: i am busy working on cleaning up this code (among a dozen other things) so please be patient... library and sources will be there when they are ready.
  • third party applications
    look below for a list of useful stuff.

Target specific Software



  • "testterminal" rrterminal.s
    simpliest terminal loop... use that for connection-testing.
  • "termdump" rrdump.s
    even simpler, prints received data as hexcode.
The first thing you should do whenever you installed a new version of the rr toolchain (or for any other reason why you aren't sure that the connection works) is testing the link using dump terminal mode.

  • load "testterminal" on the c64 and run it.
  • type rr term on the host-commandline.

    now whatever you type on the c64 should show up in the host console, and vice versa. possible reasons for failure maybe:

  • wrong port-setup in rr.ini.
  • on a serial connection you aren't using a full null-modem cable. please notice that cheap 3-wire connections will NOT work.

retro replay rom

08.01.2006 3.8b (Pal) patched by Hannenz.
3.8b (Pal)
3.8a (Pal/Ntsc)

Using the debug-stub

  • "debugstub$ce00"
    development version of the native c64 debug stub, jump to $ce00 for quick test or transfer or periodically call $ce03 from within your own code. - this will be fully integrated into the Retro Replay Rom in the future.
    windosrrtest-target.bat linuxrrtest-target
    batchfile/shellscript for testing general functionality.

  • load "debugstub$ce00" on the c64 and start it at $ce00, the c64 is now ready to receive commands from the rr toolchain.
  • to test your setup (and demonstrate functionality) type rrtest-target on the host-commandline. The test first checks if transfer works without errors, then uses the provided example batchfiles for showing a koala-picture and playing a sid-tune, and finally starts the debugger.

  • use "debugstub$ce00" and RR in a similar way for any of the other provided functions.

Some examples on how to abuse the rr toolchain program for different purposes.

  • c64 <=>windosrrkoa.bat linuxrrkoa
    batchfile/shellscript that shows a koala pic on the c64 with just the help of the debug stub.
  • c64 <=>windosrrsid.bat linuxrrsid
    batchfile/shellscript that plays a sidtune on the c64.
  • c64sidplay.s
    source of the little sidplay helper program.

Target Hardware Information

Info related to the Retro Replay Cartridge

  • Inside_Replay.txt
    technical specification of the Retro-Replay Hardware, written by Jens Schoenfeld.

Info related to the SilverSurfer serial interface:

additional Hardware Information

Info related to NULLMODEM / RS232 Cables

3rd party applications supported by the rr toolchain


Retro-Replay Flash-Tool (by Countzero)

The Flashtool has an option to update the eeprom via the serial cable. To use this feature proceed the same way as if flashing from disc, except in the final step you first choose "flash from silversurfer" in the mainmenu, and then type rr flash newrom.bin on the host commandline.

08.01.2006 Flash-Util 3.8p patched by Hannenz.

serial slave (by Magervalp)

another attempt to implement a fileserver via a serial line. the rr console supports most of its basic functionality, but not all. (in other words, you can use c64 programs written for the serial slave, to do this you have to be in console mode and the fileserver set to "serialslave")

cc65 suite (by Ullrich von Bassewitz)

this is a full featured cross-development suite, ranging from a powerful assembler to an almost fully ansi-c compatible c-compiler. full support of debug information, possibly also sourcelevel debugging is planned for a later revision of the debugger.

release packages:

beta-releases will be available as dos-, win32-, or i86-linux executables depending on my current workflow. once the code is more stabilized it should be no problem to compile all these versions in one go. Ports to several other operating-systems (such as amiga-os, and mac-os, maybe risc-os) are planned, but scheduled to a (much) later date - don't bother complaining yet :o)

Also please notice that all public releases of the rr toolchain have support for targets other than the C64 disabled for now.

current development version:

linuxwin 0.6beta - (core files) 23.06.2005
linux 0.6beta - (i86 linux binaries) 23.06.2005 (amd64 linux binaries) 23.06.2005
win 0.6beta - (win32 binaries) 23.06.2005

unpack the core files and binaries into the same directory (preserving subdirectories in the zip), then read rrhelp.txt for further instructions.

older versions

(please always check if problems didn't occur in previous versions)
Web-Programming by Cupid Design by Se7en Content maintained by Groepaz ©1996-2014 Hitmen