Many enhancements since v1.31. I've copied a larger chunk of the ChangeLog than usual , see below.

- The M68K debugger has been improved, with the ability to step over multiple instructions, display them while they are executed, and modify registers and memory.

- Breakpoints now work as expected and disassembler displays instructions properly.

- 6-button controller emulation has also been fixed, it wasn't working correctly.

- OpenGL now byte-swaps 32-bit textures by default on big endian machines.

- Fixed infinite loop introduced in v1.31, which prevented DGen/SDL from exiting.

- Imported Cyclone 68000, a highly optimized M68K core written in pure ARM assembly. It is much faster than Musashi, especially on low-spec machines such as the Raspberry Pi.

- Imported DrZ80, a Z80 core also written in pure ARM assembly (from PicoDrive).

- These two CPU cores are now used by default on ARM-based machines.

- Implemented MJazz, a feature present in the original Win32 version of DGen. Enabling bool_mjazz initializes three FM chips instead of one. Each additional chip runs at twice the rate of the previous one, causing the MJazz sound effect.

- Updated Musashi to version 3.31. This new version fixes many games.

- Made DGen/SDL more responsive on slow machines by checking input events after each dropped frame.

- Double-buffering can now be disabled, useful on slow machines.

- Added an optional separate thread (bool_screen_thread) for displaying frames. Only useful on slower machines where flipping video buffers takes time, especially when V-sync is enabled and doing so blocks DGen/SDL until the next frame without consuming CPU time (such as the case of Dispmanx on the Raspberry Pi when bool_doublebuffer is also enabled).

- Optimized Musashi to access memory regions directly without going through callbacks. This idea was taken from Genesis Plus GX. Although not as fast as Cyclone 68000 on ARM, it is noticeably faster than before.

- VDP: implemented VDP interrupts properly.

- VDP: added the ability to switch VDP planes on and off.

- VDP: improved sprites priority bit handling to fix sprites glitches in a lot of games.

- VDP: implemented sprites limitations (per-line, per-frame, dot overflow), and enhanced masking (DGen/SDL now passes Nemesis' sprite masking test ROM).

- VDP: implemented sprites boxing, the ability to draw boxes around sprites for debugging purposes.

- VDP: implemented 2-cell vertical column scrolling mode. This fixes video glitches in several games.

- VDP: optimized tiles blitting (but it's hard to notice).

- VDP: implemented sprite overflow and collision bits.

- VDP: forced data offset from the name table to wrap at 8K to fix video glitches in some games.

- Updated StarScream to version 0.26d (was previously 0.26a).

- Joysticks support has been reworked. They are now managed like the keyboard, with similar names in the configuration file (joy_* instead of key_*). Because of this, some configuration variables have been removed and no longer work in DGen/SDL 1.32. Configuration files must be updated manually.

- Implemented the ability to bind/unbind keys and joystick/joypad buttons to arbitrary commands using bind_* variables. This replaces the similar feature that only worked with joystick buttons.

- "calibrate_js" has been renamed "calibrate" and now works with both keyboard and joystick events. Makes controllers configuration straightforward.

- Implemented "bool_buttons" to display each pressed button in the status bar. Helpful when configuring buttons manually.

- Updated user and code documentation (Doxygen).

- Screenshot files names are now prefixed with the ROM name so they are easier to find.

- Many other minor bugfixes.