MAME/0.120

From GamerWiki

Jump to: navigation, search

A warts and all look through the history of MAME as described by the MAME Dev team themselves through their releases.

Contents

Version 0.120

Released: 2007-10-15

Source Changes

  • Added "native" architecture option to the makefile. Use this to have gcc automatically pick the most appropriate architecture based on the system that it is compiling on. [Christophe Jaillet]
  • Hooked up the KL5C80 communications CPU to the HNG64 BIOS and emulated some of its features. [Andrew Gardner, Justin Kerk]
  • Fixed a few pointer truncation bugs in the Windows 64-bit code. Enabled warnings for 64-bit pointer truncations. Merged the x86 and x64 manifests. [Atari Ace]
  • Changed 6821 PIA logging so that it only logs core messages once. [Tim Lindner]
  • Updates to various NeoGeo ROMsets. Some ROM names updated to match verified names from chip labels. A lot of "older" sets have been redumped to investigate the "64k m1/s1 issue" (also the m1 "overdumps"). Result was, ALL m1 ARE at least 128kx8; ALL s1 ARE 128kx8. The old m1 "overdumps" were incomplete dumps. In addition, it has been discovered that all "p-roms" do have a minimum size of 4mbit. A number of sets have been restored to their "original" state, and a number of others have been marked as bad dumps where appropriate. Specific changes include: [Johnboy]
  • bjourney: readded 128k m1 from Mame v0.34b5
  • bstars: fully redumped, added correct m1
  • bstars2: fully redumped, added correct m1
  • goalx3: readded 128k m1 from Mame v0.34b5
  • janshin: readded 128k m1 from Mame v0.34b5
  • joyjoy: added correct m1
  • legendos: readded 128k m1 from Mame v0.34b5
  • maglord: fully redumped, added correct m1
  • mutnat: partially redumped, added correct m1
  • nam1975: fully redumped, added correct m1/s1
  • ncombata: fully redumped, renamed set to ncombath
  • neomrdo: readded 128k s1 from Mame v0.34b5
  • pbobblen: readded 128k m1 from Mame v0.34b5
  • puzzledp: readded 128k s1 from Mame v0.34b5
  • ridhero: fully redumped, added correct s1
  • socbrawl: readded 128k s1 from Mame v0.34b5
  • ssideki2: fully redumped
  • strhoop: readded 128k m1 from Mame v0.34b5
  • svc: removed MVS tag, only one version exists (AES/MVS/PCB)
  • svcboot: removed MVS tag
  • tws96: readded 128k m1 from Mame v0.34b5
  • viewpoin: readded 128k m1/s1 from Mame v0.34b5
  • wh2j: partially redumped, renamed to wh2jh, is verified AES version
  • wh2j: fully redumped, is verified MVS version
  • wh1h: fully redumped, is verified AES version
  • wh1ha: renamed from wh1h to wh1ha
  • Made several more traditional optimizations to the voodoo emulations, gaining a few percent improvement. [Aaron Giles]
  • Further tweaked the work code to appropriately check for work items versus checking for the number of outstanding items. [Aaron Giles]
  • Simplified some of the model2 rendering code. [Aaron Giles]
  • Moved a number of files from mame/machine and mame/video to emu/machine and emu/video. In general, files that emulate a common industry standard chip (as opposed to custom, manufacturer-specific chips) were moved. Further moves may happen in the future to isolate common system-level components (such as amiga, snes, etc.). [Aaron Giles, Curt Coder]

New games added or promoted from NOT_WORKING status

New clones added

Version 0.102u1

Released: 2007-10-25

MAMETesters Bugs Fixed

  • ikki0120yel [robiza]
  • buckrog0118u2yel [couriersud]

