Sent: Sunday, November 23, 2008 12:17 AM
To: submit@mamedev.org
Subject: Oki MSM6258 ADPCM core
Hi,
I have attached the Oki MSM6258 ADPCM sound core, which is intended for
use with the MESS Sharp X68000 driver. This code was written by Phil
Bennett, so he ought to be the one getting the credit for it. I have
mostly worked on the MESS X68000 driver and HD63450 (DMA controller)
code to get the ADPCM working for most X68000 software. I am unaware as
to if Phil has already submitted this or not yet.
I've tested compiling and running MAME itself (including a debug build)
with the MSM6258 core in it, and experienced no issues. Although there
is nothing in MAME to test it specifically with, it doesn't cause any
problems with MAME use in general.
The current MESS X68000 driver code with the MSM6258 enabled is
available for those that want to test that out -
http://mahlemiut.marpirc.net/msm6258-211108.zip
Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
Sent: Friday, November 14, 2008 7:22 PM
To: submit@mamedev.org
Subject: flyball.c diff
Changed flyball CPU clock to a #defined crystal
Added dip locations
This more accurately describes the aux board behavior for Ms. Pac-Man. There
is a thorough description of how the board works. mspacman is a more faithful
emulation. In particular you can now enter service mode (F2) at anytime during
game play.
new clones
----------
Soldam (World?) [Gerald]
-------
please check sizes of roms 8 and 10, they're half the size of the japan set, but the content of the 1st half matches.
works. Added callback parameters to the expression engine. Improved
CPU parsing so you can use a CPU tag or index in most commands that
take one. Switched to passing CPU and address space objects around
where appropriate. Lots of other minor tweaks.
Moved memory global state into a struct hanging off of the machine.
Updated almost all memory APIs to take an address_space * where
appropriate, and updated all callers. Changed memory internals to
use address spaces where appropriate. Changed accessors to point
to the memory_* functions instead of the address space-specific
functions. Improved internal handling of watchpoints.
Added cputag_* functions: cputag_reset(), cputag_get_index(),
cputag_get_address_space(). These just expand via macros to an
initial fetch of the CPU via cputag_get_cpu() followed by the
standard CPU call.
Added debugger_interrupt_hook() and debugger_exception_hook() calls
which intelligently look at the debugger flags before calling.
Did minimal cleanup of debugger, mainly moving CPU-specific data
to hang off of the CPU classdata for more direct access.
return a boolean indicating whether the given address was successfully
located in a bank. Change raw/decrypted access to look at this result, and
if the given address is not in a bank, calls through to the standard read
handlers.
In theory, this should prevent crashes when accessing opcodes. It does in
fact prevent mp_col3 from crashing.
Fixed address space mapping handlers to invalidate direct access regions
if a change is made to the mapping. This is needed to prevent the Sega
dynamic memory mapping chips from falling over.
H8:
- Added support for 8-bit H8 family MCUs, starting with the H8/3344
- Pointer-ified all H8 cores
- Some cleanup and renames toward additional future work
System 23:
- Added extremely preliminary support for I/O boards with the H8/3344
- Added new game: Motocross Go! (MG3 Ver. A) [credit Guru]
Removed opbase globals to the address_space structure.
Cleaned up names of pointers (decrypted and raw versus rom and ram).
Added inline functions to read/write data via any address space.
Added macros for existing functions to point them to the new functions.
Other related cleanups.
(SMPC irq bit/introdon irq register hack/pblbeach framebuffer hack plus some more)
(Note: some games have issues with it,but they'll be hopefully fixed on the next couple of updates)
into the core proper and removed unused macros. Changed all
external interfaces to pass the CPU device. Enabled 64-bit
operations by default. Re-derived the interface functions to
cascade and share code more aggressively.
These changes also seem to have cured the taito_f3 issues as
far as I can tell (at least pbobble3 seems right now).
state_save_combine_module_and_tag() function in favor of passing
the tag when registering. Revisited all save state item registrations
and changed them to use the tag where appropriate.
This patch implements a "plug-in board" device for the Naomi.
It represents the rom boards for the various games and the dimm board for the gdrom.
Now the dimm board part contains only a routine to load the "rom file" from the gdrom chd, but in the future it will be fully implemented with its own sh4 processor, security chip and so on.
Extracted .rom files are no longer needed, rom file is extracted in code from the CHD.
(needs a little cleanup as it was based on pre-aaron 'change everything' code, but it's functional)
(yes I did a quick test,current implementation makes (for example) human skin colors memory address to be equal to the palaces colors memory address in the intro)
* Fixed Final Arch broken Test Mode;
* Demoted Super Major League / Final Arch as GAME_NOT_WORKING,they hangs randomly due of SH-2 master/slave communication RAM issues;
* Removed GAME_NOT_WORKING flag to Fighting Dragoon Legend Elan Doree,because protection affects only in-game graphics and not gameplay;
new clones added
-----------------
Violent Storm (ver UAC) [Bill DeLeo]
(this is newer than the existing USA set, the night slashers he dumped turned out to be the same as an existing set)
---------
Puzzle Bobble 2 (Ver 2.3O 1995/07/31) [Ross Myers]
---- note
At the moment the Taito F3 driver is pretty broken, it has been since the 68000 core changes in the last u update.
For this clone to boot I've had to add a patch, it's checking something, can somebody find out what? Seems odd.
I've also removed all speedups in the driver, the 68020 games are fast enough on modern hardware that the speedups aren't really worthwhile.
are broken.
Changed READ/WRITE handlers to accept an address_space * instead of a
machine *. The address_space object was enhanced to contain a machine
and a pointer to the relevant CPU object.
Fixed a number of errors found by the compiler, mostly in the core and
CPU/sound handlers, but there is a lot remaining to fix.
Added new function cpu_get_address_space() to fetch the address space
for calling in manually to these functions. In some instances, code
which should eventually be converted to a device is hard-coding fetching
the program space of CPU #0 in order to have something valid to pass.
* Better management of hblank/vblank bits;
* Makes dynamic resolutions to be called with a timer instead of run-time;
* Makes dynamic resolutions to not be changed at every frame but only when there's an actual change;
This fixes Golden Axe: the Duel gameplay speed at the cost of breaking up Groove on Fight coin counter at start-up.
----------
Beast Busters (US, Version 2) [Brian Hargrove]
(he hasn't confirmed if he's OK being credited with his real name yet, so if the situation changes I'll mail the list)
I've also DEMOTED Beast Busters to non-working. As soon as you calibrate the guns the game fails, and without calibrated guns you can't really play. The gun reading is hacked, as are the gun interrupts. This needs fixing *properly*, at which poin I imagine it will actually work, and no just hang after calibration. From what I can tell it's never worked after calibration hence the demotion.
original dump was fine, there just needed to be a gap in the rom loading.. there are still some 'nasty' sounds, but this seems typical of our ymz280b emulation, I'm still pretty sure the ADPCM decode is broken, it must be 'special'.
I've also promoted them to playable.. so
New Playable Games
------------------
Jackie Chan - The Kung-Fu Master [David Haywood, Andreas Naive, stephh, Angelo Salese]
Jackie Chan in Fists of Fire [David Haywood, Andreas Naive, stephh, Angelo Salese]
this documents the CPS2 Phoenix sets, and what happens to a dead CPS2 board.
I think it's important we start keeping track of these now as they're finding their way onto bootleg boards, with further hacks and modifications made along the way.
Far from an ideal situation, but, our job is to document the facts, not discriminate by ignoring them.
- removed unnecessary deprecat.h includes
- replaces Machine with existing running_machine* instances
- re-adds a peroid I accidentally removed when changed a message to
use defines
- adds a running_machine* to win_window_info and debugwin_info to get
rid of most Machine occurances and clean up the running_machine*
parameters I added in the past
[Oliver Stoeneberg]
With Aaron's change to macroize the cpu apis, the cpu/sound interfaces
are now using different idioms. This patch fixes that. It uses the
prefix SND_ instead of SOUND_, to avoid changing SOUND_START,
SOUND_RESET in driver.h. While working on it, I noticed that the
reset routines for k053260, msm5205, upd7759 and vlm5030 aren't hooked
up, but I decided this was an oversight and macroized the functions
anyways (but left them unhooked).
related APIs now take a device pointer instead of an index.
All functions that take a CPU device are prefixed with cpu_*
All functions that are globally related to cpu execution
are prefixed with cpuexec_*. Below is a list of some of the
mappings:
cpu_boost_interleave -> cpuexec_boost_interleave
cpunum_suspend -> cpu_suspend
cpunum_resume -> cpu_resume
cpunum_is_suspended -> cpu_is_suspended
cpunum_get_clock -> cpu_get_clock
cpunum_set_clock -> cpu_set_clock
cpunum_get_clockscale -> cpu_get_clockscale
cpunum_set_clockscale -> cpu_set_clockscale
cpunum_get_localtime -> cpu_get_local_time
cpunum_gettotalcycles -> cpu_get_total_cycles
activecpu_eat_cycles -> cpu_eat_cycles
activecpu_adjust_icount -> cpu_adjust_icount
cpu_trigger -> cpuexec_trigger
cpu_triggertime -> cpuexec_triggertime
cpunum_set_input_line -> cpu_set_input_line
cpunum_set_irq_callback -> cpu_set_irq_callback
In addition, a number of functions retain the same name but
now require a specific CPU parameter to be passed in:
cpu_yield
cpu_spin
cpu_spinuntil_time
cpu_spinuntil_int
cpu_spinuntil_trigger
cpu_triggerint
Merged cpuint.c into cpuexec.c. One side-effect of this
change is that driver reset callbacks are called AFTER the
CPUs and devices are reset. This means that if you make
changes to the CPU state and expect the reset vectors to
recognize the changes in your reset routine, you will need
to manually reset the CPU after making the change (since it
has already been reset).
Added a number of inline helper functions to cpuintrf.h for
managing addresses
Removed cpu_gettotalcpu(). This information is rarely needed
outside of the core and can be obtained by looking at the
machine->cpu[] array.
Changed CPU interrupt acknowledge callbacks to pass a CPU
device instead of machine/cpunum pair.
Changed VBLANK and periodic timer callbacks to pass a CPU
device instead of machine/cpunum pair.
Renamed all information getters from cpu_* to cpu_get_* and
from cputype_* to cputype_get_*.
Added Simulation of Toybox external data rom decryption from Andreas
Converted Blood Warrior, Bonk's Adventure, Great 1000 Miles Rally 1+2 to use the new code.
Updated suprnova rendering to allow 2 sprite chips.
Started work on Jackie Chan & Gals Panic 3
* sndindex now considered as well in state save
* expose discrete_sound_n_r(void *chip, ...) to enable accessing multiple discrete sound cores
Curt Coder, is this sufficient?
* changed the 6845 type to R6545_1 (Rockwell as mentioned in the driver).
* use transparent addressing
* lightpen code now generates a "lightpen_assert" at the right screen position.
* Completely hooked up 6545 without wrappers.
* implemented support for phi1/phi2 transparent addressing
* added callback to communicate address back to driver
Implementation is not and can not be "clock" accurate since the timing is totally up to the hardware implementation. It is the main cpu and hardware which determines phi clocking and when data is written to video ram. The only support in the 6545 is that the update address is latched out to the ma lines during phi2.
(program roms are identical to Vs. Super Mario Bros. (alt),just the graphical roms are completely reworked,I don't know if it is worth supporting...)
(PS: do not credit me on this)
context ones (which are going away), the disassembler (which should
have no dependencies on the live CPU), and the validity check.
Removed global token from all pointer-ified CPU cores that don't
have internal read/write callbacks (which still need to reference it).
* added a set of cpu_* calls which accept a CPU device object;
these are now the preferred means of manipulating a CPU
* removed the cpunum_* calls; added an array of cpu[] to the
running_machine object; converted all existing cpunum_* calls
to cpu_* calls, pulling the CPU device object from the new
array in the running_machine
* removed the activecpu_* calls; added an activecpu member to
the running_machine object; converted all existing activecpu_*
calls to cpu_* calls, pulling the active CPU device object
from the running_machine
* changed cpuintrf_push_context() to cpu_push_context(), taking
a CPU object pointer; changed cpuintrf_pop_context() to
cpu_pop_context(); eventually these will go away
* many other similar changes moving toward a model where all CPU
references are done by the CPU object and not by index
* cpu/i8x41 should be renamed to UPI-4x, since UPI-41/42 was an intel chip family
postponed for now until core moved to pointers.
* removed I8041 definition from mcs48
* removed I8x41 cpu definition and config struct
* added I8041, I8741, I8042, I8242 and I8742 cpus to i8x41.c
* added internal memory maps
* internal ram now uses DATA memory space
* updated drivers
* increased interleave to 70 in decocass. This fixes decocass hanging in countdown around 13
No idea when this bug was introduced.
Sent: Friday, November 07, 2008 9:47 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] More header files for mame
Hi mamedev,
Here's another set of about 20 new include files for MAME. As before,
the only issues discovered by the migration were some dead prototypes.
~aa
Sent: Wednesday, November 05, 2008 7:21 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] New include files for drivers
Hi mamedev,
Here's a patch that adjusts a few existing include files, but
principally adds new include files for about twenty existing drivers.
This found a few dead prototypes, but otherwise didn't reveal any
errors.
~aa
Sent: Wednesday, November 05, 2008 8:22 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add ADDRESS_MAP_NAME macro
Hi mamedev,
In theory, MAME's interface macros should completely hide the naming
conventions from the drivers and sound/cpu cores. So as an
experiment, I renamed all the core apis and looked to see what broke.
The most common api coupling was with address maps in the CPU cores,
which this patch addresses by introducing a new macro,
ADDRESS_MAP_NAME (mimicing what is done in devintrf.h). There were a
handful of related problems in some drivers which this patch also
fixes. Some remaining issues I left alone (laserdisk apis reference
rom, video_update, machine_config, ksys573 use of nvram_handler,
megadriv use of ipt), in principle all the apis need _NAME variants to
encode the conventions.
~aa
Sent: Wednesday, November 05, 2008 1:53 AM
To: submit@mamedev.org
Subject: fix for MT 2626
Hi,
enclosed please find a patch to fix missing buttons for crime fighter 2p (Button 3 and Start)
Regards,
Fabio
To: "Nicola Salmoria" <nicola.salmoria@virgilio.it>
Sent: Tuesday, November 04, 2008 5:48 PM
Subject: CPS2 driver.
> Hi,
>
> I have updated the CPS2 driver to bring all ROM names back in line with
> Capcom's naming system (which they print on the stickers). The changes are
> quite minor and include bringing the SIMM dump names into one format. Also
> included is a fix to Gigawing ROM names and Street Fighter Zero 2 Alpha,
> which ROM names broke after the split from Street Fighter Zero 2 in the
> last
> MAME update.
>
> I though it would be good to do this as the same seems to be going on in
> the
> NeoGeo driver. Around ten sets are affected in total.
>
> Regards, Raz
>
Sent: Sunday, November 02, 2008 9:56 AM
To: submit@mamedev.org
Subject: expro02 missing?
Hi!
I don't know what is happened with my last diff, but this one fixed the missing part.
Bye Sonikos
Sent: Saturday, November 01, 2008 7:14 PM
To: submit@mamedev.org
Subject: psycho nics oscar revision change
I changed Psicho Nics Oscar (japan revision 0) to (world revision 0)
since there is no japan disclaimer
please find herewith attached a new game dumped from Russia.
The PCB has been lent by "Soviet Arcade Games Museum" www.15kop.ru
Dump and diff by "Antro" (my Italian friend living in Moskow)
Snezhnaja Koroleva [Antro]
* Added proper clock speed to plygonet.c and internal divider to dsp56k.c
* Fixed up disassembler add/sub, 05xx, and bsr ops.
* Handle mysterious uuuuF instruction found in plygonet add op.
* Partially implemented add, sub, mac, mpy, inc, cmpm, macr, asr16, jscc, lea, and movec ops.
* Added dual X memory read and data move with short displacement parallel moves.
* Merged DS5002FP
* Disassembler now uses type specific memory names
* Merged DS5002FP disasm
* added 83C751 memory names to disassembler
* delete DS5002FP specific files
* removed unnecessary cpu callback in wrally
* DATA_MAP ==> IO_MAP in wrally
* Fixed bitmap zooming in Virtual Mahjong 2 - My Fair Lady;
* Worked around a major graphic bug in ElanDoree;
* Added some missing alpha blending effects,Pro Mahjong Kiwame S title screen needs it but it doesn't work yet due to other problems (still investigating)
* Fixed a crash bug with Astra Super Stars when the debugger is active.
(this is to sync with svn tree,ST-V will be further improved on a later stage)
working on something, hold off syncing.
Defined macros for core CPU functions: CPU_INIT, CPU_RESET, CPU_EXIT,
CPU_EXECUTE, along with macros for the name and for calling, in the
spirit of the devintrf.h macros. More will come later.
Changed init, reset, exit, and execute interfaces to be passed a
const device_config * object. This is a fake object for the moment,
but encapsulates the machine pointer and token. Eventually this will
be a real device.
Changed the CPU IRQ callbacks to a proper type, and added a device
parameter to them.
Updated all CPU cores to the new macros and parameters.
Note that this changes the way we "pointer"-ify cores. I'll send an
update shortly.
Began the process of pruning options from the 68000 core, hard-coding it
for MAME's needs. We've hacked on it sufficiently that it is no longer
generic, so this is a good opportunity to simplify the code so that it
can actually be followed.