Commit Graph

3761 Commits

Author SHA1 Message Date
Aaron Giles
64c7591175 From: Oliver Stoeneberg [mailto:oliverst@online.de]
Sent: Sunday, December 21, 2008 3:28 AM
To: submit@mamedev.org
Subject: minor stuff

Hi,

just a small one:
- adds a ATTR_PRINTF in inptport.c
- removes an unnecessary memset in emu/sound/rf5c68.c

So long
Oliver
2008-12-22 03:34:54 +00:00
Aaron Giles
b86e015e32 Preliminary driver for Taito's "Parent Jack" [David Haywood]
New games marked as GAME_NOT_WORKING
------------------------------------
Parent Jack [David Haywood]
2008-12-22 03:34:01 +00:00
Aaron Giles
8213a7af4f Rewrote 8080/8085 interrupt handling so that it makes sense.
Changed 8080/8085 callbacks to be specified in a config structure.
Converted 8080/8085 core to cpu_state_table.
Changed to a single HAS_808X define for both cores.
Fixed several drivers that used interrupts in odd ways.
Converted warpwarp driver to raw video parameters.
2008-12-22 03:18:03 +00:00
Angelo Salese
9f29926c2f Wrote a driver for Casino Winner,working with sound [Chris Hardy,David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Casino Winner [Chris Hardy,Angelo Salese]
2008-12-22 00:17:44 +00:00
Roberto Fresca
421f6842fd Improvements to the skylncr.c driver. [Roberto Fresca, David Haywood]
- Complete reel support from the scratch.
- Full inputs, outputs & DIP switches from the scratch.
- Added new games.
- Updated technical and game notes.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Sky Lancer (Bordun, ver.U450C) [Roberto Fresca, David Haywood]
Butterfly Video Game (ver.U350C) [Roberto Fresca, David Haywood]
Mad Zoo (ver.U450C) [Roberto Fresca, David Haywood]


New games marked as GAME_NOT_WORKING
------------------------------------
Leader [Roberto Fresca, David Haywood]
2008-12-21 23:18:28 +00:00
Andrew Gardner
44a99ed738 Rewrite of the Motorola DSP56k CPU core. (Andrew Gardner)
* Fixed flag calculation and sign extension for numerous ops.
* Added rnd, mpysuuu, and dmac ops.
* Fixed do loop behavior to skip empty loops.
* Added stack underflow exception handling.
2008-12-21 19:07:44 +00:00
Phil Bennett
6bd48dad88 02757: sengoku3: manufacturer should be "Noise Factory / SNK" 2008-12-21 17:31:22 +00:00
Phil Bennett
432ac09596 New clones added
----------------
Double Dragon 3 - The Rosetta Stone (prototype) [Guru]
2008-12-21 17:14:08 +00:00
Roberto Fresca
c8b595039b Improvements to the dmndrby.c driver.
Please credit Mike Green.
2008-12-21 11:02:39 +00:00
smf-
1f25d3f935 fixed access violation caused by passing a NULL pointer into the dma finished code. 2008-12-21 09:52:56 +00:00
Andrew Gardner
c17377e8a9 Fixed update_handler for the dsp56k and polygonet. [Andrew Gardner]
(The driver more or less works again.  And holy moly is this thing fast with my crazy interleave values!)
2008-12-21 08:21:34 +00:00
Aaron Giles
f5ca4e1d0e From: David VanVoorhis [mailto:iq_132@hotmail.com]
Sent: Saturday, December 20, 2008 7:43 AM
To: submit@mamedev.org
Subject: Agress Fix

Here's a fix for Agress' title screen

Link if the attachment doesn't work. :)
2008-12-21 07:57:00 +00:00
Aaron Giles
825cfee6a8 From Mamesick:
* ddragon3.diff
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters

* shadfrce.diff
- converted driver to be fully scanlines based using timers
- implemented raster interrupt timer in the main routine
- updated driver to new video screen raw parameters

* wwfsstar.diff
- converted driver to be fully scanlines based using timers
- updated driver to new video screen raw parameters

* wwfwfest.diff
- converted driver to be fully scanlines based using timers
- hooked up interrupts
- updated driver to new video screen raw parameters
2008-12-21 07:53:28 +00:00
Roberto Fresca
41ef03afbb Merged goldstar and lucky8 drivers. [David Haywood] 2008-12-21 07:26:49 +00:00
Aaron Giles
181f77e83a Fixes the reel emulation on IGS-009 driver [David Haywood]
New games marked as GAME_NOT_WORKING
------------------------------------
Grand Prix 98 [David Haywood]
2008-12-21 03:14:44 +00:00
Aaron Giles
c8ef4d72d0 From: Lei Wu [lanewu@hotmail.com]
Sent: Monday, December 15, 2008 1:27 PM
To: submit@mamedev.org
Subject: sfz2aad->sfz2ald
2008-12-21 03:12:36 +00:00
Aaron Giles
668647d2eb Fixed some color issues in the goldstar.c driver [David Haywood] 2008-12-21 03:11:20 +00:00
Aaron Giles
c93da768c5 Additional notes from hap. 2008-12-21 03:10:10 +00:00
Aaron Giles
dc63238265 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Friday, December 19, 2008 8:50 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add machine/space to some callbacks

Hi mamedev,

This patch widens some machine callbacks to include an object (either
machine or space).  I didn't convert these earlier since MAME didn't
explicitly need them, but some of these will be needed by MESS now
that Machine is gone and in general all callbacks need to pass an
object.

~aa
2008-12-21 03:07:52 +00:00
Aaron Giles
d617d4369d Minor code simplification. 2008-12-21 00:41:10 +00:00
Aaron Giles
5279595eee Removed MDRV_INTERLEAVE(x), which specified the minimum scheduling
quantum in terms of "frames" (a dubious concept now with multiple
screens and changing refresh rates). Replaced it with a new
MDRV_QUANTUM_TIME(x) which specifies the minimum scheduling quantum
as a time value. Time can be specified as HZ(x), NSEC(x), USEC(x),
etc. Updated all drivers to use this, assuming 60 was the frame
rate (this is not perfect but should work for almost all cases).

Changed MDRV_WATCHDOG_INIT_TIME(x) to automatically prepend
UINT64_ATTOTIME_IN_ to the parameter, ensuring there is no
improper use of this macro and bringing it in line with the
MDRV_QUANTUM_TIME() macro. Updated all callers.

Added new MDRV_QUANTUM_PERFECT_CPU(x) to specify that the minimum
quantum should be enough to ensure that the specified CPU tag
only ever executes a single instruction at a time. This can be
used to explicitly require "perfect" synchronization for drivers
that have multiple CPUs with shared memory. Turned this on for
the arknoid2 driver for now as a test (the interleave on that
driver was already very close to perfect anyway).
2008-12-20 21:17:53 +00:00
Wilbert Pol
0b6b3886cc Added running_machine parameter to the callback in the sid interface. 2008-12-20 20:00:25 +00:00
Angelo Salese
ac26377859 Added Three Ds to the Pastel Gal driver [David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Three Ds - Three Dealers Casino House [David Haywood,Angelo Salese]
2008-12-20 19:13:57 +00:00
Wilbert Pol
8850e49309 Added running_machine parameters to the f3853 callbacks. 2008-12-20 19:10:31 +00:00
Roberto Zandona
20cc01ef5f sscope2: used new dumped roms 2008-12-20 18:18:47 +00:00
Nathan Woods
c9c8b50669 Added running_machine callbacks for the Amiga code 2008-12-20 17:54:15 +00:00
Angelo Salese
b501c8dd73 (Oh snap,forgot to add the driver)... 2008-12-20 16:44:48 +00:00
Angelo Salese
59c1045ffa Wrote a driver for 4nin-uchi Mahjong Jantotsu,working with some issues [David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
4nin-uchi Mahjong Jantotsu [David Haywood,Angelo Salese]

(and commented out a printf line in Jangou HW.)
2008-12-20 16:42:59 +00:00
Angelo Salese
c3673f5aa1 Added Country Girl to the Jangou driver,working with sound [David Haywood,Angelo Salese]
- Fixed transparency pens in the Jangou driver (so removed the GAME_IMPERFECT_GRAPHICS flag); [Angelo Salese]
- Added a kludge for Jangou Lady RNG,will be worked on in the future; [Angelo Salese]

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Country Girl [David Haywood,Angelo Salese]
2008-12-20 16:28:18 +00:00
Roberto Zandona
fd26606354 removed unused variable "result" 2008-12-20 13:18:09 +00:00
Roberto Zandona
dcc258f634 added pal in arkgcbl 2008-12-20 12:53:47 +00:00
Aaron Giles
f32fa3b2e6 02745: all sets using autosave: Games using autosave segfault on startup 2008-12-20 07:39:19 +00:00
Aaron Giles
446f13607f Memory view fixes:
* Fixed bug that computed the wrong total size if the address
  space was a full 32 bits
* Improved display to show unmapped memory with *s
* Disabled enumeration of disk and 0-length regions
2008-12-20 07:25:39 +00:00
Aaron Giles
9be5d30f20 More cleanup. Added address-space-specific constants for the various
bus width and shift CPU interface constants. Changed all the cores
to use them.

Minor spacing cleanup in Z80, Z180, TMS34010, ADSP21xx cores.

Changed ADSP21xx cores to accept a configuration struct instead of
using set_info to specify serial port callbacks. Simplified the
ADSP21xx get/set info significantly. Removed support for only
including certain variants of the chips; they are now either all
supported or all unsupported.
2008-12-20 02:57:13 +00:00
Aaron Giles
bc33516388 Oops, missed this file. 2008-12-20 00:06:49 +00:00
Aaron Giles
165be1ee47 Z180 uses new cpu_state_table 2008-12-19 23:04:42 +00:00
Aaron Giles
63a6f364f8 Fixed registers view to only show those entries valid for the
CPU type.
2008-12-19 22:34:19 +00:00
Aaron Giles
d2d5def542 Oops, swapped import/export on the R register. 2008-12-19 22:29:14 +00:00
Aaron Giles
320097d9fe Renamed CPUINFO_PTR_* to CPUINFO_FCT_* for function get infos.
Changed Z80 over to the new cpu_state_table mechanism.
2008-12-19 22:26:25 +00:00
Aaron Giles
f36fc8641e This update is the below two patches, plus the remaining changes
necessary to remove 12 of the final 14 references to the global
Machine. The remaining 2 are in fatalerror() and logerror(), which
are both local to mame.c, so Machine is now fully static.

--

From: Atari Ace [mailto:atari_ace@verizon.net] 
Sent: Thursday, December 18, 2008 5:47 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make Machine static followup

Hi mamedev,

This incremental patch to my last patch undoes the change that caches
the ppu2c0x videorom.  I changed the code back to how it behaved
originally, using an existing machine on the chip struct to eliminate
the one troublesome Machine reference.

~aa

--

From: Atari Ace [mailto:atari_ace@verizon.net] 
Sent: Thursday, December 18, 2008 2:54 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make Machine static!

Hi mamedev,

This large patch completes the removal of the use of Machine
throughout MAME.  It does so primarily by adding machine, device or
space to various apis and modifying the callers, but for some
remaining cases it adds a new api, mame_get_running_machine(), which
will be called instead.  There are only 14 uses of this api currently,
and that number should drop over time.

There are a few changes of note:
1.  6821pia.c.  I attached machine to the 'device' structure.  I'm
working on converting this to a proper device, but that change isn't
ready.
2.  fddebug.c.  I added a proper header so that the apis won't get
accidentally converted to static again.
3.  scsi.c.  I added a machine to SCSIInstance.
4.  system16.c.  I modified sys16_patch_code to take an array of
patches.
4.  custom.h.  I added the owning sound device to the reset/stop
routines as well as the token.  Note that passing only the device
would require exposing the internals of custom_sound, as the token
passed is not the device token, but the token returned from the
CUSTOM_START routine.  Better ideas here are welcome.
4.  ppc2c0x.c.  To avoid changing more interfaces, the init routine
saves the videorom location rather than looks it up each time.

I tried to choose what I felt was the natural parameter for an api,
rather than always pass machine, but in some cases I used machine to
limit the number of additional changes.  Some additional cleanup here
is probably warranted, I'll look into that later once I'm recovered
from this two-week project.

~aa
2008-12-19 19:40:22 +00:00
Aaron Giles
42c9aeff39 Cleaned up device and sound interfaces to match the CPU
interfaces when handling strings. Namely, the generic
get_info functions allocate a temporary string and the
device in question copies its string to the target,
instead of assigning a const char *. Updated all device
and sound cores to operate this way.

Added the concept of a cpu_state_table, which is
supplied by the CPU cores and which describes all the
register state accessible to the debugger and other
subsystems. The format of the table is such that most
data can be simply fetched from memory without the
further involvement of the CPU core, including the 
display of common formats. Extensibility points are
available for custom display and for importing/exporting
the data to intermediate variables for more complicated
scenarios. Updated the ADSP21xx, TMS340x0, and i86 cores
to use this.

Removed the old debugger register list, which was never
used. Replaced it with using ordering from the
cpu_state_table.

Renamed REG_PC -> REG_GENPC, REG_SP -> REG_GENSP, and
REG_PREVIOUSPC -> REG_GENPCBASE. Updated a few spots
that were using these directly. Moved these definitions
into the end of the register area rather than leaving
them outside which put them in a weird range.
2008-12-19 06:46:17 +00:00
Andrew Gardner
3fdd1d460a Decoded some graphics and setup some RAM in the Virtual Combat driver. [Andrew Gardner] 2008-12-19 03:59:48 +00:00
Roberto Zandona
a382407df8 fixed proms in boobhack 2008-12-18 22:40:04 +00:00
Wilbert Pol
4830ff3e28 Some PIC8259 updates:
- Fixed operation of edge-triggered interrupts
- INT output line is now cleared when an IRQ is acknowledged
- Implemented basic OCW3 features
2008-12-18 20:23:45 +00:00
Aaron Giles
72b283a0d1 Removed index and clock parameters from CPU_INIT function. 2008-12-18 10:11:10 +00:00
Aaron Giles
aa7e2482e2 CPU header cleanups....
i86/i286/i386/nec/v30mz:
 * renamed i86.h -> i86priv.h
 * renamed i86intrf.h -> i86.h
 * consolidated i88intrf.h, i186intf.h, i188intf.h, etc into i86.h

m6805:
 * moved memory read/write macros out of public header

m37710:
 * moved memory read/write macros out of public header

spc700:
 * moved many structs/functions/macros out of public header

tms32010:
 * moved memory read/write macros out of public header

sm8500:
 * pointer-ified the core (apparently never had get/set context!)

g65816:
 * moved memory read/write macros out of public header

pic16c5x:
 * moved memory read/write macros out of public header

t11:
 * moved memory read/write macros out of public header
2008-12-18 09:38:12 +00:00
Aaron Giles
785b6a50c6 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Wednesday, December 17, 2008 9:03 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] STREAM_UPDATE update

Hi mamedev,

This patch modifies the parameters of the stream_update_func callback.
The first two patches go through and changes all the callbacks to use
a consistent set of parameters (the larger patch was mechanically
generated, the smaller second patch are hand edits where review or
compilation showed issues with the automatic conversion).  The third
patch then macroizes all the callbacks to STREAM_UPDATE, and was done
mechanically except for the change to streams.h.  The fourth patch
then adds device to the callback, and eliminates Machine in a handful
of callbacks by referencing the device.  deprecat.h -= 8.

~aa
2008-12-18 08:32:50 +00:00
Aaron Giles
cf9fc58618 Made the concept of a "clock" native to devices. The clock is now
specified when the device is added, and the clock is available in
the device_config directly via device->clock. Updated all devices
that have a clock to specify it when adding the device, rather than
as part of their configuration. As part of this work, also created
device-specific _ADD and _REMOVE macros to simplify configuration.

Dfined a generic device execute function callback, though it
is not used yet. The long term plan is that any device with an 
execute callback will be scheduled along with the CPUs. Now that
CPUs are devices, their scheduling will be moved over to this
logic eventually.

Changed various NVRAM devices to fetch their default memory region
from the device->region rather than specifying it in the 
configuration.

Moved a number of CPUINFO_PTR_* constants to CPUINFO_FCT_*.

Fixed several drivers that manually created their own gfx_elements
to fill in the machine object, so they no longer crash.

Fixed incorrect CPU display on info screen (recently broken).

Moved device startup to *before* the DRIVER_INIT is called. This
is to allow the DRIVER_INIT to configure devices that have been
properly allocated. So far I don't see any negative effects, but
be on the lookout if something weird shows up.

Rewrote the device iteration logic to make use of the typenext
field and the newly-introduced classnext field for iterating more
efficiently through devices of a given type or class.

Fixed behavior of MDRV_CPU_REPLACE so it does not delete and then
re-add a CPU (causing the order to change).
2008-12-18 08:28:50 +00:00
Wilbert Pol
d9fbf0dba5 Removed unneeded segment base changes from the 80286 core. 2008-12-17 19:15:14 +00:00
Yasuhiro Ogawa
09f7e1e8d1 Finalizer update (by poUzVdb90):
- converted to tilemap
- added flipscreen
- changed sound chip name from SN76496 to SN76489A
2008-12-17 15:44:04 +00:00