Commit Graph

2864 Commits

Author SHA1 Message Date
davidhay
e39b0ece90 Submission from Johnboy for Mame v0.127u6 mainline
Affected files:

	mame\src\mame\drivers\neodrvr.c
	mame\src\mame\includes\neogeo.h
	mame\src\mame\machine\neocrypt.c
	mame\src\mame\machine\neoboot.c

Changes:
 . Begin of a general cleanup
	Sorting OEM / Bootleg sets
	Renaming roms on non OEM / Bootleg sets to ONE naming sheme
	Renaming functions
	Added some comments
   Cleanup is not completed.
2008-10-04 13:00:16 +00:00
Aaron Giles
099373081e Added new functions for building device-relative tags. Changed machine
configuration builder to use these functions. Also changed the laserdisc
player devices to use them. Updated Z80 CTC/SIO code to assume that the
CPU provided for the clock is relative to the device that the CTC/SIO
belong to. Updated memory code to assume that regions and devices
referenced by the memory map are relative to the device the associated
CPU belongs to.
2008-10-03 16:29:33 +00:00
Aaron Giles
d707ec622e Fixed a number of regressions due to recent 68000 IRQ changes. 2008-10-03 06:05:16 +00:00
stephh
e348c244aa Added missing support of normal joystick for player 2 in 'gwarb'. 2008-10-03 04:20:30 +00:00
stephh
fc54f63a09 Removed unneeded keys by removing the constants.
Readded UI_ON_SCREEN_DISPLAY to be changed again in the "Inputs" menu as per Aaron's request.

A clean build is required and cfg/default.cfg has to be deleted !
2008-10-03 04:00:41 +00:00
Nathan Woods
17b9549fef Fixed broken prototypes 2008-10-03 03:27:37 +00:00
Brian Troha
18748a6b3f new games/clones added
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Megatouch 5 (9255-60-07 RON, New Jersey version) [Brian Troha]

New clones added
----------------
Megatouch III (9255-20-07 ROG, New Jersey version) [Brian Troha]
Super Megatouch IV (9255-41-07 ROG, New Jersey version) [Brian Troha] (Not Working)
2008-10-02 22:40:37 +00:00
Aaron Giles
f90a19f2bc MSVC compiler error. 2008-10-02 15:05:46 +00:00
Aaron Giles
5123b07115 Cleanups and version bump. 2008-10-02 05:34:21 +00:00
Aaron Giles
cf63e2baa8 Fixed handling of interrupts when the CPU was in the STOP state. 2008-10-02 05:31:24 +00:00
Aaron Giles
18c6cfb56a From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Mon 9/29/2008 9:45 AM
To: submit@mamedev.org
Subject: Small SNES changes
Hi,  

enclosed please find a patch which changes a bit the way SNES 
carts (NSS & bootlegs) are loaded at init time. Currently, data 
are loaded once at start and then the read handlers perform various 
mirroring tricks. With the attached patch, the cart is loaded at 
init and mirrored as many times as it is necessary, while handlers 
simply read from the plain offset. Also, blocks of data are mirrored 
until they fill all the available banks. Implementing this behavior 
both simplifies the handlers code and is more faithful to the hardware 
(see mirroring note included in the DRIVER_INIT).

I also slightly changed some handlers to take into account the new 
mirroring system. OTOH sram_handlers haven't been updated (they will 
be eventually) because with carts as small as the ones in nss.c and 
snesb.c, they basically have no overlapping with the new mirroring 
approach... as soon as I come up with a satisfactory implementation 
that works in MESS (which has to deal with much larger carts), I will 
also submit the MAME side.

No regressions appear with the patch, as far as I could test.

Regards
   Fabio

--

From: Fabio Priuli [mailto:doge.fabio@gmail.com] 
Sent: Wednesday, October 01, 2008 12:01 AM
To: submit@mamedev.org
Subject: further snes changes

