I (Pixador) used the great Dingux-MSX 1.1.0 by Zx-81 for some days and noticed that some stuff was running faster than it should be, so despite I am not a C coder I decided to grab the sourcecode and have a look. I figured out that interrupts were happening too often but I didn't know why so I wrote to Zx-81 and he immediately found the problem and told me how to fix it... so I did :)
Some days later Zx-81 released Caanoo-MSX 1.1.1 which contained that fix, but he did not compile a build for Dingux. I then decided to merge the code for Caanoo-MSX 1.1.1 with Dingux-MSX 1.1.0 to have a "Dingux-MSX 1.1.1" (without the Caanoo-specific parts, of course).
Then I kept playing with the sourcecode, fixing some little stuff, adapting it to my own preferences, etc. At some point I found the "Cax mod", another mod of Dingux-MSX written by Cax (Stanislav Borutsky) who, just like me, also fixed the FM-PAC issue :) Besides he implemented a nice fullscreen mode, so nice that I decided to adapt it to my mod. Cax also implemented the code to recognize a megarom by its sha1 checksum, which is something I wanted to do too (first I tried to enhance the autodetection code, but it was not enough) so I just took his code and changed it a little.
Now I think it's time to give something back to the community, so here is my mod :)
Many, many thanks must go to Zx-81 for Dingux-MSX 1.1.0 and for all his
invaluable help and patience.
Thanks to Cax, too, because his mod gave some nice ideas and code, and made
me think of releasing my own mod.
Last but not least, thanks to Popolon and Supercarte, author and betatester
of msxDS (MSX emulator for the Nintendo DS) for their ideas and motivation.
* Built with dynamic linking
* Tiny fix to fullscreen render mode
* Assigned "Exit" in menu to X button (from Cax mod)
* Fixed gfx garbage in menu (from Cax mod)
* Updated the Z80 emulation to the latest fMSX one
* Emulation of M1 cycles: R register is now fully emulated and cycles are more accurate
* Fix sound speed issue - UPeriod parameter in settings menu (from Caanoo-MSX 1.1.1)
* Adjust max FPS when changing between PAL/NTSC mode (from Caanoo-MSX 1.1.1)
* Fixed joystick emulation: joystick 2 must not be a copy of joystick 1
* Fixed color 0 in MSX2 sprites
* Fixed color palette for Screen 8 sprites
* Full color depth in Screen 8
* Fixed initial memory mapping for ASCII8 and ASCII16 megaroms
* New megarom type: RTYPE
* Megarom detection with SHA1 checksum with file carts.sha (based on Cax mod)
* Tweaked the built-in megarom type detection to improve its accuracy
* Added setting to force a specific megarom type
* FM-PAC is not loaded if FM emulation disabled
* Sound is shut down when the MSX is reset
* Render modes: "zoomed" and "fullscreen" (based on Cax mod)
* More accurate speed limiter
* Faster emulation
* Changed the default CPU timing for Dingux from 200MHz to 300MHz
* Modified the button layout to have Joy-Fire2 at button B