Oricutron
Debugging
To access Oricutron's debugger you need to press the F2 key. This will show you this screen:

In the monitor, number arguments are decimal by default, or prefixed with $ for hex or % for binary. Pretty much everything is output in hex.
In most places where you can enter a number or address, you can pass a CPU or VIA register. (VIA registers are prefixed with V, e.g. VDDRA). Anywhere you can pass an address, you can also use a symbol.
Commands
To use Oricutron's debugger, you need to know some keys:
- F2: Return to the emulator
- F3: Toggle console/debug output/memwatch
- F4: Toggle VIA/AY information
- F9: Reset cycle count
- F10: Step over code
- F11: Step over code without tracing into subroutines.
- F12: Skip instruction
Advanced features
You also have some more advanced commands:
- ? : Help
- a [addr] : Assemble
- bc [bp id] : Clear breakpoint
- bcm [bp id] : Clear mem breakpoint
- bl : List breakpoints
- blm : List mem breakpoints
- bs [addr] : Set breakpoint
- bsm [addr] [rwc] : Set mem breakpoint
- bz : Zap breakpoints
- bzm : Zap mem breakpoints
- d [addr] : Disassemble
- fd [addr] [end] [file]: Disassemble to file
- fw [addr]
[file] : Write memory to file - fr [addr] [file] : Read file to memory
- m [addr] : Dump memory
- mm [addr] [value] : Modify memory
- mw [addr] : Memory watch at addr
- nl [file] : Load snapshot
- ns [file] : Save snapshot
- r [reg] [value] : Set a value to a register
- q, x or qm : Quit monitor
- qe : Quit emulator
- sa [name] [addr] : Add or move user symbol
- sk [name] : Kill user symbol
- sc : Symbols not case-sensitive
- sC : Symbols case-sensitive
- sl [file] : Load user symbols
- sx [file] : Export user symbols
- sz : Zap user symbols
Reported by NekoNoNiaow the Fri 29th March 2019
Issue #34: Tap file that crash on first load but not on second:
Details: This does not happen for all program files but sometimes Oricutron will not properly execute a loaded .tap file and instead display the Monitor window showing the PC stuck at address $24D. When using the monitor to examine disassembled memory, the code is correctly present at address $600.
When that happens, issuing a RESET from Oricutron and typing manually CLOAD"" and re-inserting the proper .tap file is enough for the program to run normally.
For some reason, the first run always fail as described above but after a reset everything works as expected.
As noted, this happens only for one of my program, a 23,370 bytes long .tap file.
I can provide that .tap file and associated symbols file if needed.
Reported by LeWurmling the Fri 1st September 2017
Fixed in OSDK 1.12
Fixed in OSDK 1.12
Details: If the project is not located on the same drive as the OSDK; Oricutron will fail to launch because osdk_oricutron.bat does not point it to the right location. Using START /d "%OSDK%\Oricutron" %OSDKORICUTRON% instead fixes it.
comments powered by Disqus