MEKA 0.71 Released!

Lefteris_D

Administrator
Staff member
And now it is time for an official MEKA release, 0.71! Here are the changes in this version:

Now that MEKA is open-source, welcoming other developpers!
  • New contributor: Robert Raper (DjRobX)
  • New contributor: Maxim Stephin (MaxSt)
    Names between brackets refers to the person(s) involved in a change.
Blitter/Video:
  • Added triple buffering support on fullscreen blitters. [DjRobX]
    Made triple buffering the default for appliable video modes. It might or not work on all configuration. Please report if any problem arise.
  • Added max stretch support on fullscreen blitters. [DjRobX]
    This is currently only available on normal and HQ2X filter.
    Integer/ratio stretch not yet supported, so it is recommended to use a resolution multiple of the emulated system screen size.
  • Added support for internally converting the 8-bit video buffer to another video depth and blitting that. [DjRobX]
  • Integrated Maxim Stephin's HQ2X graphics filter, and added a dedicated blitter. Only 16-bits output is supported as of yet. [MaxSt,DjRobX]
GUI:
  • Fixed input box widget missing keys on skipped frames. [Omar]
    This made key inputs very annoying on certain configuration, and especially with 3-D glasses auto-frame-skipping enabled.
  • Fixed a problem losing focus while dragging GUI windows with certain kind of widgets (happened on tile viewer & memory editor, among other). [Omar]
Development:
  • Updated debugger documentation. [Omar]
  • Added symbol loading in NO$GMB format, as generated by the commonly used WLA DX linker (-s parameter). [Omar]
  • Added label/symbol viewing in Z80 disassembly window. [Omar]
  • Relative offsets are now resolved in Z80 disassembly window. [Omar]
  • Added expression evaluator. [Omar]
    Supports integer operators +,-,*,/, binary operators &,|,^, parenthesis, symbols and CPU registers replacement.
    Yet missing: unary operators -,!,~.
    All commands uses the expression evaluator to get their numeric parameters, so you can use it everywhere.
    eg:
    B function ; break at given 'function' symbol
    M my_data ; memory dump from 'my_data' symbol
  • Added PRINT (P) command to evaluate and print expressions. [Omar]
    eg:
    P IX,IY ; print IX and IY registers
    P 1200+34 ; print $1234
    P %00101010 ; print 42
    P HL+(BC*4) ; print HL+BC*4
    P label ; print label
  • Added contextual command line completion. [Omar]
    Press TAB to complete current input with matching command/symbols.
    eg:
    b[tab] ; -> BREAK
    b[tab]la[tab] ; -> BREAK label
  • Added SYMBOLS (SYM) command to list and search for a symbol. [Omar]
  • Changed breakpoint/watchpoint range syntax to '..' to avoid any syntaxical ambiguity with substraction (eg: B 1000..2000). [Omar]
  • Added "B ENABLE/DISABLE ALL" shortcuts to enable/disable all breakpoints at once. [Omar]
  • Added "B CLEAR DISABLED" shortcut to clear disabled breakpoints. [Omar]
  • Added "Reload ROM" functionnality in the debug menu, for quicker reload.
  • Palette viewer now shows color entry data while hovering colors. [Omar]
  • Fixed display of CPU flags (only bit 0 was properly interpreted, because of a typo). Added display of undocumented flags bits 3 and 5 (partially emulated). [Omar]
  • Made it that debugger log to file is immediately flushed. This allows reading the log file in live while the debugger is running. [Omar]
  • Added REGS (R) command to dump Z80 registers to the log console. [Omar]
  • Added animation displaying weither CPU is running or not. [Omar]
  • Fixed behavior of step/step over/continue when executing while being located on a breakpoint. [Omar]
  • Fixed behavior of step over an infinite loop. [Omar]
Sources/Project
  • (Linux) Updated Makefile and some sources tidbits for proper compilation. [Omar,Belegdol,Proppy]
  • (Linux,DOS) Object directories are now created automatically. [Omar]
  • (Linux,DOS) Removed "smscheck" tool building from Makefile. Has nothing to do with MEKA. [Omar]
  • (Linux,DOS) Added 'BUILD' switch in Makefile to select between release and debug builds.
  • (Win32) Make it that build date/time stamp in build.c is updated when rebuilding the solution. Removed buildupd.exe executable from sources. [Omar]
  • (DOS) I'm stopping to maintain the MS-DOS port. A maintener is welcome. [Omar]
Miscellaenous:
  • (Win32) Added a "setup.bat" command file to run the interactive setup. Seems like few people were aware of the command-line option. [Omar]
  • (Win32) The interactive setup now offers to enable/disable the debugger, so you don't have to manually enable it. [Omar]
  • (Win32) Updated Allegro library from WIP 4.1.12 to 4.1.18, which includes various fixes/improvements: http://www.talula.demon.co.uk/allegro/onlinedocs/en/changes.html
  • (Win32) Fixed crash on early aborting (eg: command line error) due to non properly stopping joystick polling thread. [Omar]
  • Fixed loading of corrupted or incorrectly sized ROM images that would sometimes made the engine crash. [Omar]
  • Updated various tidbits of documentation. [Omar]
Added and modified entries in the checksum and compatibility lists. [Omar]
Some particular renaming includes:
SMS - 60c19645 - Akai Koudan Zillion (JP) --> Zillion / Akai Koudan Zillion (note: this ROM was released in both Japan and Europe)
SMS - a1710f13 - Lucky Dime Caper, The --> Lucky Dime Caper, The - Starring Donald Duck
SMS - 5718762c - Zillion --> Zillion (US)
GG - 7b7717b8 - Big War / Daisenryaku G (JP) --> Taisen-gata Daisenryaku G (JP)
GG - a49e9033 - NBA JAM --> NBA JAM (JP)

Note that DjRobX's video/blitter changes were integrated but some features may not be compatible with all others, and some need improvements. You are welcome to experiment different configuration settings in MEKA.BLT but not everything may work properly. The preset "HQ2X" blitter should works, though.

The current blitter system makes it not trivial to do everything we want, it is too limited in configuration, and was first made with MS-DOS and low end computers in mind. As of next versions, I will work on reoverhauling the system, trying to better fits needs of the 21st century (resizing, multiple depth, hi-color, windowed modes without borders, non 4:3 ratio screens, different refresh rates...) and improve ease of setupping. Expect many changes in this area (hopefully). [Omar]


You can get it from here.
 
Last edited:
Top