User:WF

From F256 Foenix
Jump to navigationJump to search

Scratchpad for working on Foenijs. Feature requests are welcome

Debugger Features

+ = implemented, - = unimplemented

Stepping

+ Step 1 cycle

- Step N cycles (easy, just not exposed now)

+ Step to next raster line

+ Step to next frame

+ Step to IRQ

+ Step to RTI

+ Step Out (run until stack shrinks from the starting point)

Breakpoints

+ Break on 16-bit PC (raw CPU PC) machine.cpu.breakpoints16[]

+ Break on 24-bit PC (post-MMU resolved address) machine.cpu.breakpoints24[]

- Break on 24-bit address read machine.mmu.breakOnRead[]

+ Break on 24-bit address write (I/O only for now) machine.mmu.breakOnWrite[]

+ Break on BRK machine.cpu.breakOptions.breakOnBRK

+ Break on IRQ/NMI machine.cpu.breakOptions.breakOnIRQ .breakOnNMI

+ Break on undocumented NOP (eg unexpected bytes) machine.cpu.breakOptions.breakOnBadNOP

+ Break on RTI machine.cpu.breakOptions.breakOnRTI

+ Break on single-instruction infinite loop machine.cpu.breakOptions.breakOnInfiniteLoop

Printing/Logging/Viewing

+ Log IRQ machine.cpu.breakOptions.logIRQ

+ Log BRK (always on for now)

- Log SOF

+ Capture CPU execution log, machine.cpu.debug to enable, machine.cpu.log(n) to print, n is optional number of instructions

+ Live updated memory view (lame, scroll through full memory)

- Create any number of live memory views of different sizes & locations

+ Stack entry provenance tracking

- Upload labels file