Stage 3 + New simulator GUI

Yesterday was a good day! I finally recieved the reduced (we removed the PS/2 functionality, see earlier post) stage 3 boards from the fab! They look good and we are now trying to gather all components needed for this board.

I also spent alot of time on creating a GUI for the µLind simulator I created a while ago. And WOW! I am as the British would say “chuffed to bits” by the result!

It is a ImGUI/SDL2 based GUI for the simulator core I made a while back with following features:

Session and Files

  • Load and save session files.
  • Load hardware configuration, ROM images, and optional CompactFlash images.
  • Support raw, Intel HEX, and S-record ROM formats.
  • Save and restore GUI window/table layout with the session.

Execution Control

  • Reset the simulated machine.
  • Run, pause, and single-step instructions.
  • Step over subroutine calls.
  • Run until return.
  • Run until a chosen address.
  • Keyboard shortcuts for common debugger actions.
  • Bottom status bar showing run state, PC, cycle count, and active session.

CPU and Disassembly

  • Register window for CPU state and condition flags.
  • Disassembly window showing address, instruction bytes, and decoded instruction text.
  • Current PC highlighting.
  • Improved HD6309 formatting for indexed modes, stack masks, register-pair instructions, TFM, and bit-immediate operations.

Memory Tools

  • Editable hex memory grid with ASCII view.
  • Adjustable row count and scrollable table.
  • Jump-to-PC, jump-to-S, and jump-to-U controls.
  • Follow-PC mode.
  • Highlighting for PC, stack pointers, and watchpoint addresses.
  • Memory map window showing mapped address ranges.
  • Stack window for following S or U stack contents.

Breakpoints, Watchpoints, and Trace

  • Add and remove breakpoints.
  • Add read, write, or read/write watchpoints.
  • Stop execution on watchpoint hits.
  • Instruction trace window with newest entries at the top.
  • Trace cycle counts reset on reset/clear.

Device Panels

  • Memory mapper panel showing mapper presence, bank size, bank registers, selected banks, and visible windows.
  • CompactFlash panel showing image path, sector count, status/error registers, selected LBA, command state, and transfer progress.
  • Serial panel with terminal view, raw hex view, RX text injection, RX hex-byte injection, and TX clear.

Diagnostics

  • Log window for session actions, load/save messages, run events, and debugger notifications.

By:

Posted in:


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.