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.
>
- Renamed driver to igs011.c and cleaned it up
- Renamed some sets according to chinese title
- Implemented hopper in lhb, lhb2, wlcc
- Decrypted ryukobou
New clones added
----------------
Mahjong Ryukobou (Japan, V030J) [Luca Elia, Guru, Dyq, Bnathan]
New games marked as GAME_NOT_WORKING
------------------------------------
Mahjong Nenrikishu SP [Guru, Dyq, Bnathan]
- Merged in some IGS031 based games (igs_m68.c, tarzan.c)
- Implemented tiles flip x and video disable
- Added hopper simulation to mgcs
- Decrypted mgdh
Almost complete decryption of starzan and tarzana [iq_132]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mahjong Super Da Man Guan II [Luca Elia, Pierpaolo Prazzoli, Guru, Xing Xing]
Mahjong Man Guan Da Heng [Luca Elia, Guru, The Dumping Union]
New clones added
----------------
Tarzan (V107) (not working) [iq_132]
New games marked as GAME_NOT_WORKING
------------------------------------
Super Tarzan [f205v, Mirko Buffoni, iq_132]
------------------------------------
Miracle Derby - Ascot [Stefan Lindberg, David Haywood]
Date: Thu, 22 Oct 2009 19:03:48 +0100
From: David Haywood <neohaze@nildram.co.uk>
CC: Philip Bennett <p.j.bennett@gmail.com>
Subject: Re: Miracle Derby
Well here is some initial rom loading, gfx decode, palette decode.
I haven't mapped the CPUs yet, but I imagine it will end up using mostly
the home data code in the end (although that seems to have game specific
code for a lot of games anyway, so there are probably some issues with
that driver)
You can check this in for now, and it can be returned to later.
Types are pretty much unified now.
Multiply operations are handled by eminline.h.
Divide operations were just silly in macros.
64/32-bit combination/extraction macros moved to osdcomm.h and renamed.
Also fixed compile errors in recent 68k changes.
- Added working PMMU address translation (not feature complete, but sufficient
to boot several 68030 Macs in MESS)
- Fixed up disassembly of some PMMU instructions
- Added "68020 with 68851" CPU type
Sent: Thursday, October 01, 2009 5:25 AM
To: Aaron Giles
Subject: MD update
I'm trying to get the HazeMD code running again (by request, and so
that
I can look at fixing some of the bugs that have surfaced, including
ones
which affect MAME)
This shuffles a bunch of stuff around in order to help with that
process, I've also killed off some old megaplay code which wasn't
really
needed anymore, and used the newer code instead.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Othello (version 3.0) [Tomasz Slanina, Stefan Lindberg]
This system is based on a custom CPU. Graphics are decoded but only 2 bitplanes hooked.
All the needed devices are in the driver, but commented out till can properly decrypt the program ROMs and identify the CPU.
About the encryption scheme, see the driver notes about my findings.
New games marked as GAME_NOT_WORKING
------------------------------------
Amatic Unknown Slots Game [Roberto Fresca, Team Europe]
Multi Game I (V.Ger 2.4) [Roberto Fresca, Team Europe]
Multi Game III (V.Ger 3.5) [Roberto Fresca, Team Europe]
Fixed a register naming issue in the MIPS core [Harmony]
Numerous SuperFX updates: [Harmony]
- Hooked up RAM and ROM buffering
- Inlined several more functions
- Removed debug spew
- Added the ability to define an external IRQ line callback, and hooked it up to the 65C816
- Fixed flag calculation for HIB opcode
- Hooked SuperFX chip up to the SNES machine driver
* Fixed the coin counters.
* Documented all the output ports.
* Added a scheme with descriptions for every existent port.
* Added full lamps support to naroutp, naroutjp, naroutrh and naroutpn.
* Created lamps layouts for 11 and 12-lamps scheme.
* Rerouted some inputs to mantain the inputs layout.
* Renamed some inputs to match the text with the real cab buttons.
* Removed the imperfect colors flag from the existent sets.
* Added 2 different control panel layouts to the source.
* Updated technical notes.
- added unidasm to the tools build
- split the disassemblers out of libcpu and into new libdasm
- ensured the disassembly entry points for all disassemblers are
in the source file for the disassembler (sometimes new generic
versions were created)
Still needs command line options and file loading, but the
fundamentals are present, and it links.
Colorama is a standalone game driven for 1x VGA board plus a mechanical arm.
Roulette is just the bet station, since the phisical wheel has its own controller. Each roulette has 10/15 stations.
New games marked as GAME_NOT_WORKING
------------------------------------
Colorama (english) [Roberto Fresca, Angelo Salese]
Roulette V75 (spanish) [Roberto Fresca, Angelo Salese]
- Split YM2612/3834 to a separate file to avoid disturbing other OPN chips
- SSG-EG, envelope, LFO, and CSM behavior all improved to better match
tested behavior on real YM2612 chips
I have done Intel 4004 implementation, here is a patch (it also
contain a POC driver for 4004 Nixie tube clock, that runs under MESS).
4004clk is artwork file, and roms file contain needed roms (just rename ZIP).
Regards,
Miodrag
> -----Original Message-----
> From: Micko [mailto:mmicko@gmail.com]
> Sent: Tuesday, August 04, 2009 8:11 AM
> To: Aaron Giles
> Subject: Intel 4004 core
>
> Hi Aaron,
>
> Here is a final version of CPU core for MAME submition.
>
> Regards,
> Miodrag
* Full Inputs.
* DIP Switches.
* Simulated spark-watchdog circuitery.
* Demuxed custom port.
* NVRAM support.
* CPU clock derived from #defined crystal.
* 8000-8007 Output ports.
* Coin related counters.
* Sound components and trigger found at 8000-8003, bit2.
* Full lamps support.
* PCBs layouts & technical notes.
The 4 games are fully playable. Sound seems to be discrete, so the circuitery need to be traced.
Colors are still wrong.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Multi-Poker [Roberto Fresca]
- Added a new implementation of the I8255A device. Rewritten from scratch to properly support handshaking in modes 1 and 2.
- Refactored sg1000a.c to use the new implementation.
Sent: Sunday, July 05, 2009 11:47 PM
To: Aaron Giles
Subject: Bugfix - MT # 3019
http://www.mametesters.org/view.php?id=3019
Looks like I messed up a few of the driving games. Here are the fixed layout files,
along with a small change in \src\mame\drivers\mw8080.c, as lagunar was referencing 280zzzap.
------------------------------------
Johnny Nero Action Hero [R. Belmont, The Dumping Union]
The boot ROM has a lot to say on two different TTY ports (really).
---------------------------------------------------
Tokimeki Mahjong Paradise - Dear My Love [David Haywood, Angelo Salese]
Tokimeki Mahjong Paradise - Doki Doki Hen [David Haywood, Angelo Salese]
changes:
- split tmmjprd / tmpdoki from rabbit.c as it uses the graphic chip in a very different way, and having them together was making it more difficult to make progress on [David Haywood]
- changed them to use custom rendering code instead of tilemaps, as they can address tile data at a sub-tile level, this fixes the girls in the intro [David Haywood]
- added inputs [Angelo Salese]
- added some notes about a hang, and possible reason [David Haywood]
- marked the graphic roms of tmpdoki as BAD as it appears to be using tiles which are not present in the tmmjprd roms for the title screen [David Haywood]
------------------------------------
Hit Poker
=======================================================================
No credit please, it's just a skeleton driver with another unknown CPU
(Haze did the gfxdecoding iirc)
Sent: Sunday, June 07, 2009 9:54 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] "Regularize" some interfaces in MAME
Hi mamedev,
This patch adjusts the code in a few places to be more regular in it
object approach. It recognizes five idioms.
1. device_configs should be passed const. dsp56k.h took a non-const
device_config for no particular reason, necessitating casting where
used. A few other places cast to non-const, in most cases
unnecessarily.
2. running_machines should be passed non-const. A few places used
const in different ways on running_machines, instead of the idiomatic
non-const running_machine.
3. Eliminate passing running_machine explicitly where it can be
computed. esrip.c, m37710.c, sfbonus.c had cases where the machine
could easily be eliminated.
4. Pass the object machine/config first. In some cases this makes
the interface object oriented, in some cases it simply makes it more
idiomatic with the rest of MAME.
5. Prefer (screen, bitmap, cliprect) to (machine, bitmap, cliprect).
Fully implementing this would be a large patch, this patch simply does
it for the one core 'device', tms9928a.c.
Namco custom IDs where appropriate.
Added clocks to the Namco 06xx in anticipation of improved
device interconnection.
Added new file devtempl.h which can be used to generate the
DEVICE_GET_INFO function. Updated all the Namco I/O devices
to use this.
Updated galaga driver to use computed video timing.
Updated polepos and bosco drivers to use the new 52xx sound
emulation, wiring up the output through the discrete mixer that
Derrick had already plumbed but left disabled.
This required several MB88xx changes/fixes:
- internal timer support now works; prescaler is guessed based
on Pole Position sample playback frequency
- external counter support works
- a basic mechanism for reading serial input has been added; it
is not sufficient for a full implementation, but good enough
to sample the SI pin at startup
- fixed TSTS/TSTV to clear their respective flags
- fixed CI and CYI to compute imm-reg instead of reg-imm
- added masking of the PA register upon RTI/RTS to prevent bogus
PC values
the information needed to connect to the CPU and other devices
specified in the definition.
Updated drivers to use this new device.
(I notice that the bosco shoot sound no longer changes pitch during
another explosion. Not sure if this was fixed prior or if the
recent device-ification cleaned something up....)
Converted Namco 51xx and 53xx into proper devices. The MB84xx is not
yet emulated, but is now present.
Converted 51xx and 53xx interfaces to use the devcb system for
port I/O callbacks.
Dig Dug is known to be somewhat broken at the moment.
and thief drivers.
Bunch of improvements to the Status system emulation. Correct
video timing, hooked up TMS9927, corrected colors, etc. Still
some work to do.
New games
=========
Status Blackjack
Status Fun Casino
The eepromdev.* files are the device impementation for the serial eeproms
The i2cmemdev.* files are the device impementation for the i2c memory
These aren't currently hooked up
I'm committing this so that the Naomi changes don't accidentally get applied. The idea seems good, but they conflict with the current driver and I'd rather not have them accidentally slipping in and breaking things just yet.
* Added source file konamipt.h to unify Konami inputs where possible (e.g. most 80s-90s games were using basically the same coinage settings and joystick inputs).
* While at it, verified all 0x00 coinage effects in drivers which now use konamipt.h (fixing a few mistakes: hexion, mikie, crimfgtj...).
* Added finalizb service coin. Removed roadf coin4 & asterix coin3 (neither used by the games nor present in service mode).
* Fixed gberetb coin inputs (they were switched).
* Added port_condition to hcrash so that brake appears only when present in the chosen cabinet.
* Cleaned up mystwarr.c & moo.c input handlers.
- derived clocks where possible
- complete memory maps from the schematics
- hooked up proper sound command latching
- reimplemented 6802-based ADPCM samples for the bootlegs
- merged memory maps
- extended NVRAM to the full RAM range (according to schematics)
- created common include file and modified drivers to use it instead of explicit externs
Done:
- AGA palette
- AGA bitplane data fetching
- support for up to 8 standard bitplanes
- HAM8 mode
To do (for devs):
- inputs (buttons/coins are connected as CD32 pad, current implementation (copied from WinUAE) doesn't work, help is welcome)
- sprites (current implementation is incomplete - see CD32 logo)
- incorrect hstart/hstop values in CD32 logo, lsrquiz & lsrquiz2
------------------------------------
Street Games II [Guru, Angelo Salese]
==========================================================
Basic driver, will add the other romsets soonish.
------------------------------------
California Chase [Angelo Salese]
==========================================================
Basic skelly, will improve it soonish.