Compile without leaving your desk
Edit on the host, run cc or objasm or link inside RISC OS, and see the errors in your own terminal. The toolchain runs where it is supported and you work where you are comfortable.
Developing
Keep your editor, your version control and your window manager. Send the build to the guest from your own shell and read the output back, with the return code, as though the compiler were local.
The build
HostFS already maps a directory of yours into RISC OS. HostCmd adds the other half: running a command in there and getting the answer back over a local socket.
Edit on the host, run cc or objasm or link inside RISC OS, and see the errors in your own terminal. The toolchain runs where it is supported and you work where you are comfortable.
Open a RISC OS command line in your terminal and use it like any other shell, which is often the quickest way to find out what a machine thinks is going on.
Because it is a socket and a return code, it suits a build script, a continuous integration job or an editor plugin as readily as a person typing.
The debugger
DebugCmd is the same idea one level down: the host-side debugger over its own socket, so a tool can drive the emulated ARM directly.
Stop at a symbol only when a register holds a particular value, rather than stopping every time and checking by hand.
Move through code the way a debugger should, over a call or out of a function, with the call stack available.
Load a symbol file and addresses come back as names. The disassembler covers the FPA10, so floating point reads as floating point.
Stop when a location changes, which is how you find the code that is writing somewhere it should not.
Agents
A Model Context Protocol server exposes the whole lot as tools, so an agent can run guest commands, read and write files, capture and click the screen, and inspect the processor.
It exists because the two sockets above already made the machine scriptable, and giving an agent the same reach costs nothing extra. What it is genuinely good at is the tedium: reproducing a fault thirty times, bisecting a change, or checking a build on several machine configurations while you do something else.