This is an old revision of the document!
Table of Contents
Using a running VICE session for development
Introduction
Sometimes the assemble-run-debug cycle gets a little slow due to the start-up time of VICE. Luckily VICE has a remote monitor feature which can be (ab)used to speed up this process.
This process basically comes down to setting up a proper VICE session once with VICE listening on a specific port for monitor commands and then using this port to send commands from your shell, Makefile or IDE to load your code, your labels/breakpoints, attach/detach disks and run the program. All without rebooting VICE.
This article attempts to explain that process. For now, only for *nix systems.
The basics
Requirements
A few tools are needed to get this working:
- VICE, preferably a current SVN build, I used 2.4.27 and onwards during my adventures
- netcat for sending commands to the running VICE session
- telnet for entering the remote monitor in interactive mode
- make for making things easier
Obviously we need an assembler, one which can output VICE labels if you want to use that feature. I personally use 64tass (again, build a current version).
And of course a decent editor, one which can at least syntax highlight Makefile's and whatever assembler you use.
Setting up VICE
Getting VICE to act as a 'server' isn't hard:
x64 -remotemonitor
This will tell VICE to listen on port 6510 for connections. Now we can use netcat or telnet to sends commands:
compyx@aspire-7740 ~ $ telnet localhost 6510 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. reset 0 (C:$e5cf) ^]quit telnet> quit Connection closed.
We just told VICE to perform a soft reset. By using telnet we started an interactive session with the monitor, which halted the emulation, we can also send commands while the emulation keeps going, using netcat:
echo 'reset 0' | netcat localhost 6510