2023-01-30 18:25:59 UTC
In its current state, the simulator runs the Forth engine, AppForth cross-compiled for the RTX2000, to the point of executing the canonical command \r\n\BYE\r\n
It currently crashes with an illegal opcode when going any farther. For example, "SEE QUIT" crashes. In other words, I've ported enough of the word set to successfully boot and shutdown the simulator.
I'm asking for visualization ideas, and implementation improvements that aid such visualization. For example, I'd like to peer into the execution of a word such that I can interrupt the current simulator state and resume at that breakpoint. Simh implements a history mechanism, but I'm not sure I can save all machine state only in the registers. For example, such state doesn't include the ALU. Note that I'm not referring to simulated interrupts; which are supported by simh, but not yet by this simulator.
The simulator reports the following bus states to the simh framework: ASIC bus read/write, Parameter Stack Bus read/write, Return Stack Bus read/write; Memory Bus read/write.
The simulator performs console I/O via simh facilities. It can also perform virtual disk I/O, though it doesn't now. Writes to certain ASIC ports via G! and G@ perform such byte-oriented external data I/O
Simh provides a logging facility that's been hijacked to provide semi-structured text data to something reading STDOUT. At this point, it's the virtual console; simh provides Telnet support.
My current visualization ideas are Oscilloscope with a clock trace and up to 4 bus traces or Blinkenbone.
For various reasons (support for compilation under Windows a big one), the simulator will not be in the official openSimh repository. It can currently be found on gitlab: https://gitlab.com/jchimene/rtx2001a
Comments, crticisisms, brickbats welcome.