- Mappers: added support for Mapper 19 (
MAPPER_SMS_Korean_2000_xor_1F) for: "128 Hap", "Game Mo-eumjip 188 Hap". [@bsittler, @ocornut]
- Mappers: added support for Mapper 20 (
MAPPER_SMS_Korean_BFFC) for "Super Game 200" etc. [@bsittler, @ocornut]
- Mappers: improved support for Mapper 18 (
MAPPER_SMS_Korean_MSX_8KB_0300) for: "Super Game World 30 Hap", "Super Game World 75 Hap", "Super Multi Game - Super 75 in 1", "Super Multi Game - Super 125 in 1". [@bsittler, @ocornut]
- Added and modified entries in the checksum and compatibility lists.
- Windows: Stopped shipping UPX-compressed builds. (#60, #63).
- Windows: Building with Visual Studio 2019 toolchain.
- Mappers: added support for Korean xx-in-1 mapper for: 'Super Multi Game - Super 75 in 1' and 'Super Game World 75'.
- Added and modified entries in the checksum and compatibility lists.
We have never tagged builds on github since Meka went into it's long 0.80 journey.. let's do this now..
What has changed since Meka 0.72:
- Z80: Fixed emulation of R register (fixes 'Bubble Bobble', 'Hong Kil Dong' among others) [Calindro]
- Z80: Fixed CPDR running fully and ignoring interrupts. [Calindro]
- Z80: Fixed HALT timing. [Calindro]
- VDP: Setting address via palette write preserve upper address bits. Fixes tests #4 and #15 of FluBBA's VDP Tester. [Omar]
- VDP: Writing to palette sets the read buffer. Fixes test #10 of FluBBA's VDP Tester. [Omar]
- PSG: Added support for Game Gear stereo emulation! [Maxim]
- PSG: Emulate the PSG volumes "ideally" rather than matching some real systems' suboptimal output. [Maxim]
- Emu2413: Fixed commands 0x26-0x28 from turning off the drums. [ValleyBell]
- Rewrote sound engine and fixed audio issues that many users had. Still issues and PAL mode are broken... The sound is also now functional under Linux and MacOS. [Omar]
Emulation (Memory System, Mappers, Peripherals)
- Added support for variant of MSX-based Korean 8KB mapper used by 'Nemesis'. [Omar]
- Added support for '4 PAK All Action' mapper. [Omar]
- Added support for 'Janggun-ui Adeul' mapper. [Omar]
- Added support for Taiwanese DahJee/Jumbo SG-1000 II RAM extension adapter. [Omar]
- Added support for Sega Graphic Tablet v2.0 prototype hardware. [Maxim,Omar]
- Added support for Korean Hi-Com 3-in-1 and 8-in-1 mapper. [Omar]
- Added support for SC-3000 Survivors Multicart mapper. [Omar,Honestbob]
- Fixed 32K "No Mapper" mapper from forwarding 3-D Glasses writes. Fixes '3D Gunner'. [Omar]
- SMS/GG ROM images smaller than 48KB default to using no mapper. [Omar]
- Hardware reset leaves RAM cleared with $F0 patterns on Japanese SMS. This allow 'Ali Baba' and 'Block Hole' to run properly. Better clearing patterns could be implemented for other systems/countries after we've done more research. [Omar]
- Added support for mirrored VDP ports in $80..$BF range, as required by some Korean games such as 'Pooyan', 'Sky Jaguar' or 'E.I.'. [Omar]
- Light Phaser: Adding per-game hacky light phaser function to reduce drift between perceived cursor and what the game will end up using, particularly useful for 'Missile Defense 3-D' and '3D Gunner'. [Omar]
- Changed default key mapping for Player 1 buttons to use Z/X. [Omar]
- Setup panel allows to select display driver and resolution. [Omar]
- Added support for setting breakpoint from ROM addresses (perform reverse mapping to validate address). [Omar]
- Referring to a symbol using with the : prefix (in the form ":xxxx") returns the ROM address instead of the CPU address. [Omar]
STEPOUTcommand ("Continue to next
RET*instruction at same stack-frame level."). [Omar]
STACKcommand ("Dump stack", with dual 8/16 bits display and with symbol resolving). [Omar]
VARScommand ("Variables") to display content pointed by symbols in RAM. [Omar]
TRACEcommand to trace past execution. [Omar]
- Improved the range of disassembly before PC cursor when running loops. [Omar]
CLOCKcommand display for period longer than 10 minutes. [Maxim]
- Added support for parsing the bank in NO&GMB/WLA symbol format. Symbols are turned into ROM addresses. [Omar]
- Added support for parsing SJASM symbol format. [Omar]
- Added support for parsing TASM symbol format. [Omar]
- Added a "Reload Symbols" menu option (useful when manually crafting symbols while reverse engineering). [Omar]
- Added shortcuts button in interface for "Stop/Continue", "Step", "StepOver", "StepOut", "Stack". [Omar]
- Disassembler: uses recorded Z80 execution history to allow semi-freely scrolling up and down in disassembly. [Omar]
- Disassembler: display symbols given their full ROM bank mapping (if bank information is provided by symbols file). [Omar]
- Disassembler: display symbols in 'RST xx' instructions. [Omar]
- Disassembler: opcodes shown in lower-case, increased spacing for readability. [Omar]
- Disassembler: display symbols+offset on JP/JR/CALL/RET/DJNZ instructions. [Omar]
- Disassembler: display symbols on IX/IY indexed instructions given the current value of IX/IY. [Omar]
- Disassembler: fixed issues with prefixed instructions. [Omar]
- Improved disassembler view centering, increased the track-back buffer, fixed issues with prefixed instructions. [Omar]
- Better support for 24-bits constants (for
- Debugger is always available at runtime. Obsoleted /DEBUG command-line parameter. [Omar]
- Debugger window can be resized. [Omar]
- CheatFinder: added a new cheat finder application. [Omar]
- Can search for 1-bit, 8-bit, 16-bit, 24-bit values.
- Can search in RAM,ROM,VRAM,VREG,PRAM,SRAM,Z80 spaces for maximum flexibility,
although for actual cheat-finding purpose RAM is likely to be more searched for.
- Reduce the match set by using ==,!=,<,>,<=,>= operators, compare with a constant
or the old value stored in each match memory location.
- Highlight matches in the memory editor for easier visibility.
- Undo button.
- TilemapViewer: support for legacy graphic mode 2 used by SG-1000 games. [Omar]
- TilemapViewer: support for 256x256 tilemap used in PAL/SECAM wide screen mode. [Omar]
- TileViewer: support for showing full 16 KB range of tiles in legacy graphic modes. [Omar]
- MemoryEditor: fixed editing of 93c46 EEPROM memory. [Omar]
- MemoryEditor: fixed display of address when number of columns is not 16. [Omar]
- Wav Logging: recording in Stereo. [Maxim]
- Added Polish translation. [thr]
- Updated Dutch translation. [Mark van Tilburg]
- MacOSX: Preliminary MacOSX port. MEKA NEEDS A MAC MAINTENER!
- Now possible to resize the game window and some of the tools. [Omar]
- Now possible to change the font of the tools in the .CFG file. [Omar]
- Made "Ocean" the default theme and increased default GUI resolution. [Omar]
- Made "SMS Power! theme more readable. [Omar]
- TextInput: support for text selection, hold SHIFT+Left/Right keys to select text. [Omar]
- TextInput: support for CTRL+Left/Right to jump to previous/next word. [Omar]
- TextInput: support for clipboard (CTRL+X,CTRL+C,CTRL+V) shortcuts, tied to OS clipboard. [Omar]
- Depth order of windows is preserved accross sessions. [Omar]
- Increased mouse horizontal range when using scrollbars. [Omar]
- Added 'game_window_scale' directive on configuration file to resize game window. [Omar]
- Discontinued ALT+P (=F12) and CTRL+X (=F10) shortcuts. [Omar]
- Added ALT+V shortcut to start/stop VGM logging. [Omar]
- Menu entries display their shortcuts. Tidied up some menu entries. [Omar]
- Pressing DEL key in a text input box delete the character ahead of cursor. [Omar]
- FileBrowser: search for known extension when opening ZIP file (instead of picking first). [Maxim]
- FileBrowser: holding CTRL key while using the mouse wheel fasten scrolling. [Omar]
- FileBrowser: returning to parent directory position cursor on last child. [Omar]
- FileBrowser: BackSpace key is shortcut to return to parent directory. [Omar]
- FileBrowser: display JP flag when a game is JP/KR or JP/TW in the database. [Omar]
- FileBrowser: alphabetical shortcuts ignore disk drivers under Windows. [Omar]
- 3-D Glasses mode doesn't halve framerate of the interface anymore. [Omar]
- Now build with a C++ compiler, fixed all incompatible C constructs + lots of cleanup. Codebase can now freely take advantage of all C++ compiler features. [Omar]
- Updated from Allegro 4 (software rendering based) to Allegro 5.2.40 (with OpenGL/DirectX backends). This required a lot of changes and rewrite in the codebase. It probably added new bugs, and performances seems to vary depending on computer settings and video drivers. [Omar, Maxim] Please do report if you have any issue/slowdown so we can fix them!
- Added a batch script 'tools/dist_bin_win32.bat' to create binary Win32 package. [Omar]
- Removed #ifdef-out code that was used by the MS-DOS version. [Omar]
- Removed code for the old OPL3 based YM2413 emulator. [Omar]
- Removed easter egg code for emulating the NES. [Omar]
- Removed easter egg mini-games and various other obsolete features. [Omar]
- Removed mekaw.txt and mekanix.txt documentation files (obsolete). [Omar]
- (Win32) Updated project to using Visual Studio 2017. [Maxim]
- (Win32) Grabbing dependencies via nuget. [Maxim]
- (Win32) Using precompiled header for faster compilation (MSVC). [Omar]
- Configuration file is created early on startup if missing. [Omar]
Added and modified entries in the checksum and compatibility lists. [Omar]
Some particular renaming includes:
SMS - c4bb1676 - E-SWAT [A] --> E-SWAT [v0] SMS - c10fce39 - E-SWAT [B] --> E-SWAT [v1] SMS - d1a7b1aa - Olympic Gold (KR, BR) --> Olympic Gold [v0] SMS - 6a5a1e39 - Olympic Gold --> Olympic Gold [v1] GG - a6bf865e - Beavis and Butt-Head (MTV's) (EU) --> Beavis and Butt-Head (MTV's) (US, EU) GG - 3858f14f - Beavis and Butt-Head (MTV's) (US) --> Beavis and Butt-Head (MTV's) [Proto] GG - f3ca6676 - Columns (JP) --> Columns [v0] GG - 83fa26d9 - Columns --> Columns [v2] GG - a8ef36a7 - Junction --> Junction (JP) GG - 23f9150a - Kawasaki Superbike Challenge --> Kawasaki Superbikes (EU) (now dumped US version) GG - a45fffb7 - Riddick Bowe Boxing --> Riddick Bowe Boxing (JP) GG - de25e2d8 - Sports Illustrated - Championship F..--> Sports Illustrated - Championship Football & Baseball [BAD] (was bad dump) GG - 5b5de94d - Sports Trivia - Championship Edition --> Spo...