Emulicious to nowy, przynajmniej dla mnie, projekt multiemulatora systemów SEGA (master system, game gear) i Nintendo (Gameboy BW/Color) napisany w Javie. Celem emulatora jest dołączenie do aplikacji typu cycle exact, jednak po drodze do tego multiemulatora dodano parę ciekawych narzędzi - podgląd spritów, kafelków i całkiem użyteczny debugger.
Emulicious 2019-10-19
- Added undo/redo of run actions in the debugger
- Added "Chat with the community" menu item to join Emulicious's Discord Server
- Added Expressions.txt with explanations and examples on how to use expressions
Emulicious 2019-10-12
- Fixed a bug in the disassembler where it used labels located in wrong slots (Thanks to Wafer for pointing this out)
Emulicious 2019-10-07
- Minor bugfix in procedure profiler
Emulicious 2019-09-27
- Fixed an issue with automatic updates
- Added the possibility to set a message to log when a breakpoint is hit
These messages can consist of multiple expressions separated by commas. An example is "Entered WaitForVBlank at scanline ", scanline (The quotation marks need to be there to indicate a string) This will yield log messages such as the following: Entered WaitForVBlank at scanline 100
Emulicious 2019-08-30
- Fixed an issue with the outline when sources are loaded
→ NOWSZY [Java] Multi - Emulicious 31/08/2024
Emulicious 31/08/2024
- Added Overlays feature to the debugger.
... this new feature in the Overlays tab at the bottom of the Debugger. It allows you to overlay information on top of the main screen. So you can for example display hitboxes or other shapes on top of your game graphics. Or display some values for debugging directly on screen...
- Fixed that for palette entries that span 2 bytes, values didn’t get padded to 4 digits (thanks to ISSOtm)
- Fixed description of HDMA5 read event (thanks to ISSOtm)
- Fixed that on Linux the Memory Editor didn’t use the correct selection color on a Linux theme (thanks to ISSOtm)
- Fixed the Add Watchpoint option in the Expressions table (thanks to bofner)
- Fixed MBC1M detection (thanks to ProstatePunch and PinoBatch)
- Fixed that the „Add Expression“ text was missing on a Linux theme (thanks to bbbbbr)
- Fixed precedence of @@ operator (thanks to badcomputer)
Emulicious 30/07/2024
This month comes with some UI improvements and fixes:
- Improved the UI for some window managers on Linux (thanks to ISSOtm, lidnariq, neon, armixer24)
- Improved the layout of the Tilemap Viewer (thanks to ISSOtm)
- Fixed that for Game Boy Color reads from palettes always triggered inaccessible access exception (thanks to DNFan86555)
- Fixed flickering in the status bar of the debugger when it takes more than 1 line (thanks to Kabcorp)
Emulicious 30/06/2024
Free time has been rare this month so this update turned out a bit small. It mainly comes with a few bugfixes and improved YM2413 emulation:
- Added support for YM2413’s phase hold test mode bit (thanks to 2Tie)
- Fixed that for MSX emulation the tracer printed some addresses incorrectly (thanks to djogopatrao)
- Fixed that the new keyboard shortcut for MSX defaulted to SPACE like on other systems
Emulicious 31/05/2024
This update adds value formatting for strings used in expressions and messages. For example: „Lives: {d:@lives}, Velocity X: {d:@velocityX}, {08b:@flags}, Type: {@type}, Name: {s:pointerToName}“
The full list of changes follows:
- Added value formatting for strings used in expressions and messages
- Fixed the priority of the RAM registers of the Master Everdrive (thanks to toxa)
- Fixed an issue with video encoding set to use FLAC with older versions of FFMPEG (thanks to bbbbbr)
- Fixed an issue that prevented includes with absolute paths to work in the source code parser (thanks to Sono)
- Fixed an issue with adding breakpoints on ports/hardware registers (e.g. rSCX) in the Breakpoints tab
- Report progress of video encoding in the titlebar and when Emulicious is closed
- Made key shortcuts for Toggle Fullscreen and Toggle Turbo configurable (thanks to Disk Poppy Ninja and DEFENSE MECHANISM)
Emulicious 30/04/2024
This update comes with a few bugfixes.
The full list of changes follows:
- Fixed flickering screen in A Bug’s Life and Men in Black for Game Boy Colr (thanks to Scott Nash)
- Fixed the palette displayed in the Sprite Viewer when emulating the original Game Boy/DMG (thanks to widge)
- Fixed a glitch in the Variables tab that could render a checkbox for the name of a boolean value
- Fixed issues with the Input variable of the Mastersystem
Emulicious 31/03/2024
This update comes with video recording. In order to record videos you need ffmpeg. On Windows, you can easily find a release build of ffmpeg on the internet. On Linux and Mac OS, you can install it via the respective package managers or download release builds from the internet.
The full list of changes follows:
- Added video recording
- Fixed that the Profiler window couldn’t open on Linux with GTK theme (thanks to Under4MHz and lidnariq)
- Fixed a bug that could cause a crash when editing GB sound registers repeatedly (thanks to Sono)
- Fixed a bug that prevented to load MEKA Savestates older than version 8
- Fixed a regression that made the Tile Viewer have issues with modes where tiles have a width of 6 pixels (thanks to aoineko)
- Fixed sprite cursor position for Game Gear (thanks to toxa)
- Fixed reading back values from the MSX PSG (thanks to joe)
- Fixed turbo shortcut in fullscreen mode for MSX
Emulicious 2024-02-29
Unfortunately, I did not have much time to work on Emulicious this month so this month’s update turned out quite small. It mainly comes with bugfixes.
The full list of changes follows:
- Fixed a bug that could make the debugger cause high cpu load (thanks to 256)
- Fixed that Advance Frame while paused with the debugger open could crash Emulicious (thanks to pw_32x)
Emulicious 2024-01-31
This update comes with some additional features and some bugfixes.
The full list of changes follows:
- Added -turbo commandline flag to start Emulicious with turbo enabled (thanks to aoineko)
- Added option to emulate the Everdrive without an SD card inserted
- Added option to crop borders from screenshots (thanks to Kaisaan)
- Added support for the MSX NEO Mapper (thanks to aoineko)
- Fixed incorrect number of meassurements in General Profiler if start and end address match (thanks to sverx)
- Fixed that a future timestamp in a .sav file caused the RTC time to change (thanks to beware)
→ NOWSZY [Java] Multi - Emulicious 30/12/2023
Emulicious 2023-12-30
This small update comes with a few bug fixes and an improved presentation of coverage.
The full list of changes follows:
- Added 16×16 mode to Tile Viewer for display modes that support it (thanks to Jan Willem van Helden and aoineko)
- Improved MSX mapper detection (thanks to bengalack)
- Fixed a false-positive of data execution exception with C debugging (thanks to wimpie3)
Emulicious 2023-11-30
This small update comes with a few bug fixes and an improved presentation of coverage.
The full list of changes follows:
- Improved how coverage is visualized in the debugger (thanks to Sanqui)
- Improved sourcefile discovery (thanks to Nadia Holmquist)
- Fixed an issue with the disassembly of an MSX cartridge without a mapper (thanks to aoineko)
- Fixed an issue that could cause a breakpoint for MSX set from a remote debugger to not work (thanks to Mallow)
- Fixed assembling of z80 instructions with displacement
Emulicious 2023-10-31
This update comes with some UI improvements and several bug fixes.
The full list of changes follows:
- Added support for searching in HRAM and SRAM via RAM Search (thanks to Kadalyn)
- Added support for debug messages with printf-like format specifiers (thanks to toxa)
- Added an exception breakpoint for when a push instructions attempts to write to ROM
- Added an option for big endian to RAM Search (thanks to Kadalyn)
- Some UI improvements
- Fixed that when sav files were saved to Emulicious’s sav folder, they did not always get loaded from there (thanks to adac)
- Fixed that when the status bar of the Memory Editor wrapped to a second line, it could cover the selected byte (thanks to Kadalyn)
- Fixed that in RAM Search the last row could not be deleted manually (thanks to Kadalyn)
- Fixed that locations did not workin conditions (thanks to QubixDS)
- Fixed that some variables did not work in conditions (thanks ot QubixDS)
Emulicious 2023-09-30
The full list of changes follows:
- Fixed an issue that could sometimes cause the cursor not to follow the current instruction (thanks to ISSOtm)
- Fixed an issue with step back while OAM DMA is running (thanks to leina)
- Fixed a memory leak when a rom keeps the LCD disabled all the time (thanks to sono)
- Fixed that modifying PSG frequencies and volumes for SMS were swapped (thanks to superdisk)
- Fixed a bug that could cause the disassembler to crash (thanks to Studio Loading)
Emulicious 2023-08-31
- Added .sc as supported filename extension for games supported by the Master System (thanks to Popfan)
- Added an option to the Debugger's File menu to unload the currently loaded sources
- Added some more variables to the Variables tab (e.g. if SRAM is enabled)
- Made the data execution exception breakpoint trigger in less cases (thanks to Maxim)
- Fixed a regression that could cause variables to not be changable from the Variables tab (thanks to rdp)
- Fixed dot numbers reported for events when Game Boy Color's double speed mode is enabled (thanks to bbbbbr)
- Fixed a deadlock that could be caused by the Game Boy's STOP instruction (thanks to Famicuber)
- Fixed that sometimes a general profiler didn't update unless it is selected (thanks to ISSOtm)
- Fixed that CTRL+END caused graphical glitches in the Memory Editor (thanks to Maxim)
- Fixed a regression that could cause general profilers to not get persisted properly
- Fixed crackling sound that could occur on initial suspend after skipping through a bootrom
Emulicious 2023-07-31
- Added Cartridge variable to investigate the current state of the cartridge hardware (thanks to ISSOtm and ax6)
- Fixed a deadlock issue that could be caused by Reset while profiling (thanks to ISSOtm)
- Fixed the symbol listed for the bank operator in the expressions manual (thanks to superdisk)
- Fixed a regression in sound quality of Game Boy emulation (thanks to superdisk)
- Fixed an issue with Game Boy window emulation (thanks to Kabcorp and sukus)
- Fixed an issue with Step Out when C debugging
- Fixed that the debugger could show a port name for an SRAM address
- Fixed that No Disk for MSX's Disk B could not be selected
- Improved Copy address in the Memory Editor's status bar (thanks to Antígeno)
- Improved mapper detection for SEGA Mastersystem (thanks to tbsp)
Emulicious 2023-06-30
The full list of changes follows:
- Fixed an issue where the Reference Hierarchy could display null as a label
- Fixed an issue with RAM symbols defined in the disassembly if an RBGDS map file is loaded
- Fixed a rendering issue of the CPU usage graph in dark theme
- Fixed that loading a GBC rom with the Tile Viewer open caused the list of palettes to be limitted to DMG palettes (thanks to leina)
- Fixed a bug that could cause the disassembly to not get amended properly (thanks to Zumi)
- Fixed crackling sound when throttle is not 100% (thanks to Zumi)
- Fixed missing dot numbers for some IRQs (thanks to Trirosmos and sono)
- Fixed that cheats did not work while debugging (thanks to Antígeno)
- Fixed that the displayed ROM bank number wasn’t masked (thanks to Antígeno)
- Fixed a bug that could make the GUI cause a wave RAM corruption exception (thanks to ISSOtm and Evie)
- Reduced input latency with gamepads (thanks to Kabcorp)
- Improved debugging of MSXgl projects (thanks to aoineko)
- Improved performance of syntax highlighting (thanks to superdisk)
Emulicious 2023-04-23
Today is Emulicious’s 10th birthday. And this birthday comes with an update. This update adds backward stepping to Emulicious.
The full list of changes follows:
- Added Step Back to the debugger
- Fixed misdetection of dahjee adapter in Pop Flamer for SG-1000 (thanks to Saverio Russo)
→ NOWSZY [Java] Multi - Emulicious 31/03/2023
Emulicious 2023-03-31
- Added an exception that triggers for an incorrect Game Boy cartridge header (thanks to leina)
- Added missing register annotations in Memory Editor for Game Boy’s HRAM (thanks to ISSOtm)
- Added some more variables for Game Boy, most notably APU variables (thanks to ISSOtm)
- Improved wording in table headers of profiler (thanks to ISSOtm)
- Fixed that if the status bar of the Memory Editor grows after selection, it could hide the selected address
- Fixed that for Mastersystem VRAM write events the old and new value were swapped (thanks to Aissen)
- Fixed a regression that could cause unsigned variables in remote debugging to be displayed with signed values (thanks to MyNewSoundtrack)
- Fixed a regression that could cause wrong breakpoints to be added when double-clicking the ruler on banked code (thanks to purple tissue box)
- Fixed a bug where the disassembler did not amend an instruction on a sub-instruction boundary (thanks to ISSOtm)
Emulicious 2023-02-28
This update comes with support for debugfiles and several other improvements and fixes.
The full list of changes follows:
- Added support for debugfiles (thanks to ax6 and ISSOtm)
- Added options for font anti aliasing (thanks to ISSOtm)
- Made most variables in the Variables tab editable (thanks to leina)
- Made the Memory Editor reduce the spacing between bytes if Show Registers is disabled (thanks to ISSOtm)
- Improved invalid VDP access exception to catch a case that hadn’t been caught yet (thanks to sverx)
- Fixed a crash that could be caused by cheats (thanks to Revo)
- Fixed an issue that had caused memory mapped ports to not be displayed using their names (thanks to ISSOtm)
- Fixed an issue in the Memory Tracer that could make it display an incorrect source for WRAM (thanks to ISSOtm)
- Fixed the tooltip shown when hovering hli (thanks to ISSOtm)
- Fixed an issue that could cause the disassembler to timeout too quickly when remote debugging (thanks to pokeglitch)
- Fixed the mnemonic used for the ldh opcode using the c register (thanks to ax6)
- Fixed that code didn’t get amended when its being executed on a sub-instruction byte (thanks to ISSOtm and Maxim)
- Fixed color of caret in dark mode if OS uses light mode
- Fixed an issue in the Sprite Viewer that could falsly display sprites as 8×16 (thanks to 256)
Emulicious Available 2023-01-31
This month’s update doesn’t come with many changes but I hope they are useful!
The full list of changes follows:
- Added tooltips to breakpoints table (thanks to lestar)
- Added an option to control whether .sav files should be saved next to the roms or not (thanks to Kuro)
- Improved breakpoint management (thanks to 256)
- Fixed a few issues in the disassembler (thanks to bankbank)
→ NOWSZY [Java] Multi - Emulicious 31/12/2022
2022-12-31
The full list of changes is:
- Added support for Gamepads on M1 Macs (thanks to mattcurrie)
- Made Set Code / Set Data with multiple selected lines apply on all selected lines (thanks to bbbbbr)
- Fixed an issue where remote debugging would suspend on start even though stopOnEntry is false (thanks to narbys)
- Fixed a regression in Mastersystem / Game Gear sound emulation that could cause audible pops (thanks to Atmostfear)
- Fixed a regression in MSX disk emulation that could cause disk operations to fail while they shouldn’t (thanks to Zipper)
- Fixed a regression with Game Boy joypad delays (thanks to Under4Mhz)
- Fixed an issue with watch expressions referencing banked data in remote debugging (thanks to FerrantePescara)
- Fixed an issue that could cause local variables to be missing when C debugging (thanks to FerrantePescara)
2022-11-30
- This update was focused on UI improvements. Most notably the dark theme has been improved but also several other small improvements.
The full list of changes follows:
- Added option to show tool windows in the Windows taskbar (thanks to Trirosmos)
- Added support for sym files in UTF-8 format (thanks to Maxim)
- Added options to change the window theme
- Several UI improvements, most notably for dark theme
- Fixed that the Event Viewer did not rerender immediately after changing the integer scaling setting
- Fixed a regression that could cause Emulicious to crash with some dsk files (thanks to eruiz00)
- Fixed a regression that could cause settings to not be saved on restart
- Fixed a bug that could keep displaying a black screen on Linux until the window is resized (thanks to nitro2k01)
- Fixed that on Linux the main window sometimes jumped in front of the debugger window (thanks to sverx)
- Fixed that sometimes the debugger window did not get brought to top when it should (thanks to sverx and bbbbbr)
2022-10-25
The full list of changes follows:
- Added change indicator for ROM tab of the Memory Editor (thanks to 256)
- Improved performance of debug mode
- Fixed that profilers did not get persisted properly when loading another ROM
- Fixed that sometimes when loading a Game Boy savestate the initial image contained garbage (thanks to DevEd)
- Fixed an issue that could cause a toolbar icon in the debugger to display as a black square
- Fixed a bug that could rarely cause Emulicious to save a corrupted Game Boy savestate (thanks to bbbbbr)
2022-09-30
The full list of changes follows:
- Added missing base addresses in Tilemap Viewer for tile based modes on MSX2 (thanks to Bengalak)
- Improved focus traversal via TAB and Shift+TAB in the debugger (thanks to FIQ)
- Fixed that the data execution exception did not take the Suspend setting into account (thanks to superdisk)
- Fixed an issue that could cause an exception to get disabled by reloading a ROM (thanks to superdisk)
- Fixed that sometimes WRAM labels were missing in Memory Editor’s Go To dialog (thanks to FIQ)
- Fixed an issue with loading a savestate while the Game Boy is stuck in STOP (thanks to FIQ)
- Fixed missing symbols if RGBDS map files only contains sections (thanks to FIQ)
2022-09-10
- Fixed false positive on nested interrupts in the interrupt exception (thanks to Eievui, asie)
- Fixed an issue with modal dialogs (e.g. Configure Input) on Mac OS (thanks to Snoopdroop, armixer24)
- Slightly reduced startup time
Minor update of Emulicious 2022-08-31
- It comes with several bugfixes.
The full list of changes follows:
- Added sorting by column to RAM Search tool and added a right-click menu (thanks to Crash)
- Fixed issue with watch expressions in remote debugging displaying the same subvariables (thanks to Banks)
- Fixed tracking of uninitialized memory on MSX (thanks to wimpie3)
- Fixed that saving wasn’t possible from all tabs of the Memory Editor (thanks to klop)
- Fixed an issue with parsing ELIF in sources compiled with RGBDS (thanks to FIQ)
- Fixed palettes displayed in Palette Viewer in Game Boy Color’s DMG mode (thanks to bbbbbr)
- Fixed an issue with sprite mixing on MSX2 (thanks to aoineko, bengalack)
- Fixed a regression with CRAM writes on Game Gear (thanks to Maxim, Revo)
MSX2 emulation in Emulicious 2022-07-31
- This update adds MSX2 emulation!
The full list of changes follows:
- Added MSX2 emulation
- Improved scoping of C local variables in VS Code (thanks to Streuwinkel)
- Improved parsing of Sjasm lst files (thanks to bas)
- Made pause shortcut configurable (thanks to Kabcorp)
- Fixed an issue with persisting window positions at the left edge of the screen (thanks to aoineko)
- Fixed that the Memory Editor did sometimes not open when clicking a VRAM address in the viewers (thanks to bas)
- Fixed an issue with negative numbers in VS Code
- Fixed an issue in C debugging with files containing spaces or dashes (thanks to Streuwinkel)
- Fixed a bug in Game Boy noise channel emulation that could cause audible clicks (thanks to tbsp, Matt Hughson)
- Fixed the value displayed for the Z80’s R register (thanks to sverx)
→ NOWSZY [Java] Multi - Emulicious 31/05/2022
Emulicious 31/05/2022
This update comes with the following improvements:
- Added filter for reads to the Event Viewer
- Added support for multi-byte symbols from tbl files (thanks to borkitall)
- Added configurable keyboard shortcuts for exit and screenshot (thanks to Under4Mhz)
- Minor speedup of Game Boy emulation
- Better handle PUSHS/POPS in Outline (thanks to Eievui)
- Fixed that for the SMS/MSX VDP old value and new value were swapped in the Event Viewer (thanks to sverx)
- Fixed a layout issue on Mac OS (thanks to vinheim3)
- Fixed a layout issue with the registers table (thanks to bbbbbr)
- Fixed a layout issue with the expressions table on Ubuntu (thanks to bbbbbr)
- Fixed a sound resampling issue (thanks to alexmush)
- Fixed that the savestates did not correctly restore the state of the SMS audio mixer (thanks to alexmush)
- Fixed an issue that could prevent the Profile From Line option to add a profiler (thanks to bbbbbr)
- Fixed an issue that made signed C types display unsigned values in the VS Code adapter (thanks to Eric Abroad)
- Fixed an issue that could lead to unmapped lines when using RGBDS’s FOR directive (thanks to rondnelson99)
→ NOWSZY [Java] Multi - Emulicious 30/04/2022
Emulicious 2022-04-29
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 2022-03-31
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)
Emulicious 2022-02-28
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)
Emulicious 2022-01-31
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)
Emulicious 2021-12-30
- 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
Emulicious 2021-11-30
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
- 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)
Emulicious 2021-11-01
- 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
Emulicious 2021-09-30
- 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)
Emulicious 2021-08-14
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 2021-07-19
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)
Emulicious 2021-06-07
This update improves the Sprite Viewer to properly support displaying 8×8 and 8×16 sprites at the same time. It also makes the addresses in the video viewers clickable. A click on an address opens the corresponding address in the Memory Editor.
Other than that, some issues got fixed. The full list of changes follows:
- Improved Sprite Viewer to support 8×8 and 8×16 sprites at the same time
- Made the addresses in the video viewers clickable to open them in the Memory Editor
- Fixed an issue that had prevented some of the additional registers in the debugger from being edited
- Fixed that sometimes directly after disabling turbo an old frame was shown
- Fixed an issue that caused the state of some of the exception breakpoints not to be persisted
- Fixed that the Coverage tool did not update when a new rom was loaded, only after new data was gathered
Emulicious 2021-05-31
This month I did not have as much time to work on Emulicious as in the previous months. So this update only is a minor update with a few improvements.
The list of improvements is as follows:
- Improved Game Boy Color color correction and made it configurable (thanks to Eievui)
- Fixed an issue with sound not playing on some computers running Linux (thanks to lhs_azevedo)
- Minor improvements of the combined video viewer
Emulicious 2021-04-30
A major update of Emulicious got released! The main goal of this update was to improve the usability of Emulicious. The highlights of this update are that the windows stay open now when a rom is loaded and that the video viewers can now be combined into a single window.
The full list of improvements follows:
- Added an option to the tracer to write its log to a file
- Added selection to the video viewers
- Added an option to combine the video viewers into one window
- Added grids for the video viewers
- Added more options to the Debugger’s View menu (one is to reduce the spacing between rows)
- Added support for GameBoy BESS savestates that are interoperable with SameBoy and BGB (thanks to LIJI)
- Added a workaround for the path issue when remote debugging from WSL (thanks to tbsp)
- Added ROM bank and SRAM banks to the additional registers of the debugger
- Fixed an issue with remote debugging that could make VS Code disconnect from Emulicious
- Fixed Reload ROM shortcut did not always work
- Fixed copy&paste in Go To boxes (thanks to Kabcorp)
- Keep the tool windows open when a rom is loaded
- Made the sources in the viewers clickable to directly open them in the Memory Editor / Debugger
- Overhauled the Tile Viewer (thanks to Daid)
- Improved support for RGBDS 0.5.0
- In Memory Editor, show up to two labels before showing ellipsis (thanks to Advert665)
- Fixed a bug that could make the Tracer ignore its conditions
- Highlight uninitialized memory in Memory Editor
- Highlight the tile in the Tile Viewer that is currently hovered in one of the other viewers
→ NOWSZY [Java] Multi - Emulicious 30/03/2021
Emulicious 2021-03-31
A major update of Emulicious got released!
The full list of changes follows.
- Added CPU usage meter to debugger
- Added procedure cycles to Profiler’s Hotspot view
- Avoid collapsing nodes in Profiler’s call tree when the order changes (thanks to toxa)
- Added option to Memory Tracer to display file offsets in for ROM (thanks to EmuBoarding)
- Added an option to control whether to bring the debugger to top upon suspend (thanks to tbsp)
- Added options for sound sample rate and sound buffer size (thanks to Kabcorp)
- Added option to decide whether to keep ingame save data (SRAM) when loading a savestate (thanks to Maxim)
- Added color schemes for the Game Boy monochrome colors (thanks to Eievui)
- Show data types in their respective color in the status bar of the Memory Editor (thanks to Advert665)
- Fixed on Linux, sometimes the main window stayed black until a resize of the window (thanks to basxto)
- Fixed Game Boy RTC did not always load properly from .sav files (thanks to kivan117)
- Fixed SHIFT + key did not treat key as pressed (thanks to .exe)
- Fixed that after changing the layout of the Tile Viewer, its cursor did not work properly for the new layout (thanks to Kabcorp)
- Improved the performance of the disassembler
- Several other minor fixes and improvements
→ NOWSZY [Java] Multi - Emulicious 30/01/2020
Emulicious 2021-01-30
This update is focused on usability improvements. The keys of the emulator and the debugger can now be configured. This allows everyone to use the keys they prefer. Additionally, the registers in the debugger have been extended and can now be exchanged and reordered.
The full list of changes follows.
- Added more registers to the debugger and made them exchangable
- Added a Key Setup to customize emulator/debug keys
- Show banked addresses in the Memory Editor
- Improved support for installing Emulicious into a folder where it doesn’t have write access (thanks to basxto)
- Fixed the working directory of Emulicious when it gets invoked via Emulicious.exe (thanks to tbsp)
- Fixed an issue where the Outline would show opcodes as labels (thanks to Maxim)
- Fixed Emulicious reverted to scale=1 when it gets closed without loading a ROM (thanks to eruiz)
- Fixed initial state of VBK in Emulicious BIOS for GBC (thanks to .exe)
→ NOWSZY [Java] Multi - Emulicious 27/12/2020
Emulicious 2020-12-27
In the past two MacBook users of Emulicious had reported sound issues with Emulicious. Thanks to the report by glinesbdev, this update finally fixes these sound issues!
The full list of improvements follows:
- Fixed issues with sound on some Mac Books (thanks to glinesbdev)
- Added „bankS“ variable to query the current SRAM bank
- Added Profile To Next Line option to debugger’s context menu (useful for profiling call sites)
Emulicious [minor upd] 2020-12-17
- Don't patch in the hacky disk tracking into VRAM when CALL FILES(0) is active - fixes Atlantis
Emulicious [minor upd] 2020-11-30
- Added an option to always keep main window on top (can be useful for VSCode debugging)
- Reduced cracking sounds when emulation lags (e.g. when the debugger is opened)
- Added emulation of the GG X-Terminator cheat device for the Game Gear
→ NOWSZY [Java] Multi - Emulicious 04/10/2020
Emulicious [minor upd] 2020-10-04
- Fixed issues when CTRL or SHIFT were used as buttons (thanks to Kilkakon)
- Fixed code pointer in C source-level debugging
- Fixed an error when trying to paste at the end of the memory editor (thanks to JonteP)