• Print

Emulicious 2015-05-17


Emulicious is a free to use multi-system emulator for Windows, Linux, Mac OS(X) and any other operating system supporting Java SE.

You don’t need to install Java on your system in order to run Emulicious. It only requires the Java binaries to run. For Windows users there’s a download including current Java binaries (see Emulicious Downloads Section).

Emulicious consists of the following emulators:

  • A Nintendo Game Boy Emulator
  • A Nintendo Game Boy Color Emulator
  • A Sega Master System Emulator
  • A Sega Game Gear Emulator

Even though Emulicious aims for precision and cycle accurate emulation it still provides some additional features and tools:

  • Automatic Updates
  • Adjustable Turbo
  • Adjustable Throttle
  • IPS Patching
  • Savestates (Master System/Game Gear only)

Tools (Master System/Game Gear only):

  • Debugger (including an interactive disassembler with automated code/data separation)
  • Profiler
  • Tracer
  • Memory Editor
  • Palette Viewer
  • Tile Viewer
  • Tilemap Viewer
  • Sprite Viewer
  • Memory Tracer

The debugger provides many features that can be useful for ROM hacking and Homebrew development. It provides customizable syntax highlighting, trace logging, breakpoints and watchpoints. A Reference Hierarchy helps in understanding a program flow, the profiler helps in identifying hotspots. A powerful expression syntax allows the definition of useful conditions for breakpoints/watchpoints. Breakpoints halting on accesses of uninitialized memory and inconsistent states after interrupts can help to avoid unnecessary programming mistakes.


An update of Emulicious has been released. The update comes with additional options for the tracer and introduces an outline to the debugger.

The outline helps you navigate through code more easily by providing a structured representation of the code. It is directly linked to the selection of the debugger so it can also help to orient yourself in the code.

The tracer can be controlled using conditions now.  You can define conditions on which to start/end tracing and a condition on which to trace an instruction at all.

Besides that the tracer allows you to provide an expression to be evaluated before each instruction being traced. The result of the evaluation is appended to the trace. This way you can add additional information to your trace. For example if you want to watch the value in RAM at $c000 you can set the expression to “@$c000″. Using this expression each line of your trace will also show you the value at $c000.





Loading video...



blog comments powered by Disqus