diff options
| author | cheapie <cheapiephp@gmail.com> | 2026-06-26 23:34:38 -0500 |
|---|---|---|
| committer | cheapie <cheapiephp@gmail.com> | 2026-06-26 23:34:38 -0500 |
| commit | 338a12a1382afebc6c82e0b40768d87bcab3d8d1 (patch) | |
| tree | 445a6dc22c2c9ddb99b0f831d68fb1999f0ceebc /doc/monitor.txt | |
| parent | 3a46ab5b8691e72098e3c43f5e25ca84385a5de6 (diff) | |
| download | rvcontroller-338a12a1382afebc6c82e0b40768d87bcab3d8d1.tar rvcontroller-338a12a1382afebc6c82e0b40768d87bcab3d8d1.tar.gz rvcontroller-338a12a1382afebc6c82e0b40768d87bcab3d8d1.tar.bz2 rvcontroller-338a12a1382afebc6c82e0b40768d87bcab3d8d1.tar.xz rvcontroller-338a12a1382afebc6c82e0b40768d87bcab3d8d1.zip | |
Diffstat (limited to 'doc/monitor.txt')
| -rw-r--r-- | doc/monitor.txt | 82 |
1 files changed, 82 insertions, 0 deletions
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 <address> +Reads and displays the byte (8 bits) value from RAM at the specified address + +poke <address> <data> +Writes the specified byte (8 bits) value to RAM at the specified address + +peekw <address> +Reads and displays the word (32 bits) value from RAM starting at the specified address + +pokew <address> <data> +Writes the specified word (32 bits) value to RAM starting at the specified address + +getreg <register number or name> +Displays the current value of the specified register number (0-31) + +setreg <register number or name> <value> +Sets the specified register (0-31) to the specified value + +getpc +Displays the current value of the program counter + +setpc <value> +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 <address> +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 <CSR address or name> +Displays the contents of the specified CSR + +wrcsr <CSR address or name> <data> +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. |
