0.111u3
-------

OSD porters take note of the changes to the OSD core routines.



Source Changes
--------------
Added save state support to the tubep driver. [Svante Gerhard]

Added save state support to the steppers module. [James Wallace]

Added the remaining input pins to the SN76477 Interface. If these 
pins are constant, they can now be defined in the structure as 
opposed to having to call functions in an init routine. Modified all 
the drivers that use a 76477. [Zsolt Vasvari]

Removed file I/O functions from osd_tool.h in favor of the ones in
osdepend.h. Updated tools accordingly. Added new flag
OSD_FLAG_CREATE_PATHS to the open command. [Nathan Woods]

Moved OKIM6295 pin 7 state (internal divider) to internal structure. 
Updated all drivers to specify pin state when setting the interface. 
Added comments for all cases where the original frequency wasn't / 132 
or /165 as the real pin state is unknown. [David Haywood]

Updated Toki driver to display visual DIPs for the game.
[Brian Oberholtzer]

Added sprite X flip and removed unneeded hack in wheelfir driver.
[Tomasz Slanina]

Fixed several issues with the new Unicode support. [Nathan Woods]

Changed uimenu.c to allow displaying DP switch banks which have 
gaps (unused switches) in them. These switches are now grayed out.
[Zsolt Vasvari]

Another Amiga update: [Ernesto Corvi]
 - Fixed blitter in line mode
 - Modified Copper to run on odd memory bus cycles
 - Fixed screen delay offset when display data fetch is not word 
    aligned

Fixed cheat searching. [stephh]

Replaced CPS2 CHDs with preliminary decryption function.
[Andreas Naive, Nicola Salmoria]

Added code to validate that banks are only set to point to memory
that has been allocated via auto_malloc(). Currently disabled
pending further review. [Nathan Woods]

Updated input port tokenization for MESS. Added support in MAME
for "configuration" switches which are separate from DIP switches.
These can be used to configure aspects of the game that don't
correspond to DIP switches. Modified pacman.c to use configurations
to control the speedup options. [Nathan Woods, Aaron Giles]

Fixed invalid array access in the taito_l driver. [Atari Ace]

Made a fix minor compiler compatibility tweaks to the source.
[Atari Ace]

Fixed several glitches and crashes related to the input port and
unicode changes from u2. [Aaron Giles]

Separated "core" OSD function definitions to osdcore.h. Added more
extensive documentation. [Aaron Giles]

Created a new library called osdcore, which is now built and linked
to each executable. Moved all definitions of expected components of
osdcore into new header file osdcore.h, and added consistent
documentation for them all. Removed osd_tool.c, and moved the 
necessary parts of its functionality into osdcore. [Aaron Giles]

Defined a new set of interfaces for osdcore which creates an
abstract interface for queueing work items to be potentially executed
on a secondary thread. Implemented the Windows versions of these
routines, but have not done any testing yet. [Aaron Giles]

Separated Windows OSD core routines into individual files, as
folows:
  windir.c  - directory-related core OSD functions
  winfile.c - file-related core OSD functions
  winmisc.c - miscellaneous core OSD functions
  winsync.c - synchronization-related core OSD functions
  wintime.c - timing-related core OSD functions
  winwork.c - threading-related core OSD functions
[Aaron Giles]

Created new osdmini directory with minimal implementations of all the 
OSD core routines. These can be used to stub in functionality or as
a starting point for new ports. [Aaron Giles]

Cleaned up chdman, normalizing its behavior and improving error
reporting. [Aaron Giles]

More updates to the laserdisc emulation, based on more complete
understanding of how the discs are encoded and how they will 
eventually be stored. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Thunder Heroes [Guru]



New clones added
----------------
Dharma Doujou (Korea) [Guru, David Haywood]



New games marked as GAME_NOT_WORKING
------------------------------------
Cobra Command [Andrew Gardner]
Gals Panic II - Quiz Version (Japan) [Guru, David Haywood]
Gals Panic II' - Special Edition (Japan) [Guru, David Haywood]
Monster Zero [Pierpaolo Prazzoli]
Unknown SemiCom Quiz [Guru, David Haywood]


0.111u2
-------


MAMETesters Bugs Fixed
----------------------
tourtabl0111u1red [Nathan Woods]



