From 338a12a1382afebc6c82e0b40768d87bcab3d8d1 Mon Sep 17 00:00:00 2001 From: cheapie Date: Fri, 26 Jun 2026 23:34:38 -0500 Subject: Move documentation out of the program and into separate files --- doc/monitor.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 doc/monitor.txt (limited to 'doc/monitor.txt') diff --git a/doc/monitor.txt b/doc/monitor.txt new file mode 100644 index 0000000..9496c9e --- /dev/null +++ b/doc/monitor.txt @@ -0,0 +1,82 @@ +RVController Built-in Monitor +============================= + +RVController contains a built-in machine-code monitor accessible by connecting a keyboard +on channel "monitorkb" and a display on channel "monitordisp". + +For best results, use the keyboard and CRT ("cathodic") monitor from the digiterms mod: +https://content.luanti.org/packages/mt-mods/digiterms/ + +After connecting these devices and programming the Luacontroller, the following should be displayed: + ++--------------------+ +|Reset: Cold | +| | +|RVController Monitor| +| | +|Type 'help' for help| +|Ready | ++--------------------+ + +Once you see this display, the monitor is ready to accept commands. The valid commands are: + +peek
+Reads and displays the byte (8 bits) value from RAM at the specified address + +poke
+Writes the specified byte (8 bits) value to RAM at the specified address + +peekw
+Reads and displays the word (32 bits) value from RAM starting at the specified address + +pokew
+Writes the specified word (32 bits) value to RAM starting at the specified address + +getreg +Displays the current value of the specified register number (0-31) + +setreg +Sets the specified register (0-31) to the specified value + +getpc +Displays the current value of the program counter + +setpc +Sets the program counter to the specified value + +reset +Stops the CPU, resets all registers to zero, and clears all RAM + +step +Allows the CPU to run for one instruction, then halts + +run +Allows the CPU to run indefinitely + +stop +Halts the CPU + +setbreak
+Sets a breakpoint on the specified address. +Note that the breakpoint triggers just *before* the instruction fetch, +as in the instruction with the breakpoint on it will not have executed yet. +There can only be one breakpoint at a time. If one is already set, the new one will replace it. + +clearbreak +Clears any set breakpoint. Note that an ebreak instruction will still cause a break. + +help [command] +Shows information on a monitor command, or a list of commands if none is specified. +Use 'help 2' to see the second page + +rdcsr +Displays the contents of the specified CSR + +wrcsr +Writes the specified data to the specified CSR, then reads back and displays the new value. +Note that the new value may not match the written value if any read-only or WARL fields were written to. + +endian [big|little] +With no arguments, displays the current endianness. +With the argument "big" or "little", sets the current endianness to big-endian or little-endian respectively. +This can also be viewed or changed using the MBE bit in the mstatush CSR. -- cgit v1.2.3