Commit Graph

4147 Commits

Author SHA1 Message Date
Aaron Giles
1b7793d0fb Fixed previous change to always clear the alpha bitmap. 2009-01-15 08:19:12 +00:00
Aaron Giles
db8a1fc748 New games added or promoted from GAME_NOT_WORKING status
--------------------------------------------------------------------------------------------------

Trivia Hangup [Mariusz Wojcieszek]
Sure Shot [Mariusz Wojcieszek]

Mariusz.
2009-01-15 07:57:19 +00:00
Aaron Giles
94d1eb4440 New clones: Salamander 2 (ver AAB) [Corrado Tomaselli] 2009-01-15 07:55:13 +00:00
Aaron Giles
3579be8955 From: abcd efgh [cix_999@yahoo.it]
Sent: Tuesday, January 13, 2009 2:20 PM
To: submit@mamedev.org
Subject: megasys1 Big input Clean
Hi Folk

I returned wit a tough work (for me!), i've maed a big input clean up 
in the drive (they were a lot messy), now all looks more tidy ;-)

- Delete input port definition in "includes/megasys1.h"
- Added generic input in megasys1.c
- General input clean

Bye Sonikos
2009-01-15 07:49:10 +00:00
Andrew Gardner
6ea9ca0589 Virtual Combat driver improvements. [Jason Eckhardt, Andrew Gardner]
* Graphics decoded, video improved, inputs mapped.

Intel i860 CPU core added. [Jason Eckhardt]


