This update adds remote debugging with VS Code. It allows source level debugging with ASM and C code, breakpoints in your own source code and inspection of variables and system state.
I’ve already thought about adding external debugging support for some years now but never got around to actually implementing it. So 2 weeks ago I decided to finally look into it and started to implement it.
The required VS Code extension can be found on https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger
This update comes with several additions and improvements. Most notably an additional system is now emulated, the MSX.
Four weeks ago I got interested in emulating the MSX and now I feel it is ready to be released. It supports most cartridge ROMs released for the MSX1. If a disk ROM and an alternative BIOS are provided it also supports program on floppy disks in the form of dsk images.
Emulicious’s debugger now also supports loading Sjasm lst files as source files. Sjasm is a Z80 assembler that is often used for MSX development but can also be used for other Z80 systems like the Mastersystem.
Furthermore, the profiler has been improved to better support the calling convention of C.
The full list of changes follows:
Added MSX emulation
Added support to load lst files containing Sjasm sourcecode in the debugger
Improved Profiler to better work with C calling convention
Remember last directory for loading sources/symbols
Fixed an issue with breakpoints on ROMs larger than 4 MB (thanks to Antígeno)
Improved Auto Palette option in Tile Viewer for SMS Mode 4
Added View menu to Tile Viewer to choose different layouts
Added Frame Advance to the main emulator (formerly only available in debugger)
Improved Tilemap Viewer and Tile Viewer support for TMS Modes
Added CTRL+SHIFT+BACKSPACE as hotkey for Reload ROM
Added an option to automatically reload a ROM when it changes
Fixed a bug that wouldn’t allow setting gamepad inputs if there are more than 2 gamepads connected (Thanks to Niloct)
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.
The full list of changes follows:
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