Source Changes
--------------
Amiga core system updates: [Ernesto Corvi]
 - Updated 6526/8520 CIA to be able to set the value of the SP pin.  
    This is needed to emulate the Amiga keyboard.
 - Updated the custom chips emulation to delay for about 24 cycles 
    the issuing of interrupts after a write to INTENA or INTREQ. 
 - Fixed a bug where if INTREQ got cleared programatically, it would 
    'forget' about pending CIA interrupts, causing the CIA to stop 
    sending further interrupts.
 - Fixed the interrupt delay logic. Now it properly delays firing 
    the irqs, not the masking/disabling.
 - Fixed return value for unused/invalid custom registers reads.
 - Added Denise ID custom register to properly identify OCS, ECS and 
    AGA
 - Added reset to custom, autoconfig and cia when a RESET opcode is 
    found.
 - Resetting the custom chips will now clear INTENA, preventing 
    further interrupts.
 - Fixed a bug in the RBF interrupt request code check.
 - Fixed a bug on the 6526/8520 CIA that prevented chained counters 
    from working.
 - Added support for the 'blitter-nasty' bit on the blitter. Fixes 
    many games that displayed wrong graphics.

Hooked up coin counter in Gun Fight. Also connected sounds properly 
per schematics. Added proper watchdogs to invaders and invad2ct.
[Derrick Renaud]

Added missing initialization to the TMS5220 RNG. [Lord Nightmare]

Taito JC driver improvements: [Ville Linde]
 - Implemented MC68HC11 communications
 - Added analog controls via MC68HC11
 - Various bug fixes and some new opcodes to the TMS320C51 core
 - Moved video hardware emulation to vidhrdw/taitojc.c
 - Implemented 3D hardware emulation

Cleaned up the 8080bw sound changes included with u1. [Robert]

Changed 6532riot and tia code to only allow initialization at init 
time. [Nathan Woods]

Fixed several bugs in the old System 16 bootleg code. [Mamesick]

Fixed SIM opcode in i8085 emulator. [Tomasz Slanina]

Initial support for Unicode in the core and Windows OSD: [Nathan Woods]
 - text file reading/writing now automatically handle UTF-8 conversion
 - a number of Windows functions internally manage TCHARs
 - new Windows compile-time option UNICODE can be used to build MAME
    as a Unicode application (see windows.mak)

Added new visible representation of physical DIP switches for drivers
that have them defined. To see this, just pull up the DIP switch
menu on drivers that have been documented. [Brian Oberholtzer]

Corrected some incorrect DIP switch information in the 1942, toaplan2,
and segag80r drivers. [Brian Oberholtzer]

Added the remaining MESS CPU cores to MAME. They are disabled in the
build, but will be maintained along with the MAME CPU cores as future
changes are made. [Nathan Woods]

Added support for multiple instances of the samples sound system.
[Zsolt Vasvari]

Converted input port definitions from code-based constructors to
data-driven tokenized values. This reduces the overall MAME code size
by a significant amount. Note that the tokenization is a bit
different for 32-bit versus 64-bit builds, so hopefully somebody
with a 64-bit system can verify that it works (mame -listxml should
produce identical results to the 32-bit version). 
[Atari Ace, Aaron Giles]

Properly implemented sound interrupts in Night Slashers. [Aaron Giles]

Improved cycle timings in the ARM CPU core. Altered the deco32 CPU
clocks to be more realistic. [Aaron Giles]

Updated copyright dates in header files and docs. [Aaron Giles]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Dwarfs Den [Tomasz Slanina]



New clones added
----------------
JuJu Densetsu (Japan, bootleg) [David Haywood]
New Tropical Angel [Stefan Lindberg]
Circus (Sub-Electro bootleg) [David Haywood]



New games marked as GAME_NOT_WORKING
------------------------------------
Backgammon [Tomasz Slanina]
Skat TV [Tomasz Slanina]
Fashion Gambler [Tomasz Slanina]
Pit Boss II [David Haywood]
Super Bitboss [David Haywood]
Pitboss Megastar [David Haywood]
Megatouch 3 [David Haywood]
Megatouch 5 [David Haywood]
Touchmaster [David Haywood]
Touchmaster 3000 [David Haywood]
Touchmaster 4000 [David Haywood]
Mahjong Shiyou [David Haywood]


