Emulicious update with a new tool

Around 8 years ago I had envisioned this tool and discussed it with my friend psidum. Finally, I got the time and motivation to actually implement it.


Thanks to everyone who helped the development by testing WIP builds of it!

The full list of improvements in this update follows:

  • Added Event Viewer
  • Added some notes on troubleshooting to the ReadMe.txt
  • Allow pressing Reset in the Profiler while it’s enabled (thanks to bbbbbr)
  • Fixed that sometimes a wrong value was displayed as old value for HRAM writes
  • Fixed missing local variables in of functions defined in included .c files (thanks to djlink)
  • Fixed a memory leak in the Trace Logger window (thanks to Revo)
Emulicious Event Viewer
Emulicious Event Viewer

An update of Emulicious is available

An update of Emulicious is available.

This update is rather small and comes with a few bugfixes:

  • Improved Sprite Viewer for TMS modes (SMS, GG, MSX)
  • Fixed a bug that could prevent the Coverage tool from opening
  • Fixed a bug in the Procedure Profiler that could cause procedures to be nested incorrectly for code generated by SDCC (thanks to aoineko)
  • Fixed a bug that caused the debugger’s Suspend On Open option to be ignored when Remote Debugging is enabled (thanks to aoineko)
  • Fixed a bug that could cause the stack view to get smaller everytime Emulicious is started
  • Fixed an issue with write watchpoints on GameBoy’s HRAM when added from CPU tab (thanks to michel_iwaniec)

A new version of Emulicious available

An update of Emulicious is available.

This update comes with several bugfixes and a few additions.

The full list of improvements follows:

  • Added option to hide the CPU usage graph
  • Added Compare and Comparator to Cheats (thanks to TheAlmightyGuru)
  • Added -linkport option to specify the port used for the Game Boy link cable (thanks to Junji Takakura)
  • Added VDP addresses to the Variables tree (thanks to toxa)
  • Added VDP labels to the Memory Editor
  • Added support for ld d,d debugging messages for the remaining systems (thanks to bbbbbr)
  • Improved usability of the Cheats window (thanks to Revo)
  • Persist the selected tab in the Video Viewer
  • Fixed the VRAM address shown for tiles of the TMS modes in the Tile Viewer
  • Fixed support for watchpoint set from the I/O tab of the Memory Editor for Game Boy
  • Fixed a bug that could cause an incorrect state of the debugger’s toolbar after loading a state (thanks to JoseJX)
  • Fixed a rendering issue of the status bar of the Memory Editor (thanks to Kabcorp)
  • Fixed that the color cache did not get invalidated when manually changing CGB palettes (thanks to Eievui and Sono)
  • Fixed a bug that could cause C source-level debugging not to work with MSX (thanks to Mallow)
  • Fixed a bug that could cause global variables from SDCC sources to display wrong values (thanks to joyrider3774)

An update of Emulicious is available

An update of Emulicious is available.

This update comes with several bugfixes and only a few additions.

The full list of improvements follows:

  • Added -fullscreen flag to start Emulicious in fullscreen (thanks to aoineko)
  • Added RDiM (Remaining Dots in Mode) register (thanks to Sono, tbsp and bbbbbr)
  • Added an option to disable hardware acceleration which can fix slowdowns on Windows 11 (thanks to SelvinPL)
  • Added an option to allow inputs from keyboard as well when a gamepad is used (thanks to Matt Hughson)
  • Improved usability of the Go To dialogs (thanks to BestPig)
  • Use a better color for selection in Memory Editor when using a dark color theme (thanks to Kabcorp)
  • Fixed missing tooltips in Registers table
  • Fixed a bug that could cause RAM symbols to show up twice in the Go To dialog (thanks to Eievui)
  • Fixed a misdetection of a Korean mapper on Mastersystem (thanks to Maxim)
  • Fixed a bug that could display a wrong color on Game Boy Color due to a missing cache update (thanks to BestPig)
  • Fixed a bug that could cause the disassembly to fail when a map file from a very old version of GBDK is present (thanks to BestPig)
  • Fixed an issue with savestates for .pocket roms (thanks to BestPig)
  • Fixed issues with C source-level debugging of banked devkitSMS roms (thanks to SteveProXNA)
  • Fixed a memory leak caused by closing/reopening remote debugging sessions (thanks to Matt Hughson)
  • Fixed a desync of the breakpoints table caused by closing/reopening the Debugger (thanks to BestPig and fracturetrey)
  • Fixed a bug that could cause loading RGBDS sources to take a lot longer (thanks to Sukus)

A minor update of Emulicious got released

A minor update of Emulicious is available.

This update comes with several bugfixes and only a few additions.

