Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
MEGA65: enforce VIC-IV I/O mode when running hypervisor
MEGA65: DMA fixes, clean-ups
MEGA65: using unified framework for OSD fonts / OSD API functions
XEMU-CORE: introducing OSD UI, activated when no other can work, or via the -gui osd command line option, or gui = osd config file line (useful if you don't like native GUIs or if you have special scenarios like running Xemu on top of raw framebuffer on a raspberry-pi, or you use Xemu on non-Windows, non-Mac, non-UNIX-like OS)
XEMU-CORE: HaikuOS support
MEGA65/C65: also map keys *, /, +, - on the numeric keypad
MEGA65: expose left/up cursor keys via register $D60F
MEGA65: adding registers to query "firmware" version (in case of Xemu it returns the "age" of the emulator)
XEMU-CORE: plugin-GUI interface, allowing to write external GUIs as plug-ins (does not work on Windows). See: https://github.com/lgblgblgb/xemu-pluginguis(note, normally you don't need this at all to have GUI on Mac, Windows, or any other OS if you have GTK3, or when you're fine with the OSD-UI)
MEGA65: sprite-sprite, sprite-foreground collision (now seems to work in BASIC65 at least)
XEMU-CORE: build-fixes for BSDs (C11 standard macro definition problems)
COMMODORE-LCD: adding direct (from/to memory) save/load PRG functionality (exposed in the UI too)
Changes:
-gui osd
command line option, orgui = osd
config file line (useful if you don't like native GUIs or if you have special scenarios like running Xemu on top of raw framebuffer on a raspberry-pi, or you use Xemu on non-Windows, non-Mac, non-UNIX-like OS)*
,/
,+
,-
on the numeric keypadRegression:
https://github.com/lgblgblgb/xemu/issues/198#issuecomment-1133758616
Though normally it shouldn't happen (needs overwriting I/O registers by a DMA session) but even then it shouldn't happen to hit this fatal error!