MAME 0.133u3 was released on 20 August 2009.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Yasuhiro Ogawa provided further ROM name fixes and driver name changes:
- Renamed digdugb to digdug1 (it's a rev1, not a bootleg).
- Renamed digduga1 to digdugat1.
- Angelo Salese provided SNES updates:
- Fixed direct color gfxs in mode 7.
- Fixed direct color gfxs in mode ¾.
- Fixed a vram out-of-bounds bug.
- Fixed a blending bug involving main/sub color maths.
- Fixed interlace mode gfxs when not in gfx modes 5/6.
- Fixed a GDMA boundary bug.
- Made the OAM address reset more accurate.
- Fixed HDMA mid-frame inits.
- Added clip colors to black window function.
- Converted color clipping to use struct entries.
- Made dynamic H resolutions to be called only at vblank start and and fixed gfx mode switching 1/5 and 5/1.
- Made the gfx mode switches more accurate.
- Corrected a bunch of SPC registers behaviour.
- Improved joypad read/write handling and fixed a serial port quirk.
- Fixed serial port for player 2 as well.
- Improved cart mode 20 reserved access behaviour.
- Added OBJ interlace support.
- Angelo Salese updated the ST-V driver: Improved timer 1 irq behaviour. Pebble Beach still have issues with gameplay start though (writes lots of garbage for whatever reason, really worked for random chances before).
- Brian Troha corrected name from Devil's Island to Devil Island. Filled in year for Fruit Bonus 2006 SE & Bug Fever.
- couriersud provided a discrete sound update:
- Removed global variable discrete_current_context.
- discrete_info is now passed instead of device, we may get device by using disc_info->device.
- Added DISCRETE_IMPORT(*block): imports another discrete block.
- Added DISCRETE_REMOVE(node1, node2): removes a range of nodes.
- Added DISCRETE_REPLACE: next node replaces existing node, thus preserving run order.
- Added DISCRETE_NOP(node): does nothing, to be replaced.
- Added a prescanning stage to build final block list after execution of the above.
- The additions provide an easy way to document subtle difference between boards.
- Please see audio/galaxian.c for an example.
- couriersud provided Galaxian sound updates:
- Moon Cresta and Galaxian now have their respective schematics emulated, i.e. Moon Cresta has a slightly different mixing stage.
- Cleaned up driver, added some section titles and comments, removed old code.
- Removed emu_timer, this was causing a stream of stream_updates only updating 3 samples.
- Replaced with discrete timer module DSS_TIMER now.
- Use DISCRETE_NOTE for pitch generation; it is more accurate (within the one ms where the pitch changes :-) ) and saves a node.
- Use DISCRETE_BITS_DECODE and save 2 nodes.
- Eke-Eke and Nemesis provided YM2612/3834 updates:
- Split YM2612/3834 to a separate file to avoid disturbing other OPN chips.
- SSG-EG, envelope, LFO, and CSM behavior all improved to better match tested behavior on real YM2612 chips.
- couriersud provided DSS_COUNTER updates:
- Clock_node no longer needs to be static for DISC_CLK_IS_FREQ.
- Rewrote inc/dec logic to avoid loop.
- couriersud added DISCRETE_BIT(S)_DECODE:
- Decodes individual bits from input values.
- Updated drivers which had macro DISCRETE_BITSET (which was a bit misleading).
- This should be slightly faster than using DISCRETE_TRANSROM.
- couriersud provided discrete sound enhancements:
- Put some life into RCDISC5 enable mode. This now acts as a switch between R and C. Capacitor voltage will be preserved if disabled.
- Made galaxian use the above. Saved 2 nodes and increased accuracy.
- Added DISC_LFSR_FLAG_OUTPUT_SR_SN1 flag to shift register noise generator. This will output the value of the shift register to sub-node 1. This is needed for future bzone discrete sound emulation. BTW: RCDISC5 will be used as well.
- Left a note on RCDISC3 on what is needed to be implemented for bzone.
- Optimized the LFSR a bit. LFSRs running at high frequency (> sample_freq) should benefit.
- Charles MacDonald and Lord Nightmare verified and fixed deniam.c M68K, Z80, YM3812 and OKIM6295 clocks and OKI pin 7 for logic pro and logic pro 2. Fixed visible area on logic pro and logic pro 2 to match real PCBs. Add comment about what ym3812 clone is used. Add note about missing graphical effect in logic pro (screen dim on coin insert) and marked as IMPERFECT_GRAPHICS. Add note about 4 pixels at left edge of screen.
- Aaron Giles made an attempt to define an I64FMT string that can be used for printf'ing 64-bit integers. This is defined to be "I64" on MSVC and recent mingw compilers, and "ll" for all others. Updated all instances of 64-bit prints to use the new macro.
- gregf and hap added spacwalk extended time setting and DIP locations.
- Aaron Giles merged 5110intf into tms5110, and 5220intf into tms5220.
- hap provided Z80 changes:
- Fixed X/Y flags in CCF/SCF/BIT, ZEXALL is happy now.
- Simplified DAA, renamed MEMPTR (3.8) to WZ (same temp register as the officially named WZ in the 8080), added TODO.
- hap provided 8085 changes:
- Fixed cycle deduction on unconditional CALL / RET, it took about half too many cycles.
- Added cycle tables and cleaned up source layout. This was done very carefully, it should be errorfree.
- Removed HLT cycle eating (earlier, HLT after EI could theoretically fail).
- Fixed parity flag on add/sub/cmp. Bug was caused by z80 overflow detection accidentally left in.
- Renamed temp register XX to official name WZ.
- Renamed flags from Z80 style S Z Y H X V N C to S Z X5 H X3 P V C and fixed X5 / V flags where accidentally broken due to flag names confusion.
- Aaron Giles added rgbaint_shr operations to the rgbutils. rgbvmx needs to be updated. (Nobody is using them yet.)
- Wilbert Pol added support TMS1000 family models TMS1000/1070/1100/1200/1270/1300. Added support for configuration of output PLA to the tms0980/tms1000 interface.
- Roberto Lavarone implemented transparent mode access for some 6845 model sy6845.
- Corrado Tomaselli verified clocks + Vsyncs on Downtown, Caliber 50 and Xmen (2-4 players).
- Corrado Tomaselli changed to mono both Downtown and Caliber 50: these pcbs don't have a stereo connector.
- Corrado Tomaselli verified and added correct xtals values for cps1 boards. Added correct xtal and divisor for OKI6295 taken from Forgotten Worlds schematics.
New games added or promoted from NOT_WORKING status
New clones added
New games marked as GAME_NOT_WORKING