(The CPU core doesn't have accurate cycle counts for each opcode yet, but it'll have them soon.  I believe that is the main culprit behind the sync of the two i860s and the 68k being outta' whack.  You can still see the i860s do their thing and rasterize a voxel? groundplane and some simple polygon bad guys).
2009-01-15 04:40:57 +00:00
Phil Bennett
f4392d4c6f New clones added
-----------------
Hit the Ice (Japan) [Phil Bennett]

Added IC locations and PAL dumps to hitice. Flagged both sets with GAME_IMPERFECT_GRAPHICS as the bitmap layer implementation is incorrect.
2009-01-14 23:14:19 +00:00
Phil Bennett
2d62f3a07e Updated OKIM6295 volume table to reflect actual chip behaviour. 2009-01-14 23:09:31 +00:00
Angelo Salese
91ca9dd29e Pre-Seibu CRTC update: [Angelo Salese]
* Fixed gfx banking in goodejan/totmejan;
* Fixed vertical scrolling in Sengoku Mahjong (check title screen);
* Made some clean-ups in either drivers;

==================================================

The (likely) custom Seibu CRTC is used at least in the following games:
Raiden (probably the first game to use it)
Sengoku Mahjong
Good e Jong
Tottemo de Jong
Blood Bros.
Sky Smasher
D-Con
SD Gundam Psycho Salamander no Kyoui
(all games in legionna.c)
(all games in raiden2.c)

All of these games have 4 layers with 2048 (0x800) bytes of ram each,a palette ram with xRRRRRGGGGGBBBBB format and (at least) 72 (0x48) video registers.
The idea here is to merge everything in a single file and to understand the issues with some of them,namely the "bitmap_fill" color (goodejan/totmejan 
needs a black pen on the service mode and a white-to-black fade out effect at start-up?),some kludges with the tilemaps/sprites positioning (in both 
sd gundams,sdgndmsp and sdgndmrb for example) plus obviously anything that isn't yet understood from these regs.
2009-01-14 21:51:44 +00:00
Roberto Fresca
cb153df898 Added Spiele Bude to slotcarn.c driver. The game is working properly with full inputs/DSWs and sound. However is tagged as not working due to incomplete video emulation (reels support for the slots stage). [David Haywood, Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Spiel Bude (German) [David Haywood, Roberto Fresca]
2009-01-14 18:08:16 +00:00
Roberto Fresca
fc3dcf4ee0 Switched the goldstar.c driver to use pre-defined clocks (CPU, PSG, AY and OKI) for all machine drivers.
Changed all z80's CPU frequency to 3 MHz (Xtal/4).
2009-01-14 17:10:07 +00:00
Aaron Giles
9b47e0401f 00976: vaportrx: Crashes during the results section immediately after the race. 2009-01-14 16:23:52 +00:00
Roberto Fresca
0b2d425601 - Fixed the 3rd graphics bank decode of cmast91. [David Haywood]
- Confirmed the kkojnoli dump as a good dump. Added proper bipolar PROMs. [Roberto Fresca]
2009-01-14 16:12:12 +00:00
Aaron Giles
06ba51335c 02823: astorm, shdancer and clones: Error Messages 2009-01-14 15:58:17 +00:00
Aaron Giles
a5594a0a5c 02824: deadlock when using -state with -mngwrite/-aviwrite 2009-01-14 15:35:54 +00:00
Aaron Giles
d29f820164 Fix inverted function name. 2009-01-14 14:13:19 +00:00
Aaron Giles
2a780fc07d From: Oliver Stoeneberg [mailto:oliverst@online.de]
Sent: Sunday, January 11, 2009 5:52 AM
To: submit@mamedev.org
Subject: unreachable code cleanup

This patch cleans up the usage of unreachable code (mostly 
unnecessary breaks after returns in switch - case). A few case of 
really unused code were also discovered. I marked thos with FIXME 
comments.
I based this cleanup on teh output of cppcheck. It does still missing 
a few cases of unreachable code, so there might be future patches to 
address more cases.
2009-01-14 06:10:30 +00:00
Aaron Giles
62bddb4fe6 Added digitalker support to scorpion driver. [Olivier Galibert] 2009-01-14 06:07:26 +00:00
Aaron Giles
45ba56b76f This hooks-up the preliminary decryption code for Tarzan, I'd guess that
isn't complete?

-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk] 
Inviato: venerdi 9 gennaio 2009 9.42
A: Angelo Salese
Oggetto: tarzan

I don't think the decryption is complete.. the graphics are also 
encrypted.. so don't decode properly.

i guess sar might need to take a 2nd look at it.
2009-01-14 06:02:23 +00:00
Aaron Giles
81fce8af37 From: Duke [mailto:startaq@gmail.com]
Sent: Friday, January 09, 2009 4:14 AM
To: submit@mamedev.org
Subject: Patch to remove useless INLINE defines

Hello,

this patch removes several occurrences of "#define INLINE" in CPU and
sound cores, which I assume are useless since the makefile already
defines this.

--Dirk
2009-01-14 06:00:48 +00:00
Aaron Giles
40d9394d3d From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Tuesday, January 06, 2009 7:39 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Remove sndindex from SND_START

Hi mamedev,

This is a baby step towards making the sound cores proper devices.  It
removes the sndindex parameter from SND_START.  Cores should use the
device pointer or tag as appropriate.  I also removed a few
address_space hacks taking advantage of the existing fake sound
device.

~aa
2009-01-14 05:59:32 +00:00
Aaron Giles
491cb6ed76 New non-working games: Unknown ACE Fruits Game [David Haywood] 2009-01-14 05:46:33 +00:00
Aaron Giles
9df0e956f7 Forgot a file. 2009-01-14 05:44:14 +00:00
Aaron Giles
0708ba2cd6 NON-WORKING GAMES
-----------------
3 Super 8 (Italy) [David Haywood]
New Champion Skill (v100n) [David Haywood]
Buster [David Haywood]
2009-01-14 05:43:57 +00:00
Aaron Giles
958bdddf5a Initially, this was to address adding the DIPs for the game, Naratte Chu.
After adding these, I also added DIP LOCATIONS for all sets in the driver.
There was an issue where a manual setting was different than what MAME
expected (Demo_Sound in the manual listed OFF, but MAME likes them ON).
Kale helped me a bit with some pointers about PORT_BIT reassignment which
helped clear up the duplicate Service Mode assignments.  I'm sure I made
errors, but it's a start :)

This .DIFF is based on 0.128u7 sources and resolves MAMETesters Bug #02787.

Tafoid
tafoid@yahoo.com
2009-01-14 05:33:40 +00:00
Aaron Giles
200b0a0159 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Saturday, January 03, 2009 10:20 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] static/const/include fixes

Hi mamedev,