Source Changes

  • Documented information about the various Cannonball sets. [stephh]
  • Hooked up the roz layer, fg layer and sprites to f1gpb. Still missing some video offsets, oki banking and sprites priority. [Pierpaolo Prazzoli]
  • fixed dip switches
  • fixed inputs
  • added a couple of notes
  • Updated peplus driver and related components: [Jim Stolis]
  • added internal layouts for the games
  • fixed several i8051 issues...
  • Fixed a bug with some opcodes having the wrong cycle counts
  • Fixed a bug where determining the proper timer mode
  • Fixed a bug where determining the proper serial transmit mode
  • Added support for split timer mode
  • Improved multiprocessor Voodoo performance by reducing contention during rendering. Extended the system to allow for more overlap between rendering and emulation. [couriersud, Aaron Giles]
  • Fixed a crash in the input system when you configure joypads and then unplug them and press Esc on the system info screen. [R. Belmont]
  • Defined strict types for CPU and sound chips. Removed unnecessary cpu_ prefix from several structure members. [Atari Ace]
  • Fixed the m4510 cpu core from not updating the instruction cycle counter. [Wilbert Pol]
  • Fixed memory access for m6509 instructions 91 and b1. [Wilbert Pol]
  • Changed osdcore.h to include osinline.h and allow for external inline definitions of synchronization primitives. Also added a new work queue hint WORK_QUEUE_FLAG_HIGH_FREQ which indicates that we should spin aggressively waiting for new items. [couriersud, Vas Crabb]
  • Enabled common linker warnings in the makefile. [Oliver Stoneberg]
  • Fixed a corner case in the SCSP involving timers which are polled with their IRQ enable shut off. [R. Belmont]
  • namconb1 sprites no longer broken
  • fixed missing 3d gfx in Cybersled
  • gradient colors in starblade
  • more accurate depth cueing
  • fixed crash in 2nd stage of Starblade
  • fixed lockups in Air Combat and Solvalou
  • fixes to sprite priority (see Solvalou mountain range)
  • hooked up translucency (palette shift) effect
  • Changed Model 2 rendering to use pre-clipped Z values for sorting. [Aaron Giles]
  • Properly identified bill inputs in Midway Y-unit driver games. [Aaron Giles]
  • Added more instrumentation and added some extra paranoia to the winwork code. [Aaron Giles]
  • Fixed some incorrect code in the ADSP2100 external flag handling. [Aaron Giles]
  • Created new module polynew.c which combines triangle setup, rasterization, and Voodoo-like multiprocessor support. Coverted Gaelco3D, Midway V-Unit, Namco System 22, and Voodoo drivers over to the new system. [Aaron Giles]
  • Added threadid parameter to work item callbacks. This allows for keeping per-thread information by the callbacks. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Version 0.120u2

Released: 2007-11-02

MAMETesters Bugs Fixed

  • hornet0120u1red [Ville Linde]
  • srmp6_0120u1ora [Aaron Giles]

Source Changes

  • Rewrote ACIA6850 implementation. [Curt Coder]
  • Did a complete overhaul of the Mad Alien driver. [Stefan Jokish]
  • merged memory maps and added mirror addresses
  • doubled sound chip frequency
  • implemented IRQ acknowledge for the sound CPU
  • added stub functions for missing discrete sounds
  • re-implemented tilemaps (now the tunnel walls scroll into view)
  • hooked up 6845 CRT controller
  • made several fixes related to color handling
  • cleaned up inputs and added dip switch locations
  • raised main CPU speed (guesswork)
  • added save state support
  • Repaired the IC24 timer behaviour to fix some of Deal 'Em's bugs, and also added inputs. [James Wallace]
  • Added save state support to skykid. [Mike Haaland]
  • Fixed tiny.mak based on new source reorg. [Tiago Pierezan Camargo]
  • Added support for CR-589 firmware to the System 573 driver. Made substantial changes to the SCSI support, making it require fewer hacks, and allowing one device to be derived from another. Also added save state support. [smf]
  • Added SCI support to M6803/HD63701. [Curt Coder]
  • Fixed several misnamed sound samples interfaces. [Atari Ace]
  • Switched model1 lookup functions to be index based rather than requiring a linear scan. [Atari Ace]
  • Added generic I2C bus memory support. Hooked up to the cubocd32 driver. [smf]
  • Cleaned up inline assembly support: [Aaron Giles]
  • moved all inlinable functions into new module eminline.h
  • defined a number of new inline functions, including:
  • 32x32 -> 64 bit multiply
  • fast approximate floating point reciprocal
  • removed old inline definitions from osinline.h, osd_cpu.h, etc.
  • eminline.h contains C implementations of everything
  • new module eigccx86.h contains GCC-compatible x86/64 versions
  • new module eigccppc.h contains GCC-compatible PowerPC versions
  • eminline.h automatically detects GCC environments and includes appropriate file
  • osinline.h now only used in non-GCC environments
  • updated osd/windows/osinline.h to contain MSVC-compatible versions
  • Added NORM implementation to the TMS32031 core. [Aaron Giles]
  • Created new rgbutil module which consists of inline functions for common RGB manipulation. This module can be accelerated with SSE2 or other SIMD operations. By default, only 64-bit Intel builds make use of SSE, since it can be assumed on those platforms. Reimplemented the namcos22 rasterizer in terms of these inline functions. Also updated the gaelco3d rasterizer to use this module for faster bilinear filtering. [Aaron Giles]
  • Made some progress on the Midway Zeus-based system. The 3d command stream is now parsed and the format is partially understood, enough to display some polygons but with incorrect textures in Mortal Kombat 4. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Version 0.120u3