Hi,

enclosed please find a patch which rewrites memory handlers in 
machine/snes.c to take into account the additional cart/memory layouts 
(mode 22 & 25) which were available for the home console (almost no 
impact on nss.c & snesb.c, which only use mode 20 & 21). rather than 
only add a bunch of if(snes_cart.mode == XXXX), I preferred to slightly 
rewrite the handlers. main changes on the MAME side are:

* merged regions 0x700000 up to 0x7dffff in snes_map (this allows to 
make memory maps in nss.c and snesb.c identical: the zone previously 
NOPed in nss.c is now handled by snes_r_bank5, because it was not 
reserved for all cart types)
* split region 0x800000-0xbfffff from 0xc00000-0xffffff in snes_map. 
This simplifies a bit handlers used by MAME and it will be necessary 
when MESS supports special chips like SDD-1 (which dynamically changes 
the part of cart loaded in the latter region)
* slightly enlarged SRAM regions (in this case, it only affects what 
happens inside the handler, NOT snes_map) to support carts with 512kbits 
of SRAM (e.g. Thoroughbred Breeder III for MESS). I'm still not 100% 
satisfied with SRAM mirroring, but this is closer to the real thing 
than the previous way to handle it

No regressions are present, neither in MAME nor in MESS, as far as I 
could test (well, for MAME weren't expected, since most changes affected 
mode 22 & 25).

Regards,
     Fabio
2008-10-02 05:09:37 +00:00
Aaron Giles
96943508cd From: abcd efgh [mailto:cix_999@yahoo.it]
Sent: Sunday, September 28, 2008 6:01 AM
To: submit@mamedev.org
Subject: System1 Dips Location

Hi folk!
I continuing   the work on System1
- Added dips location in all game
- Moved in generic Cabinet dip for eliminate the redundancy
- Better implementation of generic input
Bye Sonikos
2008-10-02 05:06:13 +00:00
Aaron Giles
742dcf52f3 From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Friday, September 26, 2008 11:01 PM
To: submit@mamedev.org
Subject: fix for sbasketb

As pointed out by ShimaPong on mameworld forums, dips are 
read in the wrong way in sbasketb.c. It seems that when 
DipLocations were added, the tags were changed in the input 
ports but not in the memory map.

The enclosed patch fixes this regression

Regards,
    Fabio
2008-10-02 05:05:20 +00:00
Aaron Giles
adaaf55595 From: Matt Ownby [mailto:matt.ownby@gmail.com]
Sent: Fri 9/26/2008 10:15 AM
To: submit@mamedev.org
Cc: Philip Bennett
Subject: fix for Cube Quest Line CPU emulation
I found a bug in the emulation of the Cube Quest Line CPU.

Proof of bug:
After looking at .diff,
Assume 'ci' is 1, and assume 'r' and 's' are both 0xFFF 
(0xFFF equals -1, as these numbers are 12-bit signed).
The result should be mathematically equivalent to -1 - (-1) 
which is 0.
~0xFFF is 0xF000, so you'd have 0xF000 + 0x0FFF + 1 which equals 
0x10000 but since 'res' is 16-bits this is truncated to 0x0.  
'C' then becomes 0 and 'V' becomes 1 (as I recall).  The result of 
0 is correct, but the flags are wrong; V should be 0 and C should 
be 1.

Under my proposed fix, you'd have 0x000 + 0x0FFF + 1, which equals 
0x1000, so the lower 12 bits are 0 (correct) and C is 1 and V is 0 
(correct).

I discovered this bug while disassembling the line CPU's ROM.
2008-10-02 05:04:06 +00:00
Aaron Giles
4e9364ded5 Stupid compiler. 2008-10-01 17:12:04 +00:00
Aaron Giles
ce465cb509 Changed 68000 interrupts to only trigger during execution. This
means that multiple changes without any execution will be seen as
atomic. It also means that PULSE_LINE no longer works for signalling
IRQs.

