MAME 0.126u5 was released on 14 August 2008.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Nicola Salmoria updated the FD1089 decryption algorythm to use the real keys generated by the LCG as found by Andreas Naive. The algorithm is more complex than it should be, but I haven't been able to simplify it more. The keys are still embedded in the source. It would now be reasonable to move them to external files; however, for several games we only have partial keys so the files would need to be BAD_DUMP.
- couriersud changed ad2083 to load PROM data instead of using hardcoded values.
- Derrick Renaud updated structure and naming conventions of sound and CPU cores to match core conventions.
- Derrick Renaud hooked up discrete filtering to SN76477 in Space Chaser.
- Roberto Fresca and Grull Osgo made improvements to Lucky74.c driver:
- Reverse engineering of custom IC's 06B49P, 06B53P & 09R81P.
- Mapped the missing 3x SN76489.
- Measured and traced all clocks on the board.
- Measured and fixed the interrupt system.
- Implemented timings/clocks from custom 06B49P.
- Added sound support. All regular game sounds/musics are working.
- Implemented the ADPCM samples system through 09R81P + M5205 emulation.
- Added pinouts and technical notes about custom IC's 06B49P, 06B53P & 09R81P.
- Added flip screen mode.
- Inverted the order of double-up difficult DIP switches.
- Changed 'Key In' to be active LOW instead of HIGH
- Complete memory map and ports scheme.
- Created handlers for USART port and co-processor communication.
- Renamed the sets accordingly.
- Updated all notes.
- Cleaned-up the driver.
- Andrew Gardner merged memory maps for drivers tigeroad, timelimt, toobin, tumbleb.c, tbowl, thedeep, and thief. Also changed gfx memory region tags in obvious cases.
- Eke and R. Belmont made more FM OPN fixes
- Pass chip type around and restore Jarek's original behavior for YM2203/YM2610
- Always recalculate attack rate in set_ar_ksr, fixes Megadrive/Genesis "Batman & Robin"
- Guru and Andrew Gardner added readmes for Cosmo, Don Den Lover, Beatmania (CHD dumping), Dragon Master, Gals Panic, Fantasia II, Grand Tour, New Dyna Blaster Global Quest, Daytona "To The MAXX" upgrade, Namco System FL, Great Sluggers, Gun Nail, Gun & Frontier, Elevator Action Returns, Battle Bakraid, Koro Koro Quest, Gigas (bootleg), Race Drivin', Hexa, IQ Block, Open Golf Championship, Macross Plus, Malzak, Puzzle Club, Naomi, Puzzle Star, Puckman Pockimon, Raiden 2, Raiden Fighters 2 (single board), Light Bringer, Landmaker, Knuckle Bash 2, Mahjong Fight Club, Vivid Dolls, Tower and Shaft, Star Soldier Vanishing Earth, Stone Ball, Sky Lancer, Squash, Winning Spike, Versus Net Soccer, Undercover Cops, War Gods, Space Fever, Strikers 1945, Rohga, Super Eagle Shot, Treasure Hunt (stv), Tickee Tickats, Great 1000 Miles Rally 2 and Super Monaco GP.
- robiza implemented MWR (memory width register) in shanghai to avoid hardcoded 384 value for screen width.
- Brian Troha added the Plotting PAL to the Japanese set. Also corrected the PAL ROM name.
- Guru and Derrick Renaud fixed NMI on Mad Alien sound CPU. This fixes shot sound and various other sound glitches. Marked madalien and madalina as Imperfect Graphics. They are missing an effect. When you shoot an enemy in the dark, the whole screen lights up. Basically the headlights fill the whole screen.
- Aaron Giles rejiggered huffman.c to support multiple interleaving streams and a delta-RLE pre-encoding. Added optimized case for the Y/Cb/Y/Cr video encoding case. Cleaned up the code.
- Aaron Giles updated avcomp.c to use the new huffman.c functions. Reworked configuration options to allow for both input and output of naturally aligned data streams. Updated chdman and laserdsc to use the new interfaces. New compression gives an additional 3-7% over previous attempt and compresses the dummy CHDs down significantly.
- robiza made some improvements to shanghai video drivers:
- convert framebuffer's ram from 8 bit to 16 bit
- convert dma command from 8 bit to 16 bit
- convert gfx command from 8 bit to 16 bit
- implemented all gfx mode: 1,2,4,8,16 bpp
- Now we can use this gfx chip for adp driver that use 4bpp.
- Nicola Salmoria updated Alpha 8302 MCU simulation to match newly dumped internal ROM. Added the ROM to Champion Baseball 2.
- Aaron Giles added video level detection and reporting to ldverify.
- Aaron Giles fixed incorrect test in winwork that led to spinning instead of using the nicely allocated events we had on hand.
- Aaron Giles forced a sound synchronization on each vsync in the laserdisc playback. This prevents overwriting the tail end of the buffer which was fouling up the MACH 3 audio decoding.
- Tomasz Slanina fixed ROM mapping and added preliminary video emulation to galaxia.
- R. Belmont fix coolridr crash with DRC, now hangs waiting for impossible conditions again.
- Aaron Giles added new flag to menu items: MENU_FLAG_DISABLE, which means the item will be visible but not selectable.
- Aaron Giles fixed bug that prevented the cheat engine from working when the debugger was disabled.
- Aaron Giles modified xmlfile.c to accept integer values in decimal or hex. The default is decimal. Numbers may be prefixed by '#' for decimal values, or by '$' or '0x' to indicate hexadecimal values. Also added function xml_get_attribute_int_format() to return the format of the attribute, so that it can be later replicated.
- Aaron Giles updated the cheat parser to preserve the format of attribute values used for cheat parameters and items.
- Aaron Giles added support for information-only cheat items, which will be displayed in the menu but which are not selectable and have no action associated with them. Empty information-only items are automatically converted to menu separators.
- Aaron Giles moved several include files from mame/ to emu/, as they were included by generic components in emu/ and thus should have no dependencies on the MAME code.
- Aaron Giles added new target ldplayer, which is based on MAME but serves as a standalone laserdisc player for CHDs. Right now only the Pioneer LD-V1000 is connected, and limited commands are available. Each player type is a driver, so you specify the player type on the command-line. The driver then opens the first CHD it finds in your ROM path and sees that as the laserdisc.
- The intention is that you specify the -rompath each time on the command-line, so a typical approach might be:
- ldplayer ldv1000 -rompath j:\mach3
- where it will pick up the mach3.chd lurking in your j:\mach3 folder. Several basic commands are supported:
- Space = play/pause
- Alt = toggle frame display
- Left = scan forward (when playing) or step forward (when paused)
- Right = scan backward (when playing) or step backward (when paused)
- 0-9 = enter numbers for search
- Enter = execute search to frame
- Brian Troha corrected rom names with PCB locations for Lady Bug and verified the dump against an original Universal Lady Bug PCB. Added information about the Universal PCB number and prom type.
- Fabio Priuli improved input ports for drivers starting with F->M. In particular: they add AM_READ_PORT whenever suitable, they make inputs fully 32bit where needed, they remove indexed input read handlers from INITs, they replace many read handlers with appropriate CUSTOM_INPUTs.
- Fabio Priuli made additional input port improvements:
- added dip switches and locations to go2000 (even if they were partially documented in the source)
- fixed artmagic protection (it used a wrong tag, which probably I added somewhere in 0.125uX)
- changed a lot of input related things in irem m10->m107 irem boards. First of all, moved input definitions from drivers/m92.h to include/iremipt.h and removed completely drivers/m92.h (which only contained those definitions). Added more common inputs to iremipt.h and started to use that file in m62->m107 instead of local #defines. Finally, added diplocations to all the games in m62->m107 which were missing and it implemented coinage mode 2 through dipconditions in the drivers which didn't support it.
- converted most of the games checking avgdvg_done() in inputs to use a CUSTOM_INPUT (defined in video/avgdvg.c)
- Atari Ace fixed the i386 CPU core's BSR implementation for the case where the high bit is set.
- Atari Ace collapsed timer callbacks in some cases to avoid duplicating code. In the case of crystal.c, also refactored two DMA handlers and shuffleed the init/reset code around a bit.
- Joshua Chang fixed sfiii3's title animation and the linear zoom effect that OopsWare didn't improve properly since 0.122u7.
New games added or promoted from NOT_WORKING status
New clones added