0.111u1
-------


MAMETesters Bugs Fixed
----------------------
jspecter074gra [Robert]
spcenctr36b16gre [Robert]
spcewars0108u3red [Robert]
invad2ct0110u4gre [Robert]
mngrecording0110u1ora [Buddabing]
ninjaw0104u2gre [robiza]
orunners0105u4gre [robiza]
twinbee0105yel [Mamesick]
gwarrior0108u1yel [Mamesick]
tst_galx0101u3 [Atari Ace]
m660_0108yel [Atari Ace]
shootouj0102red [Mamesick]



Source Changes
--------------
Added more documentation for the 8080bw driver. It describes the ports 
and bits for those games with no sound. In most cases, sample sounds 
have been attached, in order to assist with further development. The 
games modified are: invrvnge/invrvnga, rollingc, spcenctr, gunfight, 
m4, gmissile, schasrcv, 280zzzap, lagunar, lupin3, phantom2, blueshrk, 
desertgu, ballbomb, yosakdon/yosakdoa, and shuttlei. Two games were 
marked NO_SOUND although they actually do have sound: these are cosmo 
and dogpatch. [Robert]

Moved a chunk of platform specific code out of chdcd.c and romcmp.c 
into the osd_tool code. [Nathan Woods]

Widespread cleanup of disassemblers and CPU interfaces across the 
project: [Giuseppe Gorgoglione]
 - removed from many disassemblers the dependency on eainfo.h. The 
    output produced by those disassemblers has been checked to be the 
    same as before.
 - extensively rewrote the 6309dasm.c and 6809dasm.c disassemblers.
 - fixed minor bugs in the v810 and hd6309 interfaces.
 - removed m68000\cpudefs.h. This was used by the old assembly m68000 
    core. Removed from m68kmame.c and m68kmame.h as well many 
    references to the old core (e.g A68K0, A68K2, etc.)
 - properly typedeffed the cpuinfo union, this affects cpuintrf.h and 
    many, many, other files
 - converted 8051dasm.c, m65ce02.c and t11dasm.c to use 
    cpuintrf_temp_str() instead of local string pools
 - moved the info.s = cpuintrf_temp_str() initialization to:
    activecpu_get_info_string(), cpunum_get_info_string() and 
    cputype_get_info_string(). This allows us to remove tons of 
    info->s = cpuintrf_temp_str() statements from the xxx_get_info() 
    accessors of every CPU core, making them more readable
 
Fixed a problem with the chirp tables of both the tms5220 and the 
tms5110. Also backported Jarek's PRNG implementation from tms5110.c 
to tms5220.c so it no longer relies on rand(). [Lord Nightmare]

Fixed two bugs in the m68000 core: [Alex Jackson]
 - fixed a miscompilation issue with GCC4 that was first noticed in 
    Altered Beast but also affected Moonwalker, Galaxy Force 2, and 
    probably many other games.  
 - fixed the core's compile-time self-configuration so that it uses 
    the same code paths on LP64 platforms (64-bit Linux, etc.) as on
    LLP64 (64-bit Windows) and 32-bit platforms.

Added save state support to the magmax driver. [Svante Gerhard]

Fixed music speed in perfrman. [Mamesick]

Fixed implementation of da_a instruction in i8051 core. [Special LIU]

Third round of numerous improvements to the cheat engine: [ShimaPong]
NOTE : delete old command code and save it newly in Options menu.
 * operation:
   - Added preliminary direct Program Space accessor.
     You can hack custom handling ROM code (eg encrypted segas16b.c
     games). But it has several problems.
     And added watchpoint display for Program Space.
   - Added new operation, "Write if Match".
     The cheat engine writes value only when read value matched
     reserved value which is stored in extend data field.
 * search menu:
   - Added 3rd search mode, "Minimum Search Mode". It's more simple
     than Classic Mode. Also added search memory initialize with
     ui_clear key and extended value edit with arrow key in this mode.
   - Added "View Last Results", "Restore Result", "Region Selection"
     items to the advanced search menu.
 * result viewer:
   - Don't open this menu to avoid MAME crash in case of
     no search region like sms.c in HazeMD.
   - Added quick page switch by left/right arrow key.
     Also changed functions for several keys in this menu.
   - Improved no result page skip. But incomplete because
     doesn't skip first or last page even if no result.
 * code loading:
   - Ignored to load old format code by default. If you need to
     load, choose "Load Old Format" item in Options menu.
 * input:
   - Fixed activation key save on Enable/Disable menu.
   - Fixed key handling for watch code addition from watch list
     menu to cheat list. Now it works with ctrl + save cheat
     key on the watch list menu.
   - Enabled ui_clear key in editing a value (clear data)
     and on watch list menu (reset all watchpoints).
 * option:
   - Added preliminary Debug option to check internal data.
   - Added command code save. You can save command code with
     save cheat key in Options menu.
 * others:
   - Added quick menu switch. It is assigned to ui_zoom in/out keys.
     This function works in Enable/Disable, Add/Edit, Search and
     Watchpoint menus.
   - Rearranged several items on the menus.