Here's my aperiodic code cleanup patch for MAME, adding static/const
and adjusting header files.  In a few places I went a bit further.

1.  arm7core.[ch],segas24.[ch]: Rewrote some abuses of the HANDLER
macros to use _func types instead.
2.  m37710: Removed some long dead state save functions.
3.  spc700: Removed the interface declarations and functions.  Most of
it is handled by CPU_GET_INFO, some of it was no longer implemented,
and since pointerization it wasn't possible to call it externally
anyhow.
4. segac2: I removed the palette variables aliasing the megadrive ones
and just used the megadrive ones directly.
5. snes: All the obc1_, DSP1_, DSP2_ exports were made static.  I'd
avoided doing this previously for fear it might break MESS, but after
auditing I'm fairly certain this shouldn't cause problems.

~aa
2009-01-14 05:32:21 +00:00
Aaron Giles
406980156d Removed extraneous bitmap clear. [Christophe Jaillet] 2009-01-14 05:27:50 +00:00
Aaron Giles
f449ec6100 Added new function gfx_element_build_temporary() to safely build a temporary
gfx_element. Updated the drivers that did this to use the new function, fixing
random crashes.

Fixed a couple of other minor regressions with recent drawgfx changes.
2009-01-14 05:16:23 +00:00
Aaron Giles
a9f31c6003 Oops, missed smleague. 2009-01-14 03:30:59 +00:00
Aaron Giles
34c8b1f518 Added ROM_DEFAULT_BIOS to diehard and critcrsh. 2009-01-14 03:27:41 +00:00
Ryan Holtz
d53fb3d8e6 Fixed duplicate savestate registration in certain 8080bw.c drivers (don't put in whatsnew) 2009-01-14 00:16:22 +00:00
Roberto Fresca
2fbc0ae577 Improvements to skylncr.c driver.
- Hooked all the PPI 8255 devices.
- Reworked the inputs based on them.
- Fixed the reels visible area.
- Reorganized and cleaned-up the driver.

(only remains to split in driver + video)
2009-01-13 18:45:27 +00:00
Aaron Giles
1b48649379 Fixed bug with Atari Ace's recent change that caused sound indexes to be incorrectly
computed.
2009-01-13 16:26:43 +00:00
Aaron Giles
0b6ec32822 Made direct (opcode) access more robust. Direct access now crawls the
memory table to find its ranges, and caches them for fast access in
the future. It invalidates intersecting regions when new ones are
installed, and now properly handles mirrored ranges.

Also changed the disassembly view to call the decrypted read routines
for each opcode byte/word instead of fetching from a pointer, which
prevented opcodes that crossed range boundaries from working correctly,
even though they would execute correctly.
2009-01-13 15:32:36 +00:00
Aaron Giles
03af882d87 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Monday, December 22, 2008 3:00 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make SOUND_xxx pointers to SND_GET_INFO functions

Hi mamedev,

This patch probably should wait till after 0.129 goes out, but may be
of interest regardless.  It makes the treatment of SOUND_xxx the same
as that of CPU_xxx.  That is, they are function pointers to the
SND_GET_INFO routine for the sound.

The first patch just adds some missing include files and modifies a
few cases where a sound_type was used as an integer.  This could go in
now.  The second patch then adds the needed #defines to all the sound
headers (it assumes the previous patch I sent to add the SND_GET_INFO
declarations was applied), and modifies the sound code accordingly. It
also moves the sound clock to the device object.  Note that the dummy
sound core is removed entirely.  I cheated a bit and made VERIFY_SNDTI
also declare and fill in the sndnum, making this an INLINE function
would probably be more appropriate, but all of this code's days are
numbered.

There may be some performance loss in drivers that expect sndti_xxx
routines to be fast, since sound_matrix has been removed.  The
performance however should be similar to looking up items in a
devicelist, so those drivers will have to adjust eventually.

~aa
2009-01-13 03:08:03 +00:00
Phil Bennett
396439b2b4 02820: sf2ue: Scrambled graphics in Street Fighter II set: sf2ue 2009-01-12 20:06:47 +00:00
Phil Bennett
7ffb225922 Fixed MSM6376 distorted playback.
Added sample ROM to newmcard.
2009-01-12 17:10:29 +00:00
Curt Coder
bd0d0269ff CDP1802 cpu core:
- improved register layout
- randomized register contents on initialization
2009-01-12 14:26:56 +00:00
Curt Coder
de81d24aab COP400 cpu core refactoring:
- added state table for the debugger
- grouped all cpu types under a single makefile entry
- removed duplicate code
2009-01-12 13:18:32 +00:00
Aaron Giles
ac0abd1706 Major drawgfx cleanup, global removal, and feature enhancements:
- Added built-in dirty tile tracking to the gfx_element. This removes
    the need for all drivers that had dynamically populated graphics
    to do their own dirty tracking. Tiles are marked dirty via the
    new function gfx_element_mark_dirty(). Any driver that needs access
    to the decoded data must call gfx_element_get_data() in order to
    ensure that the referenced tile is clean before proceeding.
    
 - In order to support dirty tracking, the gfx_element was enhanced to
    keep track of the original source pointer, so that it can go back
    and regenerate tiles on demand. For systems that set NULL for the
    region in the gfxdecode, they must use gfx_element_set_source()
    to specify a pointer to the raw data before drawing anything.
 
 - Changed allocgfx() to gfx_element_alloc(), and added parameters to
    specify the source data pointer, base color index, and total colors.
    Many drivers had to whack these values in after the fact, so this
    allowed for some minor additional cleanup.
 
 - Added a dirtyseq member to the gfx_element struct. This is 
    incremented on each tile dirty, and can be used to sniff if 
    something has changed.
 
 - Added logic in the tilemap engine to track which gfx_elements are
    used for a given tilemap, and automatically detect changes to the
    tiles so that drivers no longer have to explicitly invalidate the
    tilemap when tiles change. In the future, this may grow smarter to
    only invalidate the affected tiles, but for now it invalidates the
    entire tilemap.
 
 - Updated a number of drivers to remove their own dirty handling and
    leverage the new internal dirty marking.

 - Because the source data must always be present, updated the atarigen
    zwackery and mystwarr graphics handing code to support this.

 - Thanks to the dirty tracking, this actually allows all gfx decoding
    to happen on the fly instead of all at once up front. Since there 
    was some concern that this would cause undesirable behavior due to 
    decoding lots of tiles on the fly, it is controlled with a compile-
    time constant in mame.h (PREDECODE_GFX). Set this to 1 to get the
    old behavior back.
    
 - Moved decodechar() and decodegfx() to deprecat.h. All drivers in MAME
    have been updated to simply mark tiles dirty and let the rendering
    system decode them as needed, so these functions may go away in the
    future.

 - Rewrote entirely the rendering code in drawgfx. This code previously
    used extensive recursive #includes and tricks to build, and was
    very difficult to understand. The new code is based off of a set of 
    macros defined in drawgfxm.h. These new macros separate the core 
    rendering logic from the per-pixel operation, allowing the operation 
    to be easily "plugged" into any of the renderers. These macros are
    also available to any driver that wants custom rendering behavior
    that is similar to existing core behavior, without needing to
    populate the core with esoteric one-off rendering behaviors.
 
 - Added a set of new functions for [p]drawgfx[zoom], one for each
    transparency type. The old [p]drawgfx[zoom] functions are still
    present, but now switch off the transparency type and call through
    to one of these new transparency-specific functions. The old
    functions are also now reduced to only supporting TRANSPARENCY_NONE,
    TRANSPARENCY_PEN, and TRANSPARENCY_PENS. All other rendering types
    must use the new functions.
 
 - All new rendering functions have extensive asserts to catch improper
    clipping rectangles and other common errors.
    
 - All new rendering functions automatically downgrade to optimized
    versions where appropriate. For example, calling drawgfx_transpen
    with an out-of-range pen automatically falls back to drawgfx_opaque.
    And drawgfxzoom_* with xscale=yscale=1.0 automatically falls back
    to drawgfx_*. And many other examples. In general, this relieves 
    drivers from needing to make these sorts of decisions.
 
 - All new rendering functions have a consistent parameter order that
    is a bit different from the existing functions. The cliprect
    parameter is now specified immediately after the destination bitmap,
    to match the convention used throughout the rest of the system.
    The core parameters are followed by the scale parameters (for the
    zoom functions), and then followed by the priority parameters (for
    the pdrawgfx* functions), finally followed by any PIXEL_OP*-specific
    parameters (such as transparent pen, alpha, drawing tables, etc.)
  
 - Removed drawgfx_alpha_cache, alpha_set_level(), and the inline 
    functions alpha_blend16() and alpha_blend32(). To render graphics 
    with alpha, use the new [p]drawgfx[zoom]_alpha functions, which 
    take an explicit alpha value. To render tilemaps with alpha, the 
    TILEMAP_DRAW_ALPHA option now takes an explicit alpha parameter. 
    And to do you own alpha blending, use the alpha_blend_r16() and
    alpha_blend_r32() functions, which take an explicit alpha.
  
 - Updated a number of drivers as a result of removing the implicit
    alpha in the drawgfx_alpha_cache. 

 - Removed drawgfx_pen_table and TRANSPARENCY_PEN_TABLE. To achieve 
    the same effect, build your own table and pass it to 
    [p]drawgfx[zoom]_transtable, along with a pointer to the 
    machine->shadow_table to use for shadows. Eventually 
    machine->shadow_table is likely to go away, and drivers will need 
    to fetch the shadow table from the palette directly.
    
 - Updated a number of drivers to remove use of drawgfx_pen_table.
 
 - Removed TRANSPARENCY_ALPHARANGE; it was only used by the psikyosh
    driver, so it is now moved locally into that driver and built
    using the macros in drawgfxm.h.
 
 - Removed TRANSPARENCY_PEN_RAW; to achieve the same effect, call the
    new [p]drawgfx[zoom]_transpen_raw() functions. Updated drivers to
    make this change.
 
 - Removed the unused mdrawgfx* functions entirely.
 
 - Added new function gfx_element_set_source_clip() to specify a
    source clipping rectangle for any element. This replaces the nasty 
    hacks that were being used in bnstars, ms32, namcos86, and namcos1
    to achieve similar behaviors.
    
 - Simplified the copyrozbitmap() functions to match the copybitmap()
    functions in having separate opaque and transparent versions. Also
    removed the 'priority' parameter which was only used by one driver,
    and moved that logic into a custom renderer built using macros in
    drawgfxm.h. Updated copyrozbitmap* to use the destbitmap, cliprect
    parameter ordering convention as well.
 
 - Simplified the draw_scanline*() functions to always render opaque.
    Only one driver was doing otherwise, and it now does its work
    internally (draw_scanline is dead-simple ever since we moved 
    rotation to the OSD code; I almost just removed it entirely).
 
Other changes:

 - Added a cliprect to the bitmap_t type, which describes the full 
    bitmap.
    
 - Removed tilemap_set_pen_data_offset; unfortunately, this adds a
    random tile offset behind the scenes and goes against the dirty
    tile detection and invalidation. Updated the mainsnk, snk, and 
    snk68 drivers to use old fashioned tile banking. (Sorry Nicola.)
 
 - Changed zac2650 gfxdecode to use scale factors.

 - Added function video_assert_out_of_range_pixels() to help find
    the source of invalid pixels (generally out-of-range palette
    entries due to invalid data or sloppy calculations). Place this
    after each step in your rendering in a debug build to discover
    which code is generating improper pixels.
2009-01-12 11:05:15 +00:00
Mirko Buffoni
fa224bfe85 Added V30-based High Video gambling games [Mirko Buffoni]
* Added VCF board based games (Tour4000, Casino Fever 4.0, Casino Fever 5.0)
* Added NCF board based games (Tour4010, Casino Fever 5.1, Casino Fever 6.1)
* Added TCF board based games (Casino Fever 1k, Girotutto)
2009-01-12 09:42:36 +00:00
Mirko Buffoni
25abe62db4 Added OKIM6376 emulation ADPCM Speech Synthesizer [Mirko Buffoni]
* At the moment only the ADPCM part is implemented, while it's missing the BEEP
  generator and the 2nd channel handling, used mainly for echoing or continuous
  speech.

Added OKIM6376 sound emulation to High Video games [Mirko Buffoni]
* Removed GAME_NO_SOUND from newmcard, brasil and fashion
* Sound frequency may be incorrect
* Although the manual says OKIM6376 is straight ADPCM, generated sound is
  distorted (over-clamped?)
2009-01-12 09:25:00 +00:00
Roberto Fresca
19818f1f5e Improvements to coinmastr.c driver. [David Haywood, Roberto Fresca]
- Added maximum intensity to the color decode.
- Switched pokeroul to use global memory map and eliminated the redundant one.
- Eliminated the GAME_WRONG_COLORS flag to all games.
- Some clean-ups.
2009-01-11 23:32:24 +00:00
Phil Bennett
b9d2549841 02805: turbosub, turbosba: Dropped lines in video output rendering
Added save state support.
2009-01-11 19:27:13 +00:00
Angelo Salese
6d35328663 Various improvements to the Jackpool driver [Angelo Salese]
* Added a second screen for some extra gfxs that are displayed on it;
* Fixed colors;
* Preliminary implementation of the transparency pens for the graphics,might not be correct;
* Added inputs;
* Cleaned-up the driver;
Game seems to work fine,but can't accept coins,might be related to the eeprom.
2009-01-11 18:11:29 +00:00
Luca Elia
c0109e2b51 Improved the rom loading in tenkai and clones.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mahjong Tenkaigen (3 sets) [Wei Mingzhi, Luca Elia]
2009-01-11 15:07:47 +00:00
Ryan Holtz
da2869ed48 - Added savestate support to the games in amspdwy.c, angelkds.c, appoooh.c, aquarium.c, arabian.c, and arcadecl.c: [MooglyGuy]
amspdwy, amspdwya, angelkds, spcpostn, appoooh, robowres, robowrb, aquarium, arabian, arabiana, arcadecl, sparkz
2009-01-11 09:45:21 +00:00
Roberto Fresca
bdd6b41031 More improvements to goldstar.c driver:
From David Haywood:
- Decoded the extra bitmap for Cherry Master I and V4 sets. Still need to figure out how is called.

From Roberto Fresca:
- Added notes about the Tetris/Cmaster game.
- fixed some default DIP switches.
- Splitted the cmaster gfxdecode to cover different sets.
- Created a new machine driver for sets without the extra bitmap.
- Renamed the old sets cm2v841 and cm2841a to cmasterb and cmasterc respectively, since they are in fact different sets of Cherry Master I (ver.1.01).
- Promoted cmasterb & cmasterc to working state. The last one was flagged as GAME_IMPERFECT_GRAPHICS, since reels graphics have a different decode, or simply are bad dumps.
- Reparented some sets.
- Added Magical Tonic.
- More fixes/cleanups.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cherry Master I (ver.1.01, set 2) [Roberto Fresca]
Cherry Master I (ver.1.01, set 3) [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Magical Tonic [Roberto Fresca]
2009-01-11 09:43:05 +00:00
Roberto Fresca
edeeec5da3 Improvements to goldstar.c driver:
- Added full inputs / DIP switches to the Cherry Master II sets.
- Started a tedious clean-up to all driver inputs.
- Added a new set based on Cherry Master V4. The game is supposed to boot as a Tetris game (there are Tetris graphics inside), and can be turned into Cherry Master (probably designed for countries where gambling games are/were illegal). The game is booting into Cherry Master and is working properly. Still flagged as GAME_NOT_WORKING till can figure out how to switch games.
- Some other minor corrections.


New games marked as GAME_NOT_WORKING
------------------------------------
Cherry Master (ver.4, set 2) [Roberto Fresca, Angelo Salese]
2009-01-11 08:17:31 +00:00
R. Belmont
1b4e540fbd Fix clock used in Namco systems 12 & 23. 2009-01-11 05:36:04 +00:00
Nathan Woods
4df40b369c 1. Introduced a parallel 6821 PIA implementation, as a MAME device (6821new.c)
2.  Ported the Williams drivers over to use this new PIA implementation
2009-01-11 01:16:21 +00:00