2019-12-15

MEKA (2019/12/13)

EmuCR:MEKA MEKA (2019/12/13) is released. MEKA is a multi-machine emulator for MS-DOS, MS-Windows and maybe GNU/Linux. The following machines are supported by MEKA:

* Sega Game 1000 (SG-1000)
* Sega Computer 3000 (SC-3000)
* Sega Super Control Station (SF-7000)
* Sega Mark III (+ FM Unit)
* Sega Master System (SMS)
* Sega Game Gear (GG)
* ColecoVision (COLECO)
* Othello Multivision (OMV)

MEKA Changelog:
Emulation (Main)

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]

Emulation (Audio)

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]

Misc

Changed default key mapping for Player 1 buttons to use Z/X. [Omar]
Setup panel allows to select display driver and resolution. [Omar]

Debugger

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]
Added STEPOUT command ("Continue to next RET* instruction at same stack-frame level."). [Omar]
Added STACK command ("Dump stack", with dual 8/16 bits display and with symbol resolving). [Omar]
Added VARS command ("Variables") to display content pointed by symbols in RAM. [Omar]
Added TRACE command to trace past execution. [Omar]
Improved the range of disassembly before PC cursor when running loops. [Omar]
Fixed CLOCK command 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 PRINT, etc.). [Omar]
Debugger is always available at runtime. Obsoleted /DEBUG command-line parameter. [Omar]
Debugger window can be resized. [Omar]

Tools

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]

Translations

Added Polish translation. [thr]
Updated Dutch translation. [Mark van Tilburg]

Ports

MacOSX: Preliminary MacOSX port. MEKA NEEDS A MAC MAINTENER!

GUI

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]

Sources/Development

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]

Database
Added and modified entries in the checksum and compatibility lists. [Omar]
Some particular renaming includes:

Download: MEKA (2019/12/13)
Source:Here

0 Comments

Post a Comment