MAME 0.136u2

From MAMEDEV Wiki
Revision as of 08:35, 2 February 2010 by Osso (talk | contribs) (→‎Game Support: Oops)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Release Date

MAME 0.136u2 was released on 28 January 2010.


Contributors

The known contributors for this version are, in alphabetical order:


Specific Contributions

The known contributions for this version are, in the order specified in the whatsnew:

  • Aaron Giles fixed memory allocation issue in debug builds.
  • couriersud added makefile autotest for BIGENDIAN. A bit hacked, though.
  • PsikyoFan provided psikyosh improvements:
    • Add support for per-scanline scroll/zoom and per-column effects. This is adds a significant performance penalty when enabled. Removed warning flag from s1945ii and s1945iii. s1945iii needs confirmation of correctness and x-zoom is a guess.
    • Virtually completed video rendering. Only flipscreen missing (and conversion to tilemaps one day). Per-line effects now respect per-line alpha, priority and bank. As a result daraku text works without any hacks.
    • Added various optimisations to get back all games to a playable speed.
    • Fixed missing soldivid effect on final boss that was broken due to above daraku hack.
    • Added accurate scaling effects based on measurements from hardware.
  • Angelo Salese provided cybertnk improvements:
    • Fixed sprite height.
    • Implemented flip x and negative y offsets.
    • Implemented preliminary zooming.
  • couriersud rewrote sdl.mak:
    • TARGETOS=freebsd may now be given on make invocation.
    • Modular approach, separate sections for opengl, x11, debugger.
    • Most target specific settings parametrized.
    • Added GTL_INSTLL_ROOT to optionally build win32 with the mame debugger.
    • On targets supporting "-m64" and "-m32" use them.
    • On unix ppc targets, add -Dpowerpc automatically.
  • Aaron Giles improved stack walking on crash in Windows. Now using StackWalk64 to do the stack walk, resulting in cleaner logs. Also will try to use system function to look up symbol and source/line information if present.
  • Aaron Giles removed the various HAS_xxxx for sound cores. To select sound cores, just choose them in the make system. Further granularity is not necessary. This also means that the samples core is always required.
  • Roberto Fresca added improvements to subsino.c:
    • (general):
      • Lowered CPU clock to 1.5 MHz.
      • Reworked former inputs.
      • Added specific game and technical notes.
      • Added lamps support.
      • Cleaned-up a bit the driver.
    • Victor 5:
      • Mapped the M6295 but commented out due to missing sample roms.
      • Added keyin, keyout, payout, stats and settings inputs.
      • Added coin/keyin/keyout counters.
      • Limited the bet and coin pulses to avoid repeats and coin jams.
      • Added complete coinage and keyin DIP switches.
      • Added main game and double-up rates DIP switches.
      • Added minimum bet DIP switches.
      • Added maximum bet DIP switches.
      • Added attract music DIP switch.
      • Added button-lamps layout.
    • Victor 21:
      • Mapped the M6295 but commented out due to missing sample roms.
      • Added bet x10, keyin, keyout, stats and settings inputs.
      • Added coin/keyin/keyout/payout counters.
      • Limited the bet and coin pulses to avoid repeats and coin jams.
      • Added complete coinage and keyin DIP switches.
      • Added main game rate DIP switches.
      • Added minimum bet DIP switches.
      • Added attract music DIP switch.
      • Added button-lamps layout.
    • Poker Carnival (crsbingo):
      • Added change card, keyin, keyout, stats and settings inputs.
      • Added coin/keyin/keyout/payout counters.
      • Limited the bet and coin pulses to avoid repeats and coin jams.
      • Added complete coinage and keyin DIP switches.
      • Added double-up rate DIP switches.
      • Added minimum bet DIP switches.
      • Added maximum bet DIP switches.
      • Added cards graphics DIP switches.
      • Added double-up type DIP switches.
      • Added button-lamps layout.
    • Super Rider, Super Moto:
      • Added stats and settings inputs.
      • Added coin counters.
      • Added main game and double-up rates DIP switches.
      • Added double-up and control type DIP switches.
      • Added coinage and demo sounds DIP switches.
      • Added button-lamps layout.
    • Shark Party:
      • Added stats and settings inputs.
      • Added coin counters.
      • Added main game and double-up rates DIP switches.
      • Added double-up, coinage and demo sounds DIP switches.
      • Added button-lamps layout.
  • Aaron Giles created new template class tagged_list which manages a simple list along with a tagmap. Changed memory regions, input ports, and devices to use this class. For devices, converted typenext and classnext fields into methods which dynamically search for the next item. Changed a number of macros to use the features of the class, removing the need for a bunch of helper functions.
  • Aaron Giles replaced device_find_child_by_tag() -> device->subdevice().
  • couriersud removed stdlib.h from osdcomm.h:
    • Added #include stdlib.h where now necessary.
    • Fixed Solaris build.
    • Fixed building unidasm for OSD=sdl on win32.
  • couriersud included stdlib.h in tools where needed.
  • couriersud changed core library files to use osd_malloc/osd_free where appropriate.
  • couriersud added checkautodetect target to makefile.
  • couriersud permitted zlib and expat to be linked dynamically without changing the makefile by specifying "=0": make BUILD_ZLIB=0 BUILD_EXPAT=0.
  • Atari Ace converted the following drivers to use a driver_data structure:
    • bigstrkb, mugsmash, pass, sbugger, sderby, shadfrce, shootout, silkroad, spbactn, sslam, stlforce, taitojc, tunhunt, welltris, wwfsstar, xyonix
    • 39in1, safarir, sbowling, shougi, skeetsht, skyarmy, sliver, spoker, spool99, srmp5, srmp6, ssingles, sstrangr, sub, supdrapo, superdq, supertnk, suprgolf
  • Andrew Gardner implemented low-res texture decoding for hng64. All red/green polygons should now be textured.
  • Aaron Giles corrected a long-standing design flaw: device configuration state is now separate from runtime device state:
    • There is a new class 'running_device' which represents the state of a live device. A list of these running_devices sits in machine->devicelist and is created when a running_machine is instantiated.
    • To access the configuration state, use device->baseconfig() which returns a reference to the configuration.
    • The list of running_devices in machine->devicelist has a 1:1 correspondance with the list of device configurations in machine->config->devicelist, and most navigation options work equally on either (scanning by class, type, etc.)
    • For the most part, drivers will now deal with running_device objects instead of const device_config objects. In fact, in order to do this patch, I did the following global search & replace:
      • const device_config -> running_device
      • device->static_config -> device->baseconfig().static_config
      • device->inline_config -> device->baseconfig().inline_config
      • and then fixed up the compiler errors that fell out.
    • Removed device_get_info_* functions and replaced them with methods called get_config_*.
    • Added methods for get_runtime_* to access runtime state from the running_device.
    • DEVICE_GET_INFO callbacks are only passed a device_config *. This means they have no access to the token or runtime state at all. For most cases this is fine.
    • Added new DEVICE_GET_RUNTIME_INFO callback that is passed the running_device for accessing data that is live at runtime. In the future this will go away to make room for a cleaner mechanism.
    • Cleaned up the handoff of memory regions from the memory subsystem to the devices.
  • Aaron Giles fix bug introduced with astring changes that caused malformed tokens when writing out cfg files.
  • Aaron Giles fix bug where memory regions were not properly enumerated for the debugger memory view. Also, stop creating empty regions for disk regions.
  • Curt Coder refactored the CIA 6526 interface, adding SP/CNT callbacks. Fixed serial transfer.
  • Aaron Giles converted the rest of devintrf to classes and moved management functions into methods of those classes. The most wide-ranging change was converting device_reset() to device->reset(). Apart from that it was mostly internal shuffling in the core.
  • couriersud made possible to inhibit autodetection of PTR64 by specifying PTR64=0. On mixed 32bit/64bit targets identifying themselves as 64bit this can be used to build a 32bit executable.
  • couriersud added OpenBSD support in makefile/sdl.mak. Fixed XBSD detection of PTR64 (uses amd64).
  • Aaron Giles fixed bug that mistook a non-NULL token to mean that a device was started. Fixes -video ddraw issue.
  • Aaron Giles replaced vsnes bank installs with RAM installs, since the banks were never changed.
  • Aaron Giles made possible to exit from the unhandled exception filter cleanly now. Use SetErrorMode() to disable the appearance of dialog boxes when crashes occur.
  • XingXing fixed a typo in pgm.c that was causing a memory test error and corrected some comments.
  • Aaron Giles made direct accessors for device configuration state. Currently they just call through to the get info function. Removed old macros that wrapped calls.
  • Aaron Giles removed some aliases between CPUINFO_ and DEVINFO_ to help clarify usage. Also converted a few more places to use the new accessors.
  • dlfrsilver replaced drgninja set with one dumped from a genuine Data East PCB.
  • Guru added MEC-M1 PCB layout to the dec0 driver and updated some clocks and ROM names.
  • Andrew Gardner partially decodes translation-only geometry type 0102 in the hng64 driver. This makes the road appear in the racing games, the edge of the ring in buriki, and a hallway during the buriki attract.
  • couriersud provided misc updates:
    • Added sdlmisc_<targetos>.c again. This was necessary since certain tools create stubs for e.g. osd_break_into_debugger. If we do not have this in a separate file, the link stage may break.
    • Applied OS/2 patch (Credit: KO Myung-Hun)
    • Cleaned up #includes. Removed stdlib.h were possible.
    • More malloc to osd_malloc rename.
    • SDL monitor modes are read now when they are needed. This is now consistent across platforms.
  • couriersud did some work for GTK Debugger:
    • glade-2 can now be used again to edit the debug.glade file.
    • No more need to edit the files created by glade-2.
    • All "activate" handlers now pass the parent window pointer.
    • malloc ==> osd_malloc to prevent mixed c++/c window allocations.
    • Run to cursor (main view).
    • In place memory editing (memory view).
    • Implement key handling (Up, down, ..) like in windows.
    • Tab and ESC not yet handled.
    • Functionality now matches win32 debugger.
    • Further code review/rewrite/simplification.
    • Added more comment headings.
    • Fix a compile warning for gcc-4.4 (not detected by gcc-4.2).
    • Horizontal divider bar to individually size views.
    • Minimum height aligned to win32 debugger.
  • R. Belmont added preliminary SA-1110 support in the ARM core.
  • Corrado Tomaselli verified all deco32 clocks and corrected HuC6280 clock following old Charles McDonald notes I had about internal divisor. Added a note on the Arm cpu used by this game: it's a Data East 101 custom.
  • Corrado Tomaselli changed the following games to use the 76489A variant (verified on my pcbs): Green Beret, Do Run Run, Mr.Do's Castle, Jail Break, Shaolin's Road, Yie Ar Kung-Fu.
  • Lord Nightmare, PlgDavid and Corrado Tomaselli fixed sn76489a periodic noise once again (and simplified a bit of code), now should be closer to or match real chips as sampled. Added true clock divider emulation, so emulation may be a bit slower.
  • Curt Coder made possible using popmessages in drivers which have an MC6845.
  • David Haywood ensured that RAM and bitmaps are cleared when the ms32 driver is started to avoid 64-bit build crashes.
  • Andrew Gardner hacked the camera to work in sams64 in the hng64 driver.
  • Lord Nightmare updated comments in the s14001a core; got rid of the squealing noise (hidden behind a #define now, code is still there) until some other issues can be resolved.
  • Angelo Salese fixed background and sprites colors in D-Day (Jaleco).
  • couriersud provided UI menu interface changes:
    • All ui functions now expect a render_container.
    • Removed all macros referencing render_container_get_ui.
    • ui_menu_alloc now is passed a container to which to render the menu.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING