PDA

View Full Version : MEKA 0.72 WIP 20051120



hagbard
November 21st, 2005, 00:10
While waiting until the 0.72 final comes, Omar Cornut has released a WIP version with great changes. The most important is the total rewrite of the video output engine, from the 8-bit paletted based modes to the 16/32-bit, so the emulation will be more accurate and better intregated on the Windows OS.

Meka (http://www.smspower.org/meka) is a multiple console machine emulator. Currently does 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) and Othello Multivision (OMV) emulator.

Changelog:


MEKA 0.72 WIP 20051120
----------------------
- (Win32) Updated Allegro library from WIP 4.1.18 to 4.2.0, including
various fixes/improvements (hopefully not new bugs):
http://www.talula.demon.co.uk/allegro/onlinedocs/en/changes.html
- Video:
- Upgraded everything to hi-color video modes and got rid of old,
8-bit indexed video modes. This is a major change in MEKA core.
Some of the benefits are:
- No more snow and/or color flickering on video card drivers
which disliked palette changes.
- Better integration with desktop (usually run faster).
- Getting possible to use various kind of graphics filters.
- No more hassle with color limitation for the programmer
(meaning more features implemented for the end-user).
- Finally possible to show all Game Gear colors at once,
and to implement LCD screen persistence (not yet done).
Some of the features above goes hand to hand with the blitter
system, which will be improved soon. [Omar]
- Sound:
- Added support for VGM 1.10 header type. [Omar]
- GUI:
- KeyPad Enter key now works on input boxes. [Omar]
- Added shortcut CTRL-F4: closes current window. [Omar]
- Added shortcut CTRL-TAB: cycles thru windows taking inputs. [Omar]
- Reworked theme (skin) system from stratch: [Omar]
- Changed MEKA.THM file format.
- Using explicit names for variables.
- Added more variables, making the skin system a little more
complicated but also more configurable.
- Using de-facto standard of specifying colors in #RRGGBB format.
- Rewrote most code since it was all legacy from old MEKA 0.10.
- Added link to debugger documentation in HELP menu. [Omar]
- Development:
- Debugger:
- Fixed various command-line parsing bugs. [Omar]
- Added line history. Navigate history by pressing Up/Down.
List or search in history using HISTORY (HI) command. [Omar]
- Added conditionnal breakpoints. [Omar]
eg:
BREAK r C000.. =01,02,03,04 ; break on read of 01020304 in RAM
BREAK x =C9 ; break on CPU execution of RET
BREAK x =0,0 ; break on CPU execution of NOP NOP
BREAK w pram 0 =03 ; break on PRAM write of color 0 as red
- Added display line event breakpoints/watchpoints. [Omar]
Useful for debugging line interrupts.
eg:
BREAK line #13 ; break on display line 13
- REGS (R) command in debugger now display shadow registers as well. [Omar]
- Added cursor before current instruction in disassembly. [Omar]
- Added access to shadow registers in expression evaluator. [Omar]
eg:
PRINT AF',BC',DE',HL'
- Added SET command to modify Z80 registers. [Omar]
eg:
SET BC=$1234 ; set BC register to $1234
SET DE=HL,HL=0 ; set DE=HL, then zero HL
- Added MEMEDIT command to spawn a new memory editor. [Omar]
- Memory Editor:
- Added viewing and editing of VDP registers (VREG). [Omar]
- Added configuration file directive for resizing window. [Omar]
- Fixed cursor position when inputing an address on last page. [Omar]
- Tilemap viewer:
- Added tilemap viewer. [Omar]
Shows tilemap, hovering or clicking a tile shows specific info
about it, allows filtering BG/FG, disabling tile flipping, tile
flipping, display of scrolling box, with or without raster effects.
- Made '$' default prefix for hexadecimal values in various places. [Omar]
- Datadump: [Ambil, Omar]
- Fixed "palette" dumping. Blue and green components were inverted.
Replaced dumping of target host RGB values by actual SMS/GG components.
- Added sprite pattern base address in "sprites" dumping.
- Cleaned Technical Information Viewer content, renamed a few fields
to their official names, removed redundant information. It's not
yet all clean. [Omar]
- Miscellaenous:
- Various fixes.
- Updated various tidbits in the configuration file. [Omar]
- (Win32) Removed flickering from initialization message console. [Maxim]
- (UN*X) Renamed main executable to 'meka' (instead of 'meka.exe').
- Added and modified entries in the checksum and compatibility lists. [Omar]
Some particular renaming includes:
SMS - 0e21e6cf - Astro Flash (JP) --> Astro Flash [Hack] (JP)
SMS - 5d08e823 - Fushigi no Oshiro Pit Pot (JP) --> Fushigi no Oshiro Pit Pot [Hack] (JP)
SMS - a4ac35d8 - Galaxy Force [50 / 60 Hz] --> Galaxy Force
SMS - 6c827520 - Galaxy Force [60 Hz] --> Galaxy Force (US)
SMS - dabcc054 - Ghost house (JP) --> Ghost House [Hack] (JP)
SMS - c1e699db - Great Baseball [JP] (JP) --> Great Baseball [JP] [Hack] (JP)
SMS - 84665648 - Great Soccer (JP) --> Great Soccer [Hack] (JP)
SMS - 87b9ecb8 - Satellite 7 (JP) --> Satellite 7 [Hack] (JP)
SMS - bcd91d78 - Seishun Scandal (JP) --> Seishun Scandal [Hack] (JP)
SMS - a71bc542 - Spy vs Spy (JP) --> Spy vs Spy [Hack] (JP)
SMS - 95cbf3dd - Super Tennis (JP) --> Great Tennis / Super Tennis (JP)
(note: this one is tricky. Official game name is "Great Tennis" but title screen says "Super Tennis").
SMS - 9dfa67ee - Teddy Boy Blues (JP) --> Teddy Boy Blues [Hack] (JP)
GG - f6af4b6b - Dynamite Headdy --> Dynamite Headdy (JP) (note: US/EU version is another dump)
GG - 9f64c2bb - Ichidanto-R (JP) --> Ichidant~R (Puzzle & Action)
GG - 09151743 - Tanto-R (JP) --> Tant~R (Puzzle & Action)
GG - 3d8d0dd6 - World Series Baseball [A] --> World Series Baseball [v0]
GG - bb38cfd7 - World Series Baseball [B] --> World Series Baseball [v1]

- Sources/Project
- (Win32) Now linking to zlib.lib instead of zlibs.lib (name for standard
static build of ZLIB). [Omar]
- Removed password encryption from MEKA datafile (became useless). [Omar]
- Fixed a bunch of warnings on higher warning levels. [Omar]
- Hacked a lot of old GUI code (box, widgets, menus among others), cleaned
and renamed various structures, replaced several usage of indexes by
pointers, added const qualifiers, rewrote parts of various applets,
got rid of some old obsolete code, etc. Hopefully broke nothing. [Omar]
- (Win32) Fixed MSVC project to reference LIBPNGDIR.
- (Win32) Including statically compiled libpng.lib in package. [Omar]
- (UN*X) No more need to manually edit .ASM files to compile. [Omar]


Get it here (http://www.smspower.org/meka/wip/)