Commit Graph

14852 Commits

Author SHA1 Message Date
Aaron Giles
845c34f586 Created new testcpu driver that shows how to develop an empty
test driver that (ab)uses the core to single step a CPU executing
arbitrary instructions and capturing before/after state and 
tracking memory. Currently this driver is always compiled, but is
not referenced in mame.lst.

Also updated and modernized the dummy empty driver.
2012-01-14 09:14:28 +00:00
mahlemiut
ec72bf4995 Beginning to implement page faults [Carl] 2012-01-14 06:36:45 +00:00
Aaron Giles
8d1ffc9677 Death to SCREEN_EOF, which was ambiguously called either
at the start or end of VBLANK depending on the video flag
VIDEO_UPDATE_AFTER_VBLANK. Replaced with SCREEN_VBLANK
callbacks which are called both at the start and end of
VBLANK, so you can operate either way, and be explicit
about it. Updated all callers.

Also updated screen_device to use device timers and some
other minor cleanups.
2012-01-14 00:39:13 +00:00
Aaron Giles
e325b867ec More cleanup, and fixed bad bug from last update. 2012-01-13 23:02:46 +00:00
Aaron Giles
570b33a853 Some cleanup of the previous change. Added new template
device_delegate which wraps a regular delegate and includes
a string pointer to a device tag, which can be simply
resolved later. Converted the screen_update delegates to
to be based on this. Changed the mechanism by which screen
formats are auto-deduced. Converted SCREEN_EOF to use these
delegates as well, so now there is MCFG_SCREEN_EOF_STATIC/
DRIVER/DEVICE just like MCFG_SCREEN_UPDATE.
2012-01-13 22:06:59 +00:00
Michaël Banaan Ananas
7984d1991e improved video timing, 512x512 was obviously wrong and caused slowdowns 2012-01-13 19:09:33 +00:00
Phil Bennett
0d46f1aad3 Keep Clang happy while removing any ambiguity 2012-01-13 17:17:09 +00:00
Michaël Banaan Ananas
db3d4e43b4 (pinbot name/year correction) 2012-01-13 16:22:24 +00:00
Miodrag Milanovic
f077571212 Fixed setting default port for slot devices (no whatsnew) 2012-01-13 14:41:21 +00:00
Miodrag Milanovic
4543e33ef1 Added one more screen update device search failover check (no whatsnew) 2012-01-13 10:10:50 +00:00
mahlemiut
814eebb930 i386: various fixes to 486 and Pentium eflags from MESS, and Carl's small
IRQ fix. (no whatsnew)
2012-01-13 06:37:18 +00:00
R. Belmont
2642f11217 Fix PowerPC OS X compile (nw) 2012-01-13 03:58:04 +00:00
Michaël Banaan Ananas
46d7bc5fd8 (gamename corrections) 2012-01-13 02:37:10 +00:00
Angelo Salese
53a5fdf04a Refactoring from MESS, nw 2012-01-12 23:54:36 +00:00
Michaël Banaan Ananas
eda5eaeb30 new clone added
----------------
Western Gun Part II [Andrew Welburn]
2012-01-12 23:35:37 +00:00
Aaron Giles
e4238fb654 Major bitmap-related changes throughout the system. There are
almost certainly some regressions lurking. Let me know if
something seems busted.

Bitmaps are now strongly typed based on format. bitmap_t still
exists as an abstract base class, but it is almost never used.
Instead, format-specific bitmap classes are provided:

   bitmap_ind8 == 8bpp indexed
   bitmap_ind16 == 16bpp indexed
   bitmap_ind32 == 32bpp indexed
   bitmap_ind64 == 64bpp indexed
   bitmap_rgb32 == 32bpp RGB
   bitmap_argb32 == 32bpp ARGB
   bitmap_yuy16 == 16bpp YUY

For each format, a generic pix() method is provided which
references pixels of the correct type. The old pix8/pix16/pix32/
pix64 methods still exist in the short term, but the only one
available is the one that matches the bitmap's pixel size. Note
also that the old RGB15 format bitmaps are no longer supported
at all.

Converted model1, megadriv, and stv drivers away from the RGB15
format bitmaps.

