Developing

Write code here. Run it in RISC OS.

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

A RISC OS toolchain you can drive from outside

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.

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.

An interactive prompt

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.

Made for automation

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

The emulated processor, under a microscope

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.

Breakpoints with conditions

Stop at a symbol only when a register holds a particular value, rather than stopping every time and checking by hand.

Step over and step out

Move through code the way a debugger should, over a call or out of a function, with the call stack available.

Names instead of numbers

Load a symbol file and addresses come back as names. The disassembler covers the FPA10, so floating point reads as floating point.

Watchpoints on memory

Stop when a location changes, which is how you find the code that is writing somewhere it should not.

Agents

Point an assistant at the machine

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.