Released: 2007-11-08

MAMETesters Bugs Fixed

  • neodriv0117u3red [Hairu]
  • kof10th0120u2yel [Robbbert]
  • 6800basedgames0120u2red [Curt Coder]
  • mpatrol0120u2yel [Curt Coder]

Source Changes

  • Cleaned up the inline assembly for both x86 and PPC, enabled the mul32 family assembly stuff on 32-bit x86, and fixed some compiler warnings on 64-bit GCC. In addition: [Vas Crabb]
  • Provided single-precision reciprocal approximation code for PowerPC and x86 with SSE2.
  • Filled in all other TBD functions in eigccx86.h for completeness.
  • Conditionalised some code in eigccppc.h so that it isn't used when the compiler has 64-bit instructions available.
  • Added static qualifiers and renamed symbols in MAME in an effort to further tidy up the global namespace. Generally generic names were targeted and some symbols that were both static and extern. Some specifics: [Atari Ace]
  • K053247_ram was made static throughout and the existing K053247_export_config was used to obtain the value in xmen.c.
  • The enums DS1991_STATE and DSP_TYPE were unused and were therefore removed.
  • Dead code in cps3.c and thayers.c was discovered and commented out.
  • Made almost all input port definitions static. [Aaron Giles]
  • Obsoleted the GAMEB macro, which is no longer necessary. [Atari Ace]
  • Fixed casting issues in new inline validity checks. [R. Belmont]
  • Some build-related improvements to the sound cores: [Atari Ace]
  • The SCSP dependency on mame/drivers/stv.c was removed allowing it to built independent of the driver.
  • The WAVE dependency on MESS code was made explicit, so it can be built independentally of MESS.
  • VOTRAX can now be built independentally of SAMPLES.
  • The YM2612 core now can be built without including the YM3438 core.
  • Unnecessary uses of BUILD_ and HAS_ macros have been removed.
  • BUILD_ instead of HAS_ macros are used in 3812intf.c for consistency with the other fm cores.
  • Added DIP locations to several SSV games (in ssv.c). [Vas Crabb]
  • Corrected some errors in the SH4 core and implemented store queues and the basics of DMA. Added a call to simulate dma transfers with external devices. [Samuele Zannoli]
  • Expanded polynew.c to support quad rendering. Converted midvunit.c over to using the new quad rendering, which fixes a number of rendering issues that have plagued the driver since the start. [Aaron Giles]
  • Added Z-clipping logic to polynew.c. Converted namcos22 over to using that code. Simplified namcos22 significantly, working in quads throughout the lower-level pipeline and then handing the results off to polynew.c. [Aaron Giles]
  • Updated model3.c to use the new poly code, and changed much of the low-level implementation to make things easier. [Aaron Giles]
  • Defined a couple of new functions in eminline.h: atomic_increment32 and atomic_decrement32. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Version 0.120u4

MAMETesters Bugs Fixed

gradius4_0120u3yel [Aaron Giles] vegas.c0120u3yel [Aaron Giles]

