He said initially he started with vice but that frodo's code was easier to modify to allow it to tell about the state of the machine or something along those lines...
- My English still need work -
Although the idea was from 2000, the project started at Nov 2006.
Initially, it was for specific binary versions of VICE and CCS64.
To support Frodo, I took a different approach modifying its source code.
That gave me much more possibilities, so I put aside the others.
A little about how it works:
Currently, ICU64 works more like the 'Cheat Engine' (as a debugger), but with a value help from the debugged application, which is a modified version of Frodo emulator (called 'Frodo Redpill').
Frodo redpill can report useful events (like memory accesses, new frames, raster interrupts, bad lines, clock cycles, etc) and can be instrcucted to get snapshots of the whole state (as an example, when ICU64 enables the raster effects, Frodo Redpill takes 15600 snapshots/sec). Thus, ICU64 has full access both to the current state of the virtual machine and to every event that occur inside it. Then is just a matter to interface this information to the user.
I choose Frodo instead of VICE because Frodo has much simpler source code. Frodo Redpill can already be used by other applications like ICU64.
I'm not so proud for this framework, as it is right now; it could be better.
So, let me illustrate my vision:
An emulator can easily expose every bit and every event of the machine that emulates. Using such an emulator as a platform many applications could extend the capabilities of the emulated machine (and any software that it runs), working either as wrappers, editors, or just as monitor tools (which are all hacking tools). A user application with such a tool would be a 'HACK'.
I just made a start to this direction with "Frodo Redpill" and "ICU64", but it is not an easy task for only one person. More people must involve, and all these ideas are free for implementation.
VICE and CCS64 is the best C64's Emulators and would be good if the their developers expose a programming interface with full access to every bit end every event of C64. Immediately, will be transformed to platforms for a new era of software technologies and applications (that will have started using just a C64).
This, of course, could be happen with any virtual machine (so harry-up!).