The full list of improvements follows:

  • Added an option to the Trace Logger to disable logging of breakpoints
  • Added more font sizes to the Font Size menu (up to 24 Pt now)
  • Fixed an issue that could prevent the debugger from opening when the other files were missing (thanks to Jamey)
  • Fixed loading savestates for .pocket roms (thanks to BestPig)
  • Fixed an issue in the .noi parser that could slow down opening the Debugger
  • Fixed a bug in the RGBDS disassembler that could remove section headers (thanks to BestPig)
  • Fixed that the preference for dark/light theme was only respected when a highlighter was selected
  • Fixed an issue that could cause the PPU variables of the GB to be displyed incorrectly (thanks to bbbbbr)
  • Fixed a NullPointerException in the Variables Tab when using GNOME desktop theme (thanks to Under4MHz)
  • Fixed a bug that could prevent VS Code from connecting to Emulicious after it launched it

A major update of Emulicious got released

A major update of Emulicious is available.

The focus of this update has been UI improvements. The update adds options to configure fonts and provides dark-themed syntax highlighting.

The full list of improvements:

  • Added options for font configuration
  • Added an option to disable UI scaling
  • Added dark-themed syntax highlighters
  • Added support for Analoge Pocket roms
  • Added support for starting Emulicious with remote debugging enabled immediately
  • Greatly improved the UI of the Debugger’s Variables tab
  • Fixed a bug in the trace logger that could prevent it from logging instruction
  • Fixed that the Memory Editor did not accept entering capital hex letters (thanks to Revo)
  • Fixed font color in some debugger menus on Mac OS (thanks to Martz)

An update of Emulicious is available

A major update for Emulicious is available.

The full list of improvements and fixes follows:

  • Added support for software breakpoints (ld b,b) for the remaining systems
  • Added an option to display memory values referenced by instructions in the Debugger
  • Added an option to arrange the video viewers in tabs
  • Added an option to freeze memory values from the Memory Editor
  • Added Memory tab to the Debugger
  • Added breakpoint properties to the Breakpoint tab in the Debugger (thanks to dan jia)
  • Improved performance of plot widgets (e.g. used in the Sound Viewer)
  • Fixed missing symbols from linked libraries with C debugging (thanks to Zalo)
  • Fixed the appearance of some icons

Minor update for Emulicious released

A minor update for Emulicious got released. This update turned out smaller than planned because I have been ill for a whole week.

This update comes with the following improvements:

  • Added a Sound Device Selection (thanks to martendo)
  • Fixed Undo/Redo in the RAM Search tool (thanks to GOMF)
  • Fixed an issue with symbols from an RGBDS tiny rom build (thanks to tbsp)
  • Fixed that F2 could not be used to toggle breakpoints (thanks to martendo)
  • Fixed an issue that could make the debugger misbehave when sound is unsupported (thanks to superdisk)

Major update for Emulicious released

A major update for Emulicious got released. This update comes with several UI improvements for the Debugger.

Finally, the Variables that has only been available during remote debugging are now also available in the built-in debugger.

The full list of improvements and fixes follows:

  • Added a Variables tab to the Debugger
  • Added a Breakpoints tab to the Debugger
  • Added a Console tab to the Debugger
  • Added a Call Stack to the Debugger
  • Added a Toolbar to the Debugger
  • Added Control Flow Arrows to the Debugger
  • Added an option to the Debugger’s context menu to watch the selected expression
  • Added support for ld d,d message logging for Game Boy
  • Reorganized the MSX menu (thanks to theNestruo)
  • When MSX is emulated, do not open the menu when ALT is pressed (thanks to theNestruo)
  • Fixed wrong colors of underline in Memory Editor
  • Fixed an issue with the initial layout (on first start of Emulicious) of the Tile Viewer
  • Fixed an issue with Remote Debugging that could disconnect the remote debugger on launch if a ROM was already loaded

Emulicious got updated

This update fixes several issues. For example, some users (mainly Linux users) have reported that the initial sizes of the viewers were too small. So when they first opened them, they weren’t usable until they resized them. This issues should be fixed now.

Furthermore, a new speed option has been added: Sync To Audio. This option syncs the emulation to the audio samples. This option can help users that have sound issues like crackling noises or stuttering sound.

The full list of improvements follows:

  • Improved the stability of the profiler
  • Added TMS palette as alternative palette for the Tile Viewer for SMS (thanks to sverx)
  • Added tooltips for the additional registers in the debugger
  • Added Sync To Audio as a new speed option
  • Added an option to the Memory Editor to copy the currently selected address
  • Fixed inproper initial window sizes for the viewers on some (mostly Linux) systems (thanks to basxto)
  • Fixed an incompatibility with Java 16, thank you Oracle… (thanks to RicardoLuis0)
  • Fixed that for small window sizes of the debugger, it did not properly scroll to the current address (thanks to Kabcorp)
  • Fixed an issue with Game Boy’s sweep sometimes falsely muting the channel (thanks to DevEd and kivan117)
  • Fixed that on SMS the Tile Viewer used a wrong tile as the bottom tile of 8×16 tiles in 2nd bank of tiles
  • Fixed that an expression reading from non-existant cartridge RAM crashed the debugger (thanks to TypeDefinition)
  • Fixed wrong row/column numbers in Tilemap Viewer when grid is enabled
  • Fixed that sometimes the breakpoint console stopped updating
  • Fixed that Game Gear ports did not trigger port breakpoints (thanks to sverx and djbass)