Source Changes

  • Made some minor changes in the inline code. The result of atomic_add32 isn't used a lot of the time, so the final addition was brought out to allow it to be optimized away. Removed the unnecessary delta argument from atomic_increment32 and atomic_decrement32 in eminline.h, and added implementations. Changed the condition for using rgbsse.h to include 32-bit platforms with SSE enabled. [Vas Crabb]
  • Did a major clean-up of the input ports in ssv.c. Brought out the common joystick, mahjong and quiz input setups, and then used PORT_INCLUDE to pull them in when needed. Also brought out the common coinage settings, to avoid needless repetition. [Vas Crabb]
  • Analyzed all driver interfaces (DRIVER_INIT, READ8_HANDLER, etc.) to determine which ones should be made static and properly tagged them all to reduce global namespace pollution. Some cases turned out to be dead code, which was also properly tagged. [Atari Ace]
  • Updated the Tube Panic driver, fixing the background scroll-in (it's smooth again now). The problem was caused by wrong synchronization between main and slave CPUs. Also modified the video driver to be scanline accurate and implemented more accurate interrupt handling. [Jarek Burczynski]
  • Altered TTL low high levels in res_net.c. This will broaden the color range a bit. Since the results are normalized, there is only a limited effect visible. [couriersud]
  • Cleaned up inputs and added dip locations in ms32.c. Also fixed dips in "47pie2" and "akiss". [Sonikos]
  • Fixed bug that caused incorrect input to be read if multiple inputs were mapped to the same mouse input under Windows. [Nathan Woods]
  • Fixed a bug in the i8051 core that improperly fired the Timer2 interrupt when it wasn't enabled. [Jim Stolis]
  • Updates to the peplus driver: [Jim Stolis]
  • Added lightpen support
  • Added PE+ Superboard support
  • Added ABC coin optics support
  • Added full I2C eeprom support
  • Added NVRAM support
  • Corrected door closure issues
  • Removed most memory hacks
  • Consolidated machines and inputs
  • New layout for pepp0158
  • Split up the MPU4 driver into a core and driver set up a la NeoGeo. Also made some timer fixes, and added some new ROMs added. [James Wallace]
  • Fixed problems introduced when the junofrst blitter code was simplified. [Chris Hardy]
  • Properly dervied clocks from crystals
  • Reworked TILE_GET_INFO to handle the proper tiles/color codes.
  • Fixed interrupts (NMI).
  • Corrected AY8910 frequency to 1.5 MHz to match the real thing.
  • Arranged the AY8910 volume in all games avoiding clips.
  • Corrected the screen visible area.
  • Added NVRAM support.
  • Reworked the memory map, mapping all the hardware I/O ports.
  • Reworked the Inputs for all sets.
  • Added implementation of Operator and Supervisor Keys.
  • Fixed some timing troubles.
  • Added partial DIP switch support with diplocations to all sets.
  • Removed the hack in DRIVER_INIT.
  • Hooked write handlers for output ports.
  • Added watchdog routines.
  • Dumped, hooked, wired and decoded the color PROM in all sets.
  • Modified the refresh rate according to hardware measurements.
  • Wired the lamps for all sets. Created their respective layouts.
  • Splitted the driver to driver/video.
  • Other minor fixes.

SCSP fixes: [kingshriek]

  • Fixed DECAY1 envelope state to not exit immediately
  • Improved support for LPSLNK and SBCTL
  • Fixed panning calculation bug
  • Fixed case where key-rate scaling is off
  • Added support for indicating that DIP switches are reversed in the DIP locations view. [Vas Crabb]
  • Added DIP locations for Midway Tron and the Nintendo Donkey Kong series (dkong.c). [Vas Crabb]
  • Added an Altivec/VMX implementation of the RGB utilities for our friends with G4, G5 and POWER5 CPUs (rgbvmx.h) and added rgbint_bilinear_filter and rgbaint_bilinear_filter to rgbsse.h (based on rgb_bilinear_filter/rgba_bilinear_filter) for completeness, as these functions exist in rgbgen.h. [Vas Crabb]
  • Updated model2.c, taitojc.c, and gticlub.c to use the new polygon routines. Deprecated the old poly.c and renamed polynew.* to poly.*. [Aaron Giles]
  • Unified poly.c callbacks so that tri and quad callbacks work the same way. [Aaron Giles]
  • Fixed display of floating point TMS32031 registers in the debugger. [Aaron Giles]
  • Fixed TMS32031 ABSF opcode to work as documented and not produce a proper negative. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Other Versions


Personal tools