--------------------------------------------
F-15 Strike Eagle (2 sets) [Phil Bennett]
Battle of the Solar System (rev. 1.1) [Phil Bennett]
Tank Battle (prototype rev. 4/21/92) [Phil Bennett]
Added Am29000 CPU core [Phil Bennett]
(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.
- Created new central header "emu.h"; this should be included
by pretty much any driver or device as the first include. This
file in turn includes pretty much everything a driver or device
will need, minus any other devices it references. Note that
emu.h should *never* be included by another header file.
- Updated all files in the core (src/emu) to use emu.h.
- Removed a ton of redundant and poorly-tracked header includes
from within other header files.
- Temporarily changed driver.h to map to emu.h until we update
files outside of the core.
Added class wrapper around tagmap so it can be directly included
and accessed within objects that need it. Updated all users to
embed tagmap objects and changed them to call through the class.
Added nicer functions for finding devices, ports, and regions in
a machine:
machine->device("tag") -- return the named device, or NULL
machine->port("tag") -- return the named port, or NULL
machine->region("tag"[, &length[, &flags]]) -- return the
named region and optionally its length and flags
Made the device tag an astring. This required touching a lot of
code that printed the device to explicitly fetch the C-string
from it. (Thank you gcc for flagging that issue!)
Added driver data struct to ninjaw.c, slapshot.c, warriorb.c, wgp.c
There is still some TC0100SCN issue when reloading, which corrupts tilemap2, hence no save states in the latter drivers atm
osd_free(). They take the same parameters as malloc() and free().
Renamed mamecore.h -> emucore.h.
New C++-aware memory manager, implemented in emualloc.*. This is a
simple manager that allows you to add any type of object to a
resource pool. Most commonly, allocated objects are added, and so
a set of allocation macros is provided to allow you to manage
objects in a particular pool:
pool_alloc(p, t) = allocate object of type 't' and add to pool 'p'
pool_alloc_clear(p, t) = same as above, but clear the memory first
pool_alloc_array(p, t, c) = allocate an array of 'c' objects of type
't' and add to pool 'p'
pool_alloc_array_clear(p, t, c) = same, but with clearing
pool_free(p, v) = free object 'v' and remove it from the pool
Note that pool_alloc[_clear] is roughly equivalent to "new t" and
pool_alloc_array[_clear] is roughly equivalent to "new t[c]". Also
note that pool_free works for single objects and arrays.
There is a single global_resource_pool defined which should be used
for any global allocations. It has equivalent macros to the pool_*
macros above that automatically target the global pool.
In addition, the memory module defines global new/delete overrides
that access file and line number parameters so that allocations can
be tracked. Currently this tracking is only done if MAME_DEBUG is
enabled. In debug builds, any unfreed memory will be printed at
the end of the session.
emualloc.h also has #defines to disable malloc/free/realloc/calloc.
Since emualloc.h is included by emucore.h, this means pretty much
all code within the emulator is forced to use the new allocators.
Although straight new/delete do work, their use is discouraged, as
any allocations made with them will not be tracked.
Changed the familar auto_alloc_* macros to map to the resource pool
model described above. The running_machine is now a class and contains
a resource pool which is automatically destructed upon deletion. If
you are a driver writer, all your allocations should be done with
auto_alloc_*.
Changed all drivers and files in the core using malloc/realloc or the
old alloc_*_or_die macros to use (preferably) the auto_alloc_* macros
instead, or the global_alloc_* macros if necessary.
Added simple C++ wrappers for astring and bitmap_t, as these need
proper constructors/destructors to be used for auto_alloc_astring and
auto_alloc_bitmap.
Removed references to the winalloc prefix file. Most of its
functionality has moved into the core, save for the guard page
allocations, which are now implemented in osd_alloc and osd_free.
* added driver data struct to taito_l.c & opwolf.c
* added driver data struct + save states to asuka.c (cadash was not supporting saves), rainbow.c, rastan.c, taito_f2.c, taito_h.c, taito_o.c, taito_z.c, topspeed.c & volfied.c
not worth mentions:
* renamed a couple of megablst clones for consistency (as per stephh's remark)
* slightly changed tnzs RAM/ROM banks behaviour to avoid writes on ROM banks
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Sat, Dec 26, 2009 at 5:01 PM
Subject: [patch] Header/static cleanups
To: submit@mamedev.org
Cc: atariace@hotmail.com
- Hide quoted text -
Hi mamedev,
This patch add some missing header declarations and static qualifiers,
and adjusts a few names. In the core, it adds validity.h for
consistency as well as an explicit foo.h in each foo.c.
~aa
* moved a few routines (used for sorting graphics layers) to konicdev.c since they are shared by several drivers
* added driver data struct to ajax.c and aliens.c
* added driver data struct + save states to: asterix.c, bishi.c, blockhl.c, bottom9.c, chqflag.c, crimfght.c, dbz.c,
gbusters.c, gijoe.c, lethal.c, mainevt.c, moo.c, overdriv.c, parodius.c,
rollerg.c, rungun.c, simpsons.c, spy.c, surpratk.c, tail2nos.c, thunderx.c,
tmnt.c, ultraman.c, vendetta.c, xexex.c and xmen.c
* updated some Konami drivers above to separately allocate palette/extra/work RAM instead of appending them to maincpu ROM; also, reduced maincpu rom regions where appropriate
* replaced memory_set_bankptr with memory_set_bank where necessary
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Fri, Jan 1, 2010 at 5:27 PM
Subject: [patch][resubmit] Convert goldstar/liberate/sidearms/sidepckt
to use driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
This is a resubmit of my last driver_data patch. It should be
non-controversial, although it contains some additional whitespace
cleanup in the affected files.
~aa
* split I/O devices from video ones
* converted all taito drivers to use these I/O devices
* removed old I/O code from taitoic.c
* added preliminary tc0180vcu video device
Date: Tue, Dec 22, 2009 at 11:57 AM
Subject: Core for PIC 16c62x series of processors
To: submit@mamedev.org
Hello,
this patch contains a core for the PIC 16c62x series of processors.
It has been made starting from the pic16c5x that is already present.
This version stil misses the various internal devices, however the
opcodes and i/o ports work, and it is enough to run the emulation of
the security pics used with the gd-roms.
Bye,
Samuele Zannoli
* fixed 053936 init which was giving problems to f1gp2 (in debug build only, apparently)
* removed banptr preventing proper save states in rockrage.c: now save works fine
* added driver data struct and saves states to f1gp.c, fastlane.c, flkatck.c, hcastle.c, labyrunr.c and suprslam.c
* fixed 056832 device start order to avoid wrong settings for layer 0. updated asterix.c and moo.c to use the device implementation now that it's working correctly.
* added driver data struct to 88games.c, combatsc.c and rockrage.c
* added driver data struct and save states to battlnts.c, bladestl.c, crshrace.c and contra.c
* renamed combasc to combatsc now that clones can have longer names
* moved k056800 sound device to emu/sound and removed the old code (mame/machine/konamiic.c )
* updated gticlub.c, hornet.c, nwk-tr.c, ultrsprt.c and zr107.c to use this implementation
* fixed various small (and not so small) problems in konicdev.c
* as a result Konami 007342, 007420, 052109, 052160 and 051316 devices are now working and 88games.c, battlnts.c, bladestl.c and rockrage.c have been updated to use them
In particular, device-fied Konami 007121, 051733 and 053251 work fine and combatsc.c, contra.c, crshrace.c, f1gp.c, fastlane.c, flkatck.c, hcastle.c, labyrunr.c and suprslam.c have been converted to use the new code.
Side notes:
* chips which have their own tilemap in MAME (e.g. 056832 and 052109) are not working yet, and other chips cannot be fully tested because they're used together with these... it's still wip
* some cleanup is in order (especially for interfaces), once I get the remaining chips to working state
* converting the drivers above, I noticed that f1gp2 was only using half of the k053936 regs: this is now fixed and, even if I don't know of any visible improvements, now there are definitely less unmapped writes logged by the debugger ;)
Added driver data struct and save states to: cbasebal.c, chinsan.c, mitchell.c and quasar.c
Not to be mentioned: I also removed use of memory_set_bankptr from CPS1 sound banking and renamed a couple of rallyx.c constants to be less generic
Out of whatsnew: Unfortunately, I was unable to make both malzak and p2000t (in MESS) to work without a small kludge, clearly documented in the source. I plan to further investigating the problem once I manage to merge the other 505x variants (later)
* added saves to 6522via.c. this fixes problems of gameplan.c and trvquest.c games with -autosave
* added driver data struct and save states to toratora.c and sf.c
* enable GAME_SUPPORTS_SAVE flag to dday.c because some of the core changes have fixed the sound problem at loading
* added a couple of comments about header inclusions
Also, added driver data struct and save states to laserbas.c, laserbat.c, lastfght.c, lazercmd.c and lemmings.c
Finally, added driver data struct to lasso.c
Added driver data struct to jackal.c
out of the whatsnew, a couple of remarks:
- rallyx and nrallyx might require a separate driver data struct to deal with namco_soundregs, but I'll take care of this eventually (if really needed)
- jackal does not properly save the work ram banks atm, hence no SUPPORTS_SAVE flag, but I keep looking for a clean solution to the problem
Added driver data struct to pipedrm.c and added devices to gameplan.c driver data struct (to remove a few cputag calls)
Also, removed a couple of memory_set_bankptr that I had forgotten (buggychl.c & homedata.c)
Also, added driver data struct to: alpha68k.c, amspdwy.c, gng.c, gunsmoke.c, hotblock.c
Finally, removed a couple of memory_set_bankptr I hadn't noticed in ddrible.c and gberet.c
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Sun, Nov 29, 2009 at 3:28 AM
Subject: [patch] Convert cabal/mappy/toypop/zaxxon to use driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
This patch is a resubmit of my earlier patch to have mappy and zaxxon
store their state in driver_data. It extends the patch to toypop
(which uses some mappy code), and also converts cabal which I also did
some time ago. cabal.h and toypop.h are new header files.
~aa
Added driver data struct to fuukifg2.c and fuukifg3.c (no save states yet due to anonymous timers)
Also, added more devices to dkong driver data (to minimize # of cputag_xxxx calls)
As a side note, now drgnbowl (one of the worst game ever) supports saves! enjoy :-P
Unfortunately, if you load a save state too early the game starts with no sound. For the moment, no SUPPORT_SAVE flag, but the game goes in my list of drivers which needs a second look. Feel free to step up and fix saves, if you like
hng64: Added alt layout for the roz, fixes Roads Edge graphics before the title screen [David Haywood]
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: martedì 24 novembre 2009 16.04
A: Angelo Salese
Oggetto: Hyper 64 alt layout
here..
apply over previous
alt layout for the roz.
From David Haywood (thru IM channels):
...and added 8x8 and 16x16 tilemaps for each mode.
corrects one scene in Xrally intro, and also transition layer in fatfurwa (see squares when you press start on title screen)
(doesn't fix road edge alt tilemap mode yet)
note: includes/hng64.h added, 3d disabled in driving games.
------------------------------------
Dragon Chronicles (DC001 Ver. A) [Guru]
Netchuu Pro Yakyuu 2002 (NPY1 Ver. A) [Guru]
Soul Calibur II (SC23 Ver. A) [Guru]
Soul Calibur II (SC21 Ver. A) [Guru]
Tekken 4 (TEF3 Ver. C) [Guru]
Tekken 4 (TEF2 Ver. A) [Guru]
Tekken 4 (TEF1 Ver. A) [Guru]
Mobile Suit Z-Gundam: A.E.U.G. vs Titans (ZGA1 Ver. A) [Guru]
Capcom Fighting Jam (JAM1 Ver. A) [Guru]
Quiz and Veriety Suku Suku Inufuku 2 (IN2 Ver. A) [Guru]
Mobile Suit Z-Gundam: A.E.U.G. vs Titans DX (ZDX1 Ver. A) [Guru]
Soul Calibur III (SC31001-NA-A) [Guru]
Kinnikuman Muscle Grand Prix (KN1 Ver. A) [Guru]
Taiko No Tatsujin 9 (TK91001-NA-A) [Guru]
Tekken 5.1 (TE51 Ver. B) [Guru]
This covers the BIOSes and memory card keys. DVDs will be added later. Please credit only Guru for these games.
Added save states to 2mindril.c, ashnojoe.c, bigfghtr.c, bublbobl.c, cchance.c, champbwl.c, missb2.c
Removed use of memory_set_bankptr where possible (in the drivers above and in angelkds.c)
i.e. some Taito love :)
as usual, drivers with only save state added also have almost complete driver_data struct, but the missing items do not affect saves (generic palette/sprite ram is automatically saved)
Out of whatsnew: I also added driver_data struct to these drivers (and to bombjack.c & blktiger.c as well) BUT, as in bionicc.c, some memory pointers (spriteram, paletteram or nvram) are commented out due to use of generic handlers
Out of whatsnew: this driver also has 99% of driver data stored in the struct.
it still misses paletteram16, which currently uses a generic handler(and hence does not fit the struct approach), but I wanted save states so much for this game that I commit it anyway :-)
Side-notes (not worth mention):
* I fear we were missing a local static array in 1942 save states (now it is saved)
* I haven't found a better way to configure 1943 banks than to split the 0x4000 bank into 4 pieces. can anyone come up with a better approach?
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: mercoledì 11 novembre 2009 13.38
Cc: Angelo Salese
Oggetto: Re: Slam Dunk 2
Improved video offsets for these games (they're not perfect, I think in reality they depend on layers enabled etc. but they're much improved)
apply after previous.
David Haywood wrote:
> with this I think you can mark it as working
>
> - added a workaround for it not enabling the display (tied to the
> type4/rushing heroes hack we already have)
> - fixed rom loading for other sets (also swapped the data roms on
> vsnet around so that the load positions match up with the working
> games)
> - moved most of machine/konamigx.c to video/konamigx.c (mixer code
> etc.) left the protection related code in machine/konamigx.c
>
> note, you'll need to DELETE machine/konamigx.h from svn and ADD
> includes/konamigx.h to it.
>