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.
This new version of Emulicious enables you to load your own source files into the debugger. This means that you no longer have to step through a disassembly of your code when developing a game. Instead, you can step through the code you wrote.
Additionally the outline has been improved and now shows different icons for code and data. You can even decide if you want to hide code or data labels from the outline. The Reference Hierarchy also uses the new icons now.
A full list of changes can be found below:
- The debugger now allows to load sourcefiles so you can work with your own code now
- The disassembler now groups consecutive runs of equal bytes with dsb directives
- Added Volume levels to Sound menu
- The Outline can hide code or data now
- Outline and Reference Hierarchy use icons now to differentiate between code and data
- Coverage data is now persisted
- The memory editor now allows to save the current selection as a binary file
- On Mac OS when Emulicious is closed via Cmd+Q it will now also save its settings
- Fixed issues with symbols loaded from SDCC map files
- Fixed wrong position of current address in overview ruler
- Several minor bugfixes and improvements
→ NOWSZY [Java] Multi - Emulicious 02/02/2020
- The PAUSE key on the keyboard can now also be used for pausing the emulator (do not confuse with suspend)
- The disassembler now supports multiple labels at the same address
- WLA-DX’s _sizeof_ labels do not show up in the disassembly anymore
- Added support for child labels
- Breakpoints are based on expressions now instead of just addresses.
This improves the use of breakpoints for ROM development
- Fixed a bug with sustain in YM2413 emulation (thanks to Kagesan)
- Fixed a repain glitch in the disassembler table
- Added a Sound Viewer
- Fixed an issue in Memory Tracer for the Game Boy Color
- Improved batch file to work independently from the current working directory
→ NOWSZY [Java] Multi - Emulicious 17/11/19
- Added FM chip emulation for the SEGA Mastersystem
- Added a Clear Log button to the Breakpoint Window
- Added Palettes tab to the Memory Editor
- Added VDP and PSG tabs for Mastersystem/Game Gear to the Memory Editor
- Added OAM and HRAM tabs for Game Boy (Color) to the Memory Editor
- Added Memory Tracer support for Game Boy (Color)
- Added Watchpoints for the Memory Editor tabs
- Improved the UI of the disassembler table
- Improved Go To dialogs by adding auto-completion
- Improved Find dialogs by adding a history and several search options
- Fixed cropped images in screenshots taken from Game Boy games
This update comes with several additions and improvements. One of these addition is the emulation of the FM chip of the SEGA Mastersystem. When it is enabled in the menu Options->Emulation->Master System then games supporting this chip will play music on it.
People interested in developing, hacking or researching games will be happy to see the new tabs in the Memory Editor. For the Master System and Game Gear a tab for VDP register and a tab for PSG registers have been added. For the Game Boy and Game Boy Color a tab for OAM and a tab for HRAM have been added. All systems received a Palettes tab in the Memory Editor.
Additionally, the memory tracer (previously only available for Master System and Game Gear) now also supports the Game Boy and Game Boy Color.
Furthermore, the UI of the disassembler table of the debugger has been improved. Its first column now spans the whole width of the table.
Last but not least, the Go To dialogs and the Find dialogs have been improved. The Go To dialogs are now enhanced by auto-completion facilities and the Find dialogs received a history and several search options.
→ NOWSZY [Java] Multi - Emulicious 19/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
- Fixed a bug in the disassembler where it used labels located in wrong slots (Thanks to Wafer for pointing this out)
- Minor bugfix in procedure profiler
- 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
- Fixed an issue with the outline when sources are loaded
→ [Java] Multi - Emulicious 16/02/19
Emulicious Major Update
- Finally, you can now play your favorite games using a USB game pad connected to your PC
- The setup input dialog has been restructured
- BIOS emulation for the SEGA Game Gear has been added
- An option to skip all breakpoints has been added
- Previously, screenshots taken from a Game Gear game had contained the offscreen area. This has been fixed.
- Fixed a bug with expressions that could lead to misbehavior of the emulated system
- The Memory Editor now shows the value of the selected byte in multiple formats
- The Reference Hierarchy has been improved
- The Outline has been improved
- Several improvements of the disassembler
- The emulation accuracy of the Light Phaser has been improved
→ [Java] Multi - Emulicious 14/01/18
Emulicious Major Update
It comes with several improvements:
- Improved emulation accuracy of the sound chip of the SEGA Master System and SEGA Game Gear.
The improvement fixes issues with PDM sound.
- Added an option to force hardware acceleration for graphics. Bilinear Filtering can only be
enabled when graphics hardware acceleration is available
- Several improvements of the disassembler and the memory tracer. They both are aware of SRAM now.
→ [Java] Multi - Emulicious 05/05/17
- Added option to control if emulation should be suspended when debugger is opened.
→ [Java] Multi - Emulicious 02/04/17
VRAM Watchpoints can now be added in the Memory Editor and in the Breakpoint Window using the prefix 'v' so entering "v0" would add a VRAM watchpoint on the VRAM address 0. The Whats New file has been added to the project to let you keep track on what's new more easily.
→ [Java] Multi - Emulicious 27/02/17
It comes with serveral new features and some improvements to existing tools.
BIOS files for all supported systems can be selected now. For casual users this can help to improve the authenticity of the emulated system. But also developers can benefit from it because they can test if their rom will be rejected by the BIOS. Additionally, the state of the system after the BIOS will be faithfully reproduced. Appropriate BIOS files can be found on the web.
The Master Everdrive and the Everdrive GG can be emulated now. This feature as well can help to improve the authenticity of the emulated system. Developers can test if their rom is compatible with an Everdrive and also the state of the system after the Everdrive will be faithfully reproduced. To enable Everdrive emulation you need an Everdrive OS file. These can be found on the official website of the Everdrive. You can select a 1bpp font to use with the Everdrive but you can also let Emulicious derive a 1bpp font from the system font. Recent versions of the Everdrive OS come with their own font. They ignore the selected font.
The Memory Editor got expanded by a context menu and its interaction with the Debugger has been improved. Table files can now be manually selected in the Memory Editor and symbol files can now be manually selected in the Debugger. Furthermore, the Memory Editor now supports multi-selection and copy&paste. The Coverage Analyzer also got expanded by a context menu. It allows to exclude selected addresses from the analysis or to reset the collected data for selected addresses.
→ [Java] Multi - Emulicious 04/12/16
- The disassembler now also identifies accesses to ports and creates labels for them as well.
- Profiler data is now persisted between runs of Emulicious.
- When hovering a sprite in the Sprite Editor it now also gets highlighted in the main window.
- New errors have been added to expressions that should help with writing correct expressions.
- Savestates. Savestates can now be used with hotkeys. The number keys 1-9 load the savestate from the corresponding slot. Holding the CTRL key while pressing the number keys saves into the corresponding slot. If you accidentally loaded a state instead of saving to it you can just undo the load and return to state before loading.
- A RAM Search tool (also known as Cheat Search) has been added to Emulicious. It filters RAM addresses based on the comparison of the current value with its previous value. It helps to identify variables within RAM such as the number of lives, the current position, and so on.
- A plotter has been added that can plot the data of a specified range in ROM. It can help to identify tables such as sine/cosine tables or other pattern data.
- A RAM Watch tool has been added. It keeps track of the values of specified variables / values in RAM and plots them.