Converted some isolated parts of the Win32 OSD code to use 'TCHAR' 
strings rather than simple 'char' strings. [Nathan Woods]

Removed rom patches in the airbustr driver; hooked up watchdog 
instead. [David Haywood]

Reimplemented one-shot timer modes in the 6526 CIA (Amiga) emulation.
[Ernesto Corvi]

Added validity check for zero refresh rates. [Nathan Woods]

Fixed DIPswitch defaults for Quartet and Quartet 2. [Alex Jackson]

Fixed incorrectly drawn graphics in troangel. [Robiza]

Fixed a few more assertions lurking with the new stricter disassembler
checks. [Aaron Giles]

Patched some protection checks in Funny Strip and Rebus. Neither game
works yet. [Tomasz Slanina]

Changed -createconfig to output the INI file using mame_file rather 
than FILE. [Nathan Woods]

Improved graphics emulation in the tetriunk driver. [Tomasz Slanina]

Fixed copy/paste bug in the Irem sound hardware dealing with MSM5235
chips. [Mamesick]

Fixed visible area in Toki. [Mamesick]

Added new Toshiba TMP90840/TMP91640 CPU core. [Luca Elia]

Moved msm6242 real time clock to its own file. [Luca Elia]

Implemented blitter rom banking in dynax driver. [Luca Elia]

Added sound in Rapid Hero (samples banking is incorrect). [Luca Elia]

Fixed reset problem in the tia emulation. [Nathan Woods]

Adding remaining MESS sound cores to the core MAME sources.
[Nathan Woods]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ms. Pac-Man/Galaga - 20 Year Reunion [Nicola Salmoria]
Mahjong If...? [Luca Elia]
Mahjong Reach (bootleg) [Luca Elia]
Mahjong Tenkaigen (bootleg) [Luca Elia]
Live Quiz Show [Luca Elia]
Pool 10 (Italia) [Roberto Fresca]
Tortuga Family (Italia) [Roberto Fresca]



New clones added
----------------
Booby Kids (Italian manufactured graphic hack) [David Haywood]
Air Buster: Trouble Specialty Raid Unit (bootleg) [David Haywood]
Battle Balls (US) [Arzeno Fabrice]
Darth Vader [Tomasz Slanina]
R-Type (World) [Stefan Lindberg]
Puzz Loop 2 (Euro 010302) [Razoola, David Haywood]



New games marked as GAME_NOT_WORKING
------------------------------------
Moonwar (prototype on Frenzy hardware) [Lord Nightmare]
BanBam [David Haywood, Brian Troha]
Double Dealer [Tomasz Slanina]
Sky Lancer [Luca Elia]
Mahjong Tensinhai [Luca Elia]
Mahjong Raijinhai DX [Luca Elia]
Mahjong Tenkaigen Part 2 [Luca Elia]
Mahjong Tenkaigen [Luca Elia]
Cow Race [Luca Elia]
Mongolfier New (Italia) [Roberto Fresca]
Soccer New (Italia) [Roberto Fresca]


0.111
-----


MAMETesters Bugs Fixed
----------------------
perfrman0110u5gre [Pierpaolo Prazzoli]



Source Changes
--------------
Properly removes the "Autocenter Speed" from the UI when not used.
[Derrick Renaud]

Fixed decryption of some NeoGeo bootleg sets (specifically, kf2k2mp 
and kf2k3upl) on platforms/compilers that don't implement memcpy as
memmove. [Alex Jackson]