Added checks in the debug build to catch people who try to use
PULSE_LINE for non-NMI and non-RESET input lines on CPUs that no
longer support direct interrupt generation. Over time expect this
list to increase.
2008-10-01 17:09:11 +00:00
Aaron Giles
34cd80a8e5 Added mechanism to generically specify input port tags in place of
machine/device handlers. Unfortunately, the implementation relies on
sentinel values to distinguish a port tag versus a pointer to function
code. However, since this is a very common situation, it will hopefully
be worth the slight grossness. New macros are defined in inptport.h:

   DEVICE8_PORT(name) - use this to specify the name of a port to read
     wherever a read8_device_func would normally be used

   MACHINE8_PORT(name) - same as DEVICE8_PORT except it can be used
     wherever a read8_machine_func would normally be used

   IS_HANDLER_PORT(ptr) - accepts a read8_device_func or read8_machine_func
     and determines if it is an actual function or a reference to a port;
     intended for use by devices that accept DEVICE8_PORT-style functions

   CALL_DEVICE8_READ(ptr,device,offset) - either calls through the given
     read8_device_func, or calls input_port_read with the appropriate
     tag, depending on the result of IS_HANDLER_PORT; intended for use 
     by devices that accept DEVICE8_PORT-style functions

   CALL_MACHINE8_READ(ptr,machine,offset) - same as CALL_DEVICE8_READ
     except for read8_machine_func

Note that in order for these to be useful, the consumer of the function
pointer must be enhanced to use the CALL_* macros above instead of directly
calling through the function. So far, only the 8255 PPI is set up to do
this, as part of the cleanup below. Also note that the sentinel value is
currently 4 consecutive 0 bytes; this may need to change in the future, in 
either length or value, so it is important to stick to the macros above.

8255 PPI interface cleanup:
 - added MDRV_PPI8255_ADD, MDRV_PPI8255_RECONFIG and
    MDRV_PPI8255_REMOVE macros; updated all drivers to use them
 - changed callbacks to device read/write handlers intead of
    machine read/write handlers; updated all drivers accordingly
 - normalized function and variable names to be lower_under
 - removed a number of redundant interfaces from the galaxian/
    scamble line of games

LD-V1000: added some (compile-time removed) information about the
ROM and memory map
2008-10-01 16:36:04 +00:00
Andrew Gardner
8515504a7b Added additional Motorola DSP56k reset behavior. (Andrew Gardner) 2008-10-01 04:24:46 +00:00
Couriersud
a10dfb942d Removed GAME_IMPERFECT_GRAPHICS from Phraze Craze
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Pit Boss, [Couriersud]
2008-09-30 22:51:36 +00:00
Couriersud
227dccde00 merit.c:
* Hooked up 6845
* Hooked up lscnblk line
* Fixed Phraze Craze gfx rom ordering
* Clocks from schematics
* Ram palette moved to static var. This should not be in RAM.
* Added save state support
2008-09-30 22:45:10 +00:00
davidhay
c44a5d3d1c adds new Csclub set
New Clones
----------

Capcom Sports Club (EURO 971017) [Corrado Tomaselli]

This is newer than any of the other sets, it probably fixes the euro specific crash in the special extended bonus round (at a guess)
2008-09-30 16:54:34 +00:00
Aaron Giles
e3dd5224c0 Converted Z80 SIO to device. Updated drivers accordingly. 2008-09-30 05:29:59 +00:00
Brian Troha
b91c8e11e2 adds include to Z80ctc interface. Fixes compile issue 2008-09-29 22:47:20 +00:00
Brian Troha
fa978eb229 by DITraI4D0
expro02.c
- fixed DIPSW
- added graphics decode routine (probably it can be simpler)

video/kaneko16.c
- tilemap scroll position is different for expro02, so added new
function (is it better to fix current one?)

