home/segamaniac/Documents/genem/clownmdemu-frontend/main.cpp: In function ‘void SetSoftware(unsigned char*, size_t, const ClownMDEmu_Callbacks*)’: home/segamaniac/Documents/genem/clownmdemu-frontend/clownmdemu-frontend-common/clownmdemu/clowncommon/clowncommon.h:140:9: note: previous declaration ‘ cc_true’ In file included from /home/segamaniac/Documents/genem/clownmdemu-frontend/main.cpp:6: home/segamaniac/Documents/genem/clownmdemu-frontend/clownmdemu-frontend-common/clownmdemu/clowncommon.h:9:19: error: ‘cc_true’ conflicts with a previous declaration In file included from /home/segamaniac/Documents/genem/clownmdemu-frontend/clownmdemu-frontend-common/clownmdemu/clownmdemu.h:7, home/segamaniac/Documents/genem/clownmdemu-frontend/clownmdemu-frontend-common/clownmdemu/clowncommon.h:19: warning: "CC_SIGN_EXTEND" redefinedġ9 | #define CC_SIGN_EXTEND(type, bit_index, value) (((value) & (((type)1u cc_false’ The only problem now is that for some reason it won't compile, it seems to be something with imgui that keeps it from compiling successfully, but doesn't get really specific, will go ahead and give what showed up in my terminal (I'm on Linux and great work btw!): In file included from /home/segamaniac/Documents/genem/clownmdemu-frontend/clownmdemu-frontend-common/clownmdemu/clownmdemu.h:7,įrom /home/segamaniac/Documents/genem/clownmdemu-frontend/main.cpp:7: I had to do a lot of re configuring to go along with the components being separate, took a good while but no too bad. You can download the standalone frontend here, and the libretro frontend here. Rather than being focussed on optimisation and refactoring, I hope that the next update will be focussed on improving compatibility and emulating more features of the Mega Drive. Overall, this has been a rather incremental update. This is useful for measuring the impact of optimisations and the difference in speed between platforms. I also made a small benchmarking tool which measures the speed of the core emulation logic. Yes, Linux: to test my 68000 interpreter, I extracted it from this emulator and used it to create an emulator for the 68 Katy, a hand-built computer that runs Linux. I'm surprised that this didn't break Sonic 1, 2, or 3&K, but it did break Linux. It was this test suite that notified me of how the word-size ADDA, SUBA, and CMPA instructions were pitifully broken. In theory, the libretro core should provide a simple way of getting this emulator running on a variety of platforms: just compile the core into a library (static or shared), and use it in tandem with a libretro frontend such as RetroArch.ĭuring the development of this update, I have set up a test suite for the 68000 interpreter which allows me to check that each instruction does as it is supposed to. It lacks the debug menus of the standalone frontend, but makes up for it with features that libretro cores get for free, like customisable controllers and shaders: ![]() New to the emulator is a libretro core frontend, allowing the emulator to be used by libretro implementations such as RetroArch. The standalone frontend has had some extra debug menus added, which allow you to view the registers of the YM2612, 68000, and Z80: ![]() Compatibility with games should be a bit better than before, but still not great as many essential features of the Mega Drive are not emulated. Since the first release, the emulator has been greatly optimised, some inaccuracies in the 68000 interpreter have been addressed, and the occasional missing CPU instruction has been added. It's been too long, but finally my emulator has an update!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |