Commit Graph

3254 Commits

Author SHA1 Message Date
Aaron Giles
eb08400613 From AtariAce:
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).
2008-11-13 07:07:54 +00:00
Aaron Giles
63d10ee9bf Massive API cleanup/change. The primary goal is that all CPU-
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_*.
2008-11-13 06:59:57 +00:00
davidhay
451a03ff70 Kaneko update part 4:
gals panic 3 video improvements
2008-11-13 02:17:16 +00:00
davidhay
d567059cc7 Kaneko update part 3:
more Jackie Chan video improvements (view2 tilemaps)
2008-11-13 02:11:49 +00:00
davidhay
61a50d7642 Kaneko changes part 2
- some improvements to Jackie Chan video
2008-11-13 02:04:06 +00:00
davidhay
9d48421e71 Kaneko changes part 1
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
2008-11-13 01:50:27 +00:00
Couriersud
00ac825a67 Fix state save in discrete sound
* 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?
2008-11-12 22:12:44 +00:00
stephh
7745124dc6 Fixed Dip Switches for 'joyfulr' and clone. 2008-11-12 22:11:57 +00:00
stephh
0e4d375955 Fixed Dip Switches for 'momoko'. 2008-11-12 18:09:55 +00:00
Couriersud
6fae8bbbfa abc_step and abc_reset now declared as DISCRETE_STEP( abc ) and DISCRETE_RESET( abc ) 2008-11-12 00:27:42 +00:00
Couriersud
6d2d7b9290 Remove ds5002fp folder 2008-11-11 23:19:07 +00:00
Couriersud
7368532498 peplus.c updates
* 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.
2008-11-11 22:26:39 +00:00
Couriersud
08f0fa3f6c Transparent mc6545 phi1/pi2 addressing
* 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.
2008-11-11 22:23:08 +00:00
Angelo Salese
5612216269 Added the Vs. Skate Kids set.
(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)
2008-11-11 16:42:26 +00:00
stephh
954efd1fba Fixed Dip Switches for all games in mermaid.c driver. 2008-11-11 04:07:48 +00:00
Nathan Woods
2f64840531 Sync with MESS 2008-11-11 03:58:52 +00:00
stephh
5590dc71fe Oops ... I checked the old version instead of the new one :( Sorry again ... 2008-11-10 22:26:51 +00:00
stephh
9f7d6fddec Fixed Dip Switches for 'magmax'. 2008-11-10 22:16:08 +00:00
stephh
37a9c85f4d Fixed Dip Switches for 'lkage' and clones.
Fixed bootlegs visible area to match original sets.
2008-11-10 18:41:18 +00:00
Aaron Giles
c3d385fddd Converted TMS340x0 cores to be pointer-based. 2008-11-10 16:49:10 +00:00
Aaron Giles
5b96808e6d Fix compile error. 2008-11-10 16:01:18 +00:00
Aaron Giles
b5f1e96c98 Removed save_device pattern if favor of just accepting the
device from the reset.
2008-11-10 08:56:38 +00:00
Aaron Giles
6f4ee44948 Added CPU device parameters to all CPU callbacks except for the
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).
2008-11-10 08:51:06 +00:00
Aaron Giles
92f3053105 Major cpuintrf changes:
* 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
2008-11-10 07:42:09 +00:00
Angelo Salese
7c2bd582be small bugfix for the Tetris sub-game in Filetto 2008-11-10 00:31:12 +00:00
Angelo Salese
59097d6646 Hooked up properly several PC-based devices in Filetto,game now works without sound.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Filetto [Angelo Salese]
2008-11-09 23:38:09 +00:00
Angelo Salese
d15169631e Fixed a crash bug with elandore protection handling. 2008-11-09 22:56:51 +00:00
Couriersud
ce58dbba34 * Renamed mcs51_regs to mcs51_state_t
* Renamed mcs51 to mcs51_state

Shouldn't the state struct just be called cpu_state?
2008-11-09 22:39:33 +00:00
Couriersud
819a970684 Fix deleted CHECK_IRQ_LINES() 2008-11-09 22:38:41 +00:00
Couriersud
e7d938fa2b Formatting, identation
* the hd6309 is very similar to the m6809, cleaned up a bit for windiff & friends.
2008-11-09 22:18:17 +00:00
Couriersud
b8ae0cadbe i960 core switched to pointer state access 2008-11-09 21:51:12 +00:00
Couriersud
d6dedbdedf Converted i8x41 to use pointers for state access
Separated opcodes into i8x41ops.c
2008-11-09 20:38:33 +00:00
Angelo Salese
16b4f15e2d Video emulation fixes to the Ghost Eolith HW (not yet working) 2008-11-09 19:13:15 +00:00
Angelo Salese
ecffdc96cb Clean-ups in the ST-V driver and corrected protection number seeds for elandore. 2008-11-09 14:25:38 +00:00
Jonathan Gevaryahu
bc72141598 s14001a.c: added chip pinout and operation notes. 2008-11-09 08:51:47 +00:00
Aaron Giles
9407fecd2d Populated tag and static_config parts of fake CPU device. Removed 'config'
parameter from CPU_INIT. Modified CPU cores to pull config from the device
static_config.
2008-11-09 07:12:24 +00:00
Roberto Zandona
70365a3886 i8x41: fixed missing space at the end of file 2008-11-09 06:23:36 +00:00
Couriersud
a65a044779 UPI-41/42 (still I8x41.c) changes:
* 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.
2008-11-09 02:09:40 +00:00
Aaron Giles
1e16c45212 Cleanups/version bump. 2008-11-09 01:04:37 +00:00
Aaron Giles
ac7689264e Star Castle drone sound improvement from Jim Hernandez. 2008-11-08 21:12:38 +00:00
Aaron Giles
5fc6083545 From: Atari Ace [mailto:atari_ace@verizon.net]
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
2008-11-08 21:09:42 +00:00
Aaron Giles
6a979c82ff From: Atari Ace [mailto:atari_ace@verizon.net]
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
2008-11-08 21:08:00 +00:00
Aaron Giles
096529d2d8 From: Atari Ace [mailto:atari_ace@verizon.net]
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
2008-11-08 21:06:35 +00:00
smf-
0a22e550b3 fixed unassigned variable error. 2008-11-08 20:01:52 +00:00
Aaron Giles
226c3b5b26 From: Fabio Priuli [mailto:doge.fabio@gmail.com]
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
2008-11-08 19:31:46 +00:00
Aaron Giles
edb3cec01e From: <razoola@cps2shock.com>
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
>
2008-11-08 19:31:08 +00:00
Aaron Giles
7054e5c3f3 From: abcd efgh [mailto:cix_999@yahoo.it]
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
2008-11-08 19:29:53 +00:00
Aaron Giles
274be4757c From: Corrado Tomaselli [mailto:corrado.to@tiscali.it]
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
2008-11-08 19:27:50 +00:00
Aaron Giles
b67d1cd7cb Dear Aaron,
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]
2008-11-08 19:26:42 +00:00
Angelo Salese
2d1fbafcdf Done some work on the Forte Card driver,not yet working. 2008-11-08 16:38:51 +00:00