MAME 0.125u3

From MAMEDEV Wiki
Revision as of 12:20, 29 May 2008 by Georg (talk | contribs) (Initial version.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Release Date

MAME 0.125u3 was released on 29 May 2008.


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:

  • David Haywood changed the default DIP switches in onetwo.c. Common coinslot mode seems broken, or our code is wrong.
  • Andrew Gardner updated the documentation in several drivers based on old readmes and other data that might get lost.
  • Curt Coder fixed COP420 instructions JSRP, LBI, LQID, and SKT. Draco now has sound. Also fixed COP420 instructions XAS and INIL. Fixed cycle count for extended opcodes. Added CKO general purpose input.
  • Roberto Fresca made improvements to the American Poker II driver.
    • Reworked the color routines switching to resnet system.
    • Added a resistor network diagram.
    • Switch to pre-defined crystal value.
    • Changed the WATCHDOG_TIME_INIT to be based on miliseconds instead of hertz.
    • Other minor cleanup/fixes.
    • Updated technical notes.
  • Jim Stolis made peplus driver changes:
    • Updated coin-in timing
    • Extended memory address range of DUART
    • Fixed overlapping input port bits
  • Nicola Salmoria fixed PORT_IMPULSE handling. The old code would force inputs to be asserted for at least the number of frames indicated, but keeping the button pressed would keep the input asserted. Now the input is asserted far exactly the number of frames indicated.
  • Wilbert Pol fixed memory access in the 80286 cpu core which made i286.h obsolete. Changed CPUINFO_INT_MAX_INSTRUCTION_BYTES to prevent crashes during disassembly.
  • Aaron Giles fixed behavior of toggle switches so that they don't lose their value when the UI is up. They also can now be used for multibit DIP switch settings in which case they toggle through all the options. Added new functions input_field_select_next_setting() and input_field_select_previous_setting() which can be used to iterate properly through DIP switches. Fixed the behavior for cases where conditional ports are in play (you could get stuck). Changed uimenu.c to call these instead of implementing its own.
  • Aaron Giles changed uimenu.c so that hitting ENTER on a DIP switch resets it to its default value. This is analagous to how the OSD sliders behave.
  • Aaron Giles renamed EEPROM_* to eeprom_*. Updated all drivers accordingly. Typedef'ed a real eeprom_interface structure.
  • Aaron Giles added a PORT_CUSTOM for the eeprom bit reading. Updated several drivers to use that by specifying it in their input ports instead of having a custom read handler that inserted the bit forcefully. Also added a PORT_CUSTOM for the ticket dispenser callback as well. Updated the dcheese driver to use it. Many more drivers can be updated to use these new PORT_CUSTOMs in the future, eliminating hacky input port read handlers.
  • Nathan Woods changed text used to specify a menu separator in uimenu.c, and added a #define for the new string.
  • Aaron Giles changed error reporting during input port detokenization to fill a buffer rather than fatalerror-ing immediately. Should now properly skip over any invalid tokens. Enhanced error detection during input port detokenization to catch duplicate bits. There are a lot of these! Updated initialization code to print errors and fatal only if the input ports were unable to be constructed at all.
  • David Haywood fixed duplicate input port bits in pacman.c, gottlieb.c, cps1.c, megadriv.c, segae.c.
  • Aaron Giles added support for a NULL set of input ports, used by the empty driver.
  • Nicola Salmoria fixed cpu_getiloops() which was not returning the correct value.
  • David Haywood made gijoe not crash, but still don't understand what the original code was trying to do.
  • Roberto Fresca moved suprpool to a better match hardware. Fixed the ROM load and added a list of PCB components.
  • Miodrag Milanovic implemented autoload mode in 8257 DMA:
    • added support for autoload mode
    • fixed bug in calculating count
  • couriersud fixed duplicate input port bits in dkong.c.
  • Aaron Giles changed the MIPS core:
    • renamed struct mips3_config -> mips3_config
    • updated all drivers to the new names
    • removed MIPS3DRC_STRICT_COP0 flag, which is no longer used
    • a few minor cleanups
    • moved implementation-specific state into a pointer hanging off of the core MIPS3 state
    • removed large context in favor of a pointer to the large context to help improve context switch times
  • Aaron Giles changed the behavior of the translate callback in the CPU interface:
    • added new 'intention' parameter to the translate callback to indicate read/write/fetch access, user/supervisor mode, and a flag for debugging
    • updated all call sites to pass an appropriate value
    • updated all CPU cores to the new prototype
  • Aaron Giles updated the UML:
    • added new opcode SETC to set the carry flag from a source bit
    • added new opcode BSWAP to swap bytes within a value
    • updated C, x86, x64 back-ends to support the new opcodes
    • updated disassembler to support the new opcodes
  • Aaron Giles changed the DRC frontend:
    • fixed bug in handling edge case with the PC near the 0 or ~0
    • added new flag to tag privileged instructions
  • Aaron Giles added a new option -snapname which lets you provide a template for how snapshot names are generated. See config.txt for details.
  • Aaron Giles added new astring functions astring_del, astring_replace, and astring_replacec.
  • Nicola Salmoria removed meaningless service_coin_lockout_w function. Updated the zaxxon driver to correctly handle the coin enable lines.
  • Aaron Giles fixed bug that caused DIP switches to be improperly read from game cfg file in certain circumstances.
  • Aaron Giles added internal default tags for input ports when saving/loading.
  • ShimaPong massively updated the cheat sytem:
    • Supported (preliminary) new cheat format
      • Added new operations PDWWrite, RWrite, VRWrite, CWrite, Move, Branch, Loop, Popup
      • Added new options ValueSelectNegative, Return, AddressReadFrom, DataReadFrom
      • Added cheat variables - you can store data with Write or Move operations and read as an address or data from each fields
      • Added condition check for CWrite, Branch and Popup operations
      • Added new custom codes Separator, Layer
      • Supported Shared Code (MESS ONLY) different machine shares common code for a game
    • Allowed mixed label-select or user-select with standard code
    • Added label selector menu for label-selection code
    • Added extend comment displayer for multi-line comments
    • Added command menu for cheat list and watchpoint - easy selectable cheat commands in this menu
    • Added debug view menu (DEBUG BUILD ONLY) - it displays internal info to debug cheat system
    • Supported unique separator by ui_draw_menu() in several menus
    • Added user defined search region - you can set free memory range from cheat database
    • Enhanced error check for cheat code to prevent from unexpected working. Error code is locked. If you select this code, the analyser works instead of the code activater
    • Enhanced value input with keyboard-less - cheat edit key gives new input system in several menus Left/right keys moves the edit cursor and up/down keys changes a value
    • Added cheat command save, reload, reset in option menu
    • Supported address shift in searching - now searchable default region in TMS340*0 cpu games (Trog, Smash T.V. etc)
    • Refined cheat menu handling with function pointer called cheat_menu_handler
    • Added format strings table to manage in an integrated fashion
    • Deleted unused hacks of default search region for Neo Geo and TMS34010
    • Refined code based on MAME coding guidelines
      • Renamed many functions/structures/constants (but not complete due to too many items)
      • Converted small but often used functions to INLINE
      • Fixed a comparison in case of 0 or NULL
      • Added missing function prototype for several functions


Game Support

New games added or promoted from NOT_WORKING status

New clones added