Much like FreeWPC itself is portable, the builtin simulator is also designed to be portable. Its architecture is structured similarly in layers that isolate the platform and machine specific parts.
The interface between the simulator and the target system are the
readb
and writeb
functions. I/O initiated by the target
is intercepted by the simulator. The simulator itself catches these calls.
Platforms register callbacks for addresses that can be simulated.