New auto_bitmap_<type>_alloc() macros are provided for allocating
the appropriate type of bitmap.

Screen update functions now must specify the correct bitmap type
as their input parameters. For static update functions the
SCREEN_UPDATE macro is now replaced with SCREEN_UPDATE_RGB32 and
SCREEN_UPDATE_IND16 macros. All existing drivers have been 
updated to use the correct macros. 

Screen update functions are now required for all screens; there
is no longer any default behavior of copying a "default" bitmap
to the screen (in fact the default bitmap has been deprecated).
Use one of the following to specify your screen_update callback:

   MCFG_SCREEN_UPDATE_STATIC(name) - static functions
   MCFG_SCREEN_UPDATE_DRIVER(class, func) - driver members
   MCFG_SCREEN_UPDATE_DEVICE(tag, class, func) - device members

Because the target bitmap format can now be deduced from the
screen update function itself, the MCFG_SCREEN_FORMAT macro is
no longer necessary, and has been removed. If you specify a
screen update callback that takes a bitmap_ind16, then the screen
will be configured to use a 16bpp indexed bitmap, and if you
specify a callback that takes a bitmap_rgb32, then a 32bpp RGB
bitmap will be provided.

Extended the bitmap classes to support wrapping a subregion of
another bitmap, and cleaner allocation/resetting. The preferred
use of bitmaps now is to define them directly in drivers/devices
and use allocate() or wrap() to set them up, rather than 
allocating them via auto_bitmap_*_alloc().

Several common devices needed overhauls or changes as a result
of the above changes:

 * Reorganized the laserdisc base driver and all the laserdisc 
    drivers as modern C++ devices, cleaning the code up 
    considerably. Merged ldsound device into the laserdsc
    device since modern devices are flexible enough to handle
    it.

 * Reorganized the v9938 device as a modern C++ device. Removed
    v9938mod.c in favor of template functions in v9938.c directly.

 * Added independent ind16 and rgb32 callbacks for TMS340x0 devices.

 * All video devices are now hard-coded to either ind16 or rgb32
    bitmaps. The most notable is the mc6845 which is rgb32, and
    required changes to a number of consumers.

 * Added screen_update methods to most video devices so they can be
    directly called via MCFG_SCREEN_UPDATE_DEVICE instead of creating
    tons of stub functions.
2012-01-12 21:19:49 +00:00
Angelo Salese
6a8a2afd4a Haze: fixed MAME/MESS conflict on merging, nw 2012-01-12 18:50:03 +00:00
Miodrag Milanovic
29e524c885 Added support for 2 drives on IDE controller [Miodrag Milanovic] 2012-01-12 15:49:24 +00:00
Michaël Banaan Ananas
da9b77677a (gamename correction) 2012-01-12 14:56:08 +00:00
Michaël Banaan Ananas
2dd6b44714 beaminv.c: added color overlay [MASH] 2012-01-12 14:51:04 +00:00
mahlemiut
a771e136c6 i386: Fixed setting of IF flag when interrupts are triggered in virtual 8086 mode. (no whatsnew) 2012-01-12 08:11:18 +00:00
mahlemiut
5f6f7b8267 i386: Bit more progress towards getting 386 enhanced mode Windows running. [Carl] 2012-01-12 06:20:33 +00:00
Angelo Salese
65c940ba97 Fixed a bug with VGA mask line compare, nw 2012-01-11 21:49:43 +00:00
R. Belmont
f44cec2da5 ARM7: Gave ARM mode its own file & cleaned up formatting/indenting [David Haywood] 2012-01-11 17:47:39 +00:00
Angelo Salese
54a5b4263d iq132 improved the data decode.. nw 2012-01-11 17:43:04 +00:00
Brian Troha
cc1739242b new clone added: Gals Panic S (Euro)
Not working due to recent addition of msm6242 device. Many games stall with "Timer Error" and this is one of them. Possible clash with Y2K bug in the MSM6242 "chip" or what the PCB expects.

New Clone Added
------------------------------------
Gals Panic S - Extra Edition (Europe) [Hartenberger, arcadiabay.de]
2012-01-11 16:31:56 +00:00
Michaël Banaan Ananas
e750382801 added eyeszac, but looks like all the roms are bad dump =(
http://www.citylan.it/wiki/index.php/Eyes_%28Zaccaria_-_Techstar_license%29
2012-01-11 16:22:07 +00:00
Miodrag Milanovic
17503e2d39 Preps for doing idectrl change to work with more devices (no whatsnew) 2012-01-11 15:57:05 +00:00
Miodrag Milanovic
2294b2d7d1 Fix for cassette extension extraction (no whatsnew) 2012-01-11 13:20:34 +00:00
Miodrag Milanovic
b135658096 Cartslot is now C++ device (no whatsnew) 2012-01-11 11:13:36 +00:00
Miodrag Milanovic
6913a50490 Enabling load of multi part softlist items on all available device [Fabio Priuli] 2012-01-11 09:43:53 +00:00
mahlemiut
9f1c1efe74 i386: Fixed high bits in eflags register from being changed by POPF, and
VM and IF flags from changing depending on privilege level.
      Fixed exception error codes in protected mode.
      Further work on virtual 8086 mode.  EMM386 will now load, but will 
      still die a few seconds later.
2012-01-11 08:50:03 +00:00
R. Belmont
749b1fa9e7 and 2 more (nw) 2012-01-11 03:49:08 +00:00
R. Belmont
ab2555b4d0 missed a file (nw) 2012-01-11 03:48:06 +00:00
R. Belmont
6988d679e2 arm7: some code reorganization, used a jump table for a small speedup [David Haywood] 2012-01-11 03:27:31 +00:00
R. Belmont
679de3a614 New games added as GAME_NOT_WORKING
-----------------------------------
Touch de Uno! 2 [f205v, The Dumping Union]
2012-01-10 23:22:31 +00:00
R. Belmont
5993a5344f pgm: fixed uninitialized variable that could lead to odd sprites (nw) 2012-01-10 23:18:00 +00:00
Michaël Banaan Ananas
61c0cd9ef1 added TI Y2404, for now assuming it's identical to SN76489A
(tp84 reference is here http://www.mametesters.org/view.php?id=941 )
2012-01-10 21:48:39 +00:00
R. Belmont
1e8bc4660d New games added as GAME_NOT_WORKING
-----------------------------------
Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition [f205v, The Dumping Union]
2012-01-10 19:44:07 +00:00
Angelo Salese
2de7203e12 Optimized PGM video rendering for a speedup in some video heavy cases [David Haywood]
Reinstated the old KOV protection simulation given that the ARM still hasn't been dumped [David Haywood]

Added some bootleg sets from FBA, nw
2012-01-10 17:54:03 +00:00
Scott Stone
97e7d02034 Fix for MT#04597: opthund: The correct description is "Operation: Thunder". (nw) 2012-01-10 16:41:02 +00:00
Michaël Banaan Ananas
75d52e1b8d (merge note) 2012-01-10 05:44:29 +00:00
Michaël Banaan Ananas
9038292612 any access (not just write) to c000 initiates a soundwrite, this fixes reaktor nosound 2012-01-10 02:15:38 +00:00
Michaël Banaan Ananas
0df5cf3c79 added mcu rom that was read out by dr.decap over a yr ago, not emulated yet 2012-01-10 01:18:41 +00:00
Michaël Banaan Ananas
e9b6bf393c chboxing accesses ram mirror 2012-01-10 00:09:01 +00:00
Michaël Banaan Ananas
9d7bdff58d ww3 is a clone of redalert 2012-01-09 22:45:13 +00:00
Fabio Priuli
0441bb0ea8 softlist: added validation check against multiple parts with the same name. no whatsnew. 2012-01-09 20:39:48 +00:00
Miodrag Milanovic
b4845723d9 GCC 4.6 compile fix (no whatsnew) 2012-01-09 09:09:25 +00:00
mahlemiut
44ee92ea77 i386: Made a start at Virtual 8086 Mode. Not fully working yet, though.
Fixed an issue where two address or operand size prefixes would cancel
      each other out.
2012-01-09 08:10:14 +00:00
Miodrag Milanovic
5e0e5c8bc7 Revering kludge not needed when proper counting is done (no whatsnew) 2012-01-09 06:48:35 +00:00