TODO
- in gfx data banking function (newly added), some strange gfx are shown.
Timing issue?



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Gals Panic (US, EXPRO-02 PCB)
2008-09-29 21:42:19 +00:00
Brian Troha
34a21d3cff New Clone: 20 Year Reunion (V1.04)
New Clones Added
------------------------------
20 Year Reunion (V1.04) [Johan Samuelsson]
2008-09-29 21:30:11 +00:00
Couriersud
8f094e3d0f merit.c: Fix colours
* implemented palette & colour decoding from crt 200 schematics.
2008-09-29 19:58:25 +00:00
Aaron Giles
f4dc7a2f36 Converted Z80 CTC to a proper device. Updated all drivers.
Added new item to the interface which is the tag of a CPU
to take the base clock from. Are there any known cases
where the base clock does NOT come from the CPU directly?

Changed Z80 daisy chain interface to simply be a list of
devices in the chain. Interrupt callback functions are now
fetched via the standard device interface and referenced by
the daisy chain code.

Changed Z80 PIO interrupt callback to pass a device instead
of the machine. All device callbacks should provide the
device.
2008-09-29 17:20:58 +00:00
Aaron Giles
3355357ffc Simplified core deinterlacing logic based on availability of pre-
decoded VBI data. Added plumbing for allowing for overall brightness/
contrast/gamma corrections on laserdisc video. Fixed bug when combining
brightness values in the palette logic.
2008-09-29 09:23:22 +00:00
Aaron Giles
296347baab Plumbed machine parameters through the renderer. Removed need for
deprecat.h.

Changed render_texture_set_bitmap() to accept a palette object 
instead of a palette index. The renderer remains optimized for the 
system palette but will work if objects have their own palette as 
well.

Changed renderer to permit palettes for RGB and YUY textures. If
specified, these palettes specify a 32-entry (RGB15) or 256-entry
(others) lookup for applying additional brightness/contrast/gamma
on a per-texture basis.

Removed rescale notification. It never really worked that well and 
violated proper layering.

Renamed palette_set_brightness() to palette_set_pen_contrast() for 
clarity.

Changed palette objects to support global brightness/contrast/gamma
in addition to per-group and per-entry controls.
2008-09-29 08:02:58 +00:00
Aaron Giles
ef2fa89e44 Compile error fix. 2008-09-29 07:01:55 +00:00
Aaron Giles
ce7edb155d ldverify improvements:
- uses back-end decoding for CHDs directly to bitmaps
 - changed min/max detection to only check 0/255
 - fixed off-by-one bug in min/max computation
 - separated white code detection from frame number detection
 - track cadence with frame numbers as well as white codes
 - use vbiparse.h constants where appropriate
2008-09-29 02:26:20 +00:00
Couriersud
4021930758 Verified watchdog behaviour in schematics. 2008-09-28 18:08:43 +00:00
Andrew Gardner
889a589849 Fixes build with official dev tools. 2008-09-28 16:43:13 +00:00
Wilbert Pol
08e57e7e28 Converted the z80pio implementation into a device. 2008-09-28 15:32:18 +00:00
stephh
e8896b0416 Removed unneeded keys :
- UI_ON_SCREEN_DISPLAY (there is now a "Slider Controls" menu)
  - UI_ADD_CHEAT, UI_DELETE_CHEAT, UI_SAVE_CHEAT, UI_WATCH_VALUE, UI_EDIT_CHEAT, UI_RELOAD_CHEAT (these keys belonged to the old cheat engine)

A clean build is required and cfg/default.cfg has to be deleted !
2008-09-28 14:56:17 +00:00
stephh
490823b1aa Updated warpwarp.c driver :
- fix Mantis bug ID 02323 (this might not be the best way though).
  - reworked 'geebee', 'navarone' and 'warpwarp' INPUT_PORTS definitions by using conditional Dip Switches.
  - added 'geebeeb' INPUT_PORTS definition (this game has specific "Replay" settings).
2008-09-28 14:22:02 +00:00
Couriersud
197085900b 01090: invadpt2, sicv: Watchdog reset. 2008-09-28 12:07:27 +00:00
Couriersud
841649ee4c 02440: abcop, gprider1, rachero: abcop just shows a black flickering screen, rachero gives an error and crashes on exit 2008-09-28 11:03:24 +00:00
R. Belmont
a51c28697d Minor NSS/SNES cleanups [Fabio Priuli] 2008-09-28 01:13:07 +00:00
Aaron Giles
6c05b835a2 02442: -aviwrite produces faulty files 2008-09-27 22:48:52 +00:00
Aaron Giles
2a3301d0b9 Removed render_container_set_palette_alpha() hack. Now the alpha value
can be set directly in the palette entry and will be respected for
laserdisc overlays.
2008-09-27 22:05:30 +00:00
Couriersud
3959354577 02441: rdft22kc: rdft22kc just shows a black screen and fails to boot 2008-09-27 20:51:36 +00:00
Couriersud
e2e042dc14 02194: All Sets in othunder.c: Black screen, game does not start 2008-09-27 20:37:39 +00:00
Aaron Giles
9766dc2367 Changed MAKE_RGB macro to set the alpha to 255 instead of 0. Updated
palette.c to preserve the alpha when transforming palette values.
These changes should be transparent to almost all drivers and rendering
(ha-ha), but there may be an occasional instance where a driver relied
on the alpha being 0 in the system palette. This also means that the
palette_set_color() function preserves any alpha value that is set.

Changed Firefox to RGB32 to allow for mid-screen palette changes. Because
of the above change, the hacky alpha manipulation that was previously
required is no longer necessary; the alpha is set directly in the palette
entry.
2008-09-27 20:36:04 +00:00
Aaron Giles
c391ab646f 02410: -aviwrite: files over 2 gigs sometimes get cut off 2008-09-27 20:04:01 +00:00
Nicola Salmoria
9ff6c5bb96 added pen_mask tile attribute to the tilemap system.
implemented dynamic tile & sprite bit depth in the Taito F3 driver.
02024: pbobble3, pbobble4, ringrage and clones: Color Regression
2008-09-27 17:30:17 +00:00
davidhay
448984121f remove obsolete function in neocrypt.c 2008-09-26 21:12:43 +00:00
davidhay
c423c47d14 NeoGeo Update from Johnboy
(Guru, can you check that ms5pcb you have, the roms in MAME are now marked as NO DUMP)

Updated Neo-Geo game pcb infos
2020bba: Marked MVS and AES version
sonicwi2: Added correct sized v2
kof95 / kof95a:
	. Renamed kof95 to kof95h
	. Renamed p1 to correct chip label
	. Added note
	. Renamed kof95a to kof95
	. Renamed p1
samsho3 / samsho3a:
	. Renamed samsho3a to samsho3
	. Renamed samsho3 to samsho3h
	. Renamed p1 to correct chip label
	. Marked AES version
kof98 / kof98n:
	. Renamed m1 in kof98 to correct chip label
	. Renamed m1 in kof98n to correct chip label
	  (kof98n should be latest revision, cart had very high SN 1xx.xxx)
kof97: Marked MVS version
samsho5 / samsho5h:
	. Correct text layer size
	. Marked samsho5h AES version
neogeo:
	. Updated system set to what is found on NEO-MVH MV1FS
	. Added note
ms5pcb:
	. Hooked up bios dip
	. Renamed bios to correct chip label
	. Renamed p1 / p2 to correct chip label, marked NO_DUMP
	. Added note
2008-09-26 20:41:47 +00:00
davidhay
ef10dec73f para2dx rom should be good now. 2008-09-26 20:24:12 +00:00
Aaron Giles
229d598989 Cleanups and version bump. 2008-09-26 13:42:51 +00:00