/VkHandybug

Atari lynx debugger

Primary LanguageC++MIT LicenseMIT

VkHandybug

Debugger for the Atari Lynx emulator Handy.

Based on ImGui, GLFW/Vulkan, reasonably cross platform (Linux - GCC 12.1, Windows - Visual Studio 2022, macOS - Xcode 14.2).

Binaries

Latest Windows binaries and Linux Flatpak can be found on the releases page.

Usage

First run

You will first need to set the Lynx ROM image path, please use the MAIN -> Settings... menu to do so.

Breakpoint condition

The breakpoint condition uses Lua, please refer to Lua's documentation for more information on the syntax. You can access the Lynx memory by using the different accessors RAM, ROM, MIKEY, SUZY, CPU, CART, EEPROM by simply using them as arrays, for example RAM[0x0012], MIKEY[0xFD02]. You can also access the CPU state by using the REGS accessor, it has the following properties: A, X, Y, PC, PS, SP, for example REGS.X.

The condition can be edited by simply clicking on the condition cell of the corresponding breakpoint.

RAM[0x50FD] > 12 and REGS.X ~= 0

If you need the breakpoint condition to be able to trigger at any PC, use a breakpoint address of 0.

Symbols

To load symbols create a file with the same name as the cart but with the .lbl extension. The lbl file can be a Vice label file (generated by cl65 -Ln option) or simply be a list of "addr label".

  0034 here
  4ADE andhere

Building

Dependencies

Compiling

Linux

git clone https://github.com/LLeny/VkHandybug.git
cd VkHandybug
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

AppImage

cmake --build . --target=vkhandybug.AppImage

The binary should be created in the folder ./bin

OSX

git clone https://github.com/LLeny/VkHandybug.git
cd VkHandybug
mkdir build
cd build
cmake -G Xcode -DCMAKE_BUILD_TYPE=Release ..

Open the generated vkhandybug.xcodeproj with XCode
Select vkhandybug scheme
Run / build

Dependencies