Commit Graph

321 Commits

Author SHA1 Message Date
Angelo Salese
af11f60eda New games marked as GAME_NOT_WORKING
------------------------------------
King Derby? [Stefan Lindberg, Andrew Gardner, Angelo Salese, Roberto Fresca]

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

aka the original "Cow Race", made by Tazmi in 1981 -> http://mamedev.emulab.it/kale/fast/files/0000(183371730).png
HW is pretty much hellish...
2009-02-19 00:46:52 +00:00
davidhay
bd741103e9 Multifish for reconsideration as the HW is the same era as 'Fever Soccer' which was added in u4.
Some of these sets might not be available, they're based off operator manuals, so should be accurate.  The sets which are not available will be disabled once it's been firmly established exactly which ones they are I'm not 100% sure.

No credit wanted / anonymous submission
2009-02-18 23:10:21 +00:00
Aaron Giles
cd9086819a Undo premature PinMAME stuff. 2009-02-16 08:39:22 +00:00
Curt Coder
6fc10ff553 Cidelsa changes:
- Combined CDP1869 video and sound parts to one device
- Refactored CDP1852 to use devcb
2009-02-16 07:45:00 +00:00
Angelo Salese
9249b10aa9 Merged brasil.c and highvdeo.c drivers [Angelo Salese] 2009-02-14 23:28:18 +00:00
Aaron Giles
5cb6bf00e9 Ok, this is The Big One.
Please note: regression testing is in progress, but the first round 
of glaring regressions have already been taken care of. That said, 
there is likely to be a host of regressions as a result of this 
change.

Also note: There are still a few rough edges in the interfaces. I
will try to clean them up systematically once the basic system is
working.

All sound chips are now proper devices.

Merged the sound chip interface into the device interface,
removing any differences (such as the whole ALIASing concept).

Modified every sound chip in the following ways:
 * updated to match the device interface
 * reduced read/write handlers down to the minimal number
 * added the use of get_safe_token() for ensuring correctness
 * other minor cleanup

Removed the custom sound device. The additional work to just make
custom sound cases into full devices is minimal, so I just converted
them all over to be actual devices.

Vastly simplified the sound interfaces, removing the ghastly
sndti_* business and moving everyone over to using tags for
sound identity. sndintrf, like cpuintrf, is now just a header
file with no implementation.

Modified each and every driver that references a sound chip:
 * all memory maps explicitly reference the targeted device via
    AM_DEVREAD/AM_DEVWRITE/AM_DEVREADWRITE
 * 16-bit and 32-bit accesses to 8-bit chips no longer use
    trampoline functions but instead use the 8-bit AM_DEVREAD/WRITE
    macros
 * all references to sound chips are now done via tags
 * note that these changes are brute force, not optimal; in many
    cases drivers should grab pointers to devices in MACHINE_START
    and stash them away
2009-02-11 19:48:39 +00:00
mariuszw1
cea86cdab1 Driver for TomCat
New games added or promoted from NOT_WORKING status
---------------------------------------------------
TomCat (prototype) [Mariusz Wojcieszek]

There are still some small issues (complete list in driver), if somebody with more experience with Atari and/or vector hardware wants to take a look, feel free.
2009-02-10 22:19:15 +00:00
Angelo Salese
29064cb779 Wrote a driver for Fever Soccer, not working due of incomplete gfx decyption (uses RISE11 algorythm as SPI HW).
New games marked as GAME_NOT_WORKING
------------------------------------
Fever Soccer [Angelo Salese]
2009-02-08 16:44:44 +00:00
davidhay
845e4900b3 TMS57002 preliminary implementation [Olivier Galibert] 2009-02-06 22:50:40 +00:00
davidhay
21fd26ebd3 PinMAME ---
Merging back in the PinMAME drivers is proposed every now and again, and since we've just added other non-video based things I figured that now might be a good time to look at it.

This is likely to be a HUGE undertaking as PinMAME is based on old code, and is Macro-hell, I see it as a several step plan.

1) Convert all the PinMAME drivers to compile their ROM Loading with current versions of MAME
2) Clean up the ROM loading, removing the excessive Macros which really don't help readability at all IMO
3) Hook up the Machine Drivers again for each system, so that the CPU core runs again
4) Look at ways in which the artwork system can be used to simulate the display parts etc.  (there is a scary amount of code in PinMAME for handling this stuff)
5) See how feasible it is to allow MAME to communicate with another program, as it's unlikely we'll be able to simulate the full table physics in MAME.

I've updated the System11 rom loading to compile for now.  The old PinMAME code which hasn't been updated is there #if 0'd out for reference for when a stab is made at hooking back up the actual CPUs to run etc.

Part of me wonders if just rewriting it from scratch would be easier, but it would be a shame to throw away the information that was figured out in PinMAME.

This was done by request, so I'm not especially bothered if it doesn't get included, PinMAME is rather hideous ;-)

If anybody wants to help they're more than welcome.  The other Williams systems should be easy to hook up the rom loading for because they share most of the Macros that have already been updated to compile.
2009-02-06 22:09:40 +00:00
Angelo Salese
6f1af08290 Merged Strip Teaser and Il Pagliaccio driver, fixed the layer clearance for both and added a preliminary MCU simulation for the former. [Angelo Salese] 2009-02-03 18:08:47 +00:00
davidhay
ed3bf17889 getting the AGEMAME ball rolling.
Moved over some of the drivers (thanks to James Wallace / ageMAME)
2009-02-02 22:52:37 +00:00
davidhay
6bd40937d5 nuke fruit.c, obsolete 2009-02-02 00:14:23 +00:00
Angelo Salese
9e9a5ad24b Wrote a skeleton driver for Pachi Fever, not working due of encrypted/incomplete program rom.
New games marked as GAME_NOT_WORKING
------------------------------------
Pachi Fever
2009-02-01 23:47:44 +00:00
Phil Bennett
e4aeab1a20 New games added or promoted from NOT_WORKING status
---------------------------------------------------
Monopoly [Phil Bennett]
Monopoly Classic [Phil Bennett]
Monopoly Deluxe [Phil Bennett]


6850acia: Only adjust the rx/tx bit timers on a control write if the divide ratios have changed.
2009-01-31 20:00:30 +00:00
Mirko Buffoni
1ae43ea1d7 Fixed encryption in Cabaret and added sound emulation (Mirko Buffoni)
- Moved to a separate driver
- Not fully playable, press reset to exit from pitfalls

Added new game Super Poker (Mirko Buffoni)
2009-01-28 10:32:54 +00:00
Roberto Fresca
ed11fa3318 Improvements to norautp.c driver:
- Merged GTI Poker (gtipoker.c) with this driver.
 - Added new memory map and machine driver for gtipoker.
 - Hooked 2x PPI 8255 to gtipoker.
 - Hooked the video RAM access ports to gtipoker.
 - Changed norautpn description from Noraut Poker (No Payout),
   to Noraut Poker (bootleg), since the game has payout system.
 - Some clean-ups.
2009-01-28 06:08:22 +00:00
Angelo Salese
34a275e72f Wrote a driver for Noraut Poker,working without sound (discrete) [Roberto Fresca,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Noraut Poker [Roberto Fresca,Angelo Salese]
2009-01-27 15:15:46 +00:00
Aaron Giles
2fd8c5122b Added new module devcb, which can generically handle conversions between device
read/write functions and various other types of functions. Introduced new
structures and macros to make this possible. 

To take advantage of this, a device must change its interface to replace and 
read/write callbacks with the new devcb_read/write structures. During device 
start time, the device then uses this new devcb module to resolve the information 
in the devcb_read/write structures into a more efficient form. When the device 
needs to call one of the callbacks, it uses the inline devcb_call_read/write 
functions.

Once a device has defined its callbacks as devcb_read/write structures, users
of the device must use the DEVCB_* macros to specify the type and information
about the handler to use:

   DEVCB_NULL = no handler
   DEVCB_HANDLER = a standard device read/write handler
   DEVCB_MEMORY_HANDLER = a memory address space read/write handler
   DEVCB_DEVICE_HANDLER = a device read/write handler for a different device
   DEVCB_INPUT_PORT = an input port

Converted the 8255PPI device to use this new structure, and updated all users
to use the DEVCB macros, removing some unnecessary trampoline functions along
the way.
2009-01-26 16:25:48 +00:00
R. Belmont
adf3ac320d Adding first-cut shared Archimedes code and hooked it up to MK5. 2009-01-26 03:18:44 +00:00
davidhay
46fa64f1f8 added skeleton driver for aristocrat mk5
this is apparently somewhat based on the acorn archimedies home computer system
2009-01-25 18:24:51 +00:00
Angelo Salese
581006125c Wrote a driver for Big 10,working with sound [Angelo Salese,Roberto Fresca,Tomasz Slanina]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Big 10 [Angelo Salese,Roberto Fresca,Tomasz Slanina]
2009-01-22 17:23:19 +00:00
Aaron Giles
6c61906589 From: naibo zhang [naibo_zhang@hotmail.com]
Sent: Thursday, January 15, 2009 12:16 PM
To: submit@mamedev.org
Subject: stepstag.c
-added custom 3-screen layout;
-added recently dumpped game "Stepping 3 Surperior"(incomplete ROM/CHD set);

The game name of "stepstag" romset is actually "Stepping Stage Special", not the original "Stepping Stage".
2009-01-22 10:07:50 +00:00
Tomasz Slanina
f05b6469ce Super Othello driver
/current/s/sothello.zip

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Othello [Tomasz Slanina]
2009-01-21 20:02:13 +00:00
Mirko Buffoni
517c33a847 Major cleanup to IGS poker games (Mirko Buffoni)
- Renamed csk driver to igspoker.  This includes Champion Poker, Champion Skill,
  New Champion Skill
- Converted drivers to tilemap system and unified video section
- Unified memory maps and checked all input ports
- Removed obsolete palette handlers and made use of generic handlers
- Added layout for lamps handling
- Added hopper simulation
- Added New Champion Skill (different set, maybe original international release)
  and renamed current igs_ncs to igs_ncs2 (2000 version for italian market)
- Promoted igs_ncs2 to working state, but set GAME_IMPERFECT_GRAPHICS (missing
  initial notice screen)
- Moved Jackie to a separate driver (it's a slot machine game)
- Made some progress on Jackie which now boots (toggle mode to play, but work
  still needs to be done)
2009-01-20 16:59:52 +00:00
Phil Bennett
e03f020244 New games added or promoted from NOT_WORKING status
---------------------------------------------------
Himeshikibu (Japan) [Uki]
2009-01-20 16:50:25 +00:00
Angelo Salese
65efabec37 Seibu CRTC part 1: [Angelo Salese]
* Merged Sengoku Mahjong & Good e Jong video HWs
* Added correct scrolling functions for Sengoku Mahjong
* Removed some positioning kludges in both drivers

Fixed Sengoku Mahjong hopper error after first winning match [Angelo Salese]

Removed deprecat dependancy from Good e Jong,one irq wasn't needed at all (points to a reti) [Angelo Salese]
2009-01-17 14:07:56 +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
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
Aaron Giles
62bddb4fe6 Added digitalker support to scorpion driver. [Olivier Galibert] 2009-01-14 06:07:26 +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
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
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
Angelo Salese
41b8808bcb Renamed filetto.c to pcxt.c and made several improvements to the driver [Angelo Salese]
* Merged tetriunk.c and filetto.c,and renamed tetriunk set to tetriskr;
* Fixed inputs & gameplay quirks in tetriskr,so it's now playable;
* Added preliminary external graphics emulation hook-up for the backgrounds in tetriskr;
* Rearranged & cleaned up the palette initialization,now 0x000-0x1ff offsets are for the char modes and 0x200-0x2ff are for the bitmap modes;
* Fixed color attributes bits;
* Cleaned up and fixed colors in CGA bitmap mode for Filetto;

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Tetris  (bootleg of Mirrorsoft PC-XT Tetris version) [Angelo Salese]
2009-01-09 00:38:28 +00:00
Angelo Salese
ebfc1010ea Wrote a driver for 86 Lions,not working due of missing inputs...
New games marked as GAME_NOT_WORKING
------------------------------------
86 Lions [Chris Hardy,Angelo Salese,Roberto Fresca]
2009-01-06 18:14:27 +00:00
Roberto Fresca
6d8e81d505 Another non-working driver from Haze, supporting Skill Fruit Bonus.
New games marked as GAME_NOT_WORKING
------------------------------------
Skill Fruit Bonus [David Haywood]
2009-01-06 01:55:36 +00:00
Aaron Giles
41879d052a Removed bogus port 4-7 definitions from MCS-48. Added i8243
implementation. Connected 8243 properly to monsterb and 
system 16a sound. Changed draw80pkr to connect the PROG
line like videopkr.
2009-01-04 03:35:12 +00:00
Roberto Fresca
bc684e993c New driver for Slot Carnival. (1985, Wing Co. Ltd) [David Haywood, Roberto Fresca]
The driver is quite complete, but need some work to get proper colors and reels support.

New games marked as GAME_NOT_WORKING
------------------------------------
Slot Carnival [David Haywood, Roberto Fresca]
2009-01-03 17:26:35 +00:00
Angelo Salese
3fbfe210ab Wrote a preliminary driver for the original Magic Card [Roberto Fresca,David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Magic Card [Roberto Fresca,David Haywood,Angelo Salese]

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

This thing is pretty Amiga-ish...How much similar is this one to the Amiga HW?
2009-01-03 16:55:01 +00:00
Phil Bennett
67b625e3e9 New games marked as GAME_NOT_WORKING
------------------------------------
Operation Tiger [Chris Hardy, Phil Bennett]
2009-01-03 16:42:51 +00:00
Luca Elia
a5d9d44c00 Improved mgcs. It now runs through attract mode.
[Luca Elia]

It still locks up as soon as one coins up though,
due to the unemulated IGS029 protection.
2009-01-03 14:16:25 +00:00
Roberto Fresca
0ff277afe4 Lots of improvements to the different Cherry Master hardwares. [Roberto Fresca, David Haywood]
Added new sets, created new machine drivers, fixed colors, added PPI devices, created new 8255 and ay8910 interfaces, worked out inputs and DIP switches from the scratch, fixed memory maps, merged the cherrym2.c driver with goldstar.c and much more...


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cherry Master (Corsica, ver.8.01) [Roberto Fresca]
Cherry Master (ver.4) [Roberto Fresca, David Haywood]
Cherry Master I (ver.1.01) [Roberto Fresca, David Haywood]
2009-01-03 04:09:31 +00:00
Aaron Giles
e71d65e896 Added simple built-in layout for polepos showing the position of the shifter
(this works thanks to recent changes from Nathan; in fact, any input can
affect the state of an artwork element). Removed debug build hack to popmessage
the shifter state.
2009-01-03 00:47:44 +00:00
Roberto Fresca
0a85553367 From David Haywood...
Skeleton driver for Lucky Girl (1991, Wing Co.Ltd.)
2008-12-31 18:48:06 +00:00
Phil Bennett
d99d6e84b9 New games marked as GAME_NOT_WORKING
------------------------------------
Landing High Japan [Ordyne, Phil Bennett]
2008-12-31 00:13:22 +00:00
Aaron Giles
528d5b6528 Merged i8x41 (UPI-41) core into MCS-48 core:
* all code now lives in mcs48.c
 * rewrote disassembler as unified MCS-48/UPI-41 disassembler
 * changed UPI-41 interfaces to match MCS-48
 * added new master read/write interfaces for external access
 * unified interface to 8243 expander chip
 * converted tnzs and decocass to the new interfaces

DECO Cassette fixes/cleanups:
 * converted tape handling to a device
 * changed tape handling to use a timer callback
 * updated to work with new UPI-41 core
 * corrected clock speeds for all chips (esp. the 8041)
 * fixed very wrong CRC implementation (how did it ever work?)
 * corrected sound IRQ rate
 * corrected video timing

Burger Time hardware fixes:
 * corrected sound IRQ rate and handling
 * removed lnc audio reset hack
 * full audio memory maps based on schematics
 * corrected video timing
2008-12-30 00:24:06 +00:00
Angelo Salese
5af4b958a2 (Wrote a placeholder driver for the "fruit" set from the unemulated/coinmaster/ folder,anything might be wrong about it...) [David Haywood,Angelo Salese] 2008-12-29 19:49:17 +00:00
Angelo Salese
f974e7504d Wrote a driver for Cherry Chance,not working due of coin/hopper issues [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Cherry Chance [David Haywood,Angelo Salese]
2008-12-29 00:21:53 +00:00
Angelo Salese
fe6b72fb0f Wrote a preliminary Merit Poker driver [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Merit Poker [David Haywood,Angelo Salese]
2008-12-28 18:44:19 +00:00
Angelo Salese
d5e2af77f1 Wrote a preliminary Bingo Circus driver,not working due to missing "terminal" roms [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Bingo Circus [David Haywood,Angelo Salese]
2008-12-28 16:05:09 +00:00
Angelo Salese
99c20bffe9 Merged Mahjong Shiyou to the Royal Mahjong driver,graphics are improved because of that [Angelo Salese] 2008-12-27 00:43:50 +00:00
Aaron Giles
4ed7452ceb From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Monday, December 22, 2008 8:04 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Update sound core header files

Hi mamedev,

This patch updates all the sound core header files to declare their
SND_GET_INFO functions, which will be needed once the sound cores
become proper devices.  It also makes a handful of other header
declaration fixes in emu/sound, and makes one SND_RESET routine
static.  Note: votrax.h is a new include file altogether.

~aa
2008-12-26 06:40:58 +00:00
Andrew Gardner
e7ec9c0df6 Adds extremely preliminary i860 disassembler and hooks it up to the vcombat driver. [Jason Eckhardt, Andrew Gardner]
(We're not even decoding args yet, but it's on its way).
2008-12-25 03:03:30 +00:00
Angelo Salese
3914152d3e Preliminary Night Gal driver,not yet working for comms issues [David Haywood,Angelo Salese]
New games marked as GAME_NOT_WORKING
------------------------------------
Night Bunny / Royal Night [David Haywood,Angelo Salese]
Night Gal [David Haywood,Angelo Salese]
Night Gal Summer [David Haywood,Angelo Salese]
Sexy Gal / Sweet Gal [David Haywood,Angelo Salese]
2008-12-23 21:09:34 +00:00
Wilbert Pol
da128743fb Changed the F3853 implementation into a device. 2008-12-23 20:14:57 +00:00
Aaron Giles
a70fdf00a1 CPU interface organization shuffle. The file cpuintrf.h now merely
describes the interface, but does not contain any implementation.
All remaining bits of implementation have been migrated either to
cpuexec.c or to debugcpu.c. Specifically, cpu_dasm() is now
debug_cpu_disassemble(), and cpu_set_dasm_override() is now
debug_cpu_set_dasm_override(). Also moved memory_address_physical()
to debug_cpu_translate(), since it was only ever used for
debugging.

Changed all CPU and sound cores to use memory_find_address_space()
instead of cpu_get_address_space(). The former is reliable even
during early initialization when the CPU cores generally need it.

Removed the dummy CPU core and cpuintrf.c.

Changed the core execution loop to directly call the execute
function instead of using the inline helper (which has been removed).
2008-12-22 17:35:27 +00:00
Phil Bennett
9f76d751c0 New games added or promoted from NOT_WORKING status
---------------------------------------------------
Turbo Sub (prototype rev. TSCA) [Phil Bennett]
Turbo Sub (prototype rev. TSC6) [Phil Bennett]
2008-12-22 13:19:01 +00:00
Aaron Giles
6be42cb850 Missed a file. 2008-12-22 04:02:57 +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
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
41ef03afbb Merged goldstar and lucky8 drivers. [David Haywood] 2008-12-21 07:26:49 +00:00
Angelo Salese
b501c8dd73 (Oh snap,forgot to add the driver)... 2008-12-20 16:44:48 +00:00
Aaron Giles
bc33516388 Oops, missed this file. 2008-12-20 00:06:49 +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
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
a1bd0a2a92 Removed old cherrym driver. 2008-12-15 05:52:19 +00:00
Aaron Giles
f65131343d Added proper artwork for the led in Gridiron Fight [David Haywood]
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk] 
Inviato: domenica 14 dicembre 2008 23.56
A: Angelo Salese
Oggetto: Gridiron update

Changed it from using a hack using the gfx rom to display the 'play 
number' to using the LEDs in the artwork system.
2008-12-15 01:12:26 +00:00
Aaron Giles
6b4efba253 Queen [David Haywood]
This adds the "Queen" game into a driver (a.k.a. the 2002 PC-era game)
(roms are already on the ftp,I believe)

-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk] 
Inviato: venerdi 12 dicembre 2008 0.05
A: Angelo Salese
Oggetto: Queen Skeleton..

Didn't think the queen was dead yet, but here is her skeleton ...
2008-12-15 00:58:31 +00:00
Angelo Salese
b12547e1e1 Written a driver for Jangou,working with sound. [David Haywood,Angelo Salese,Phil Bennett]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Jangou [David Haywood,Angelo Salese,Phil Bennett]
2008-12-13 16:30:56 +00:00
Roberto Fresca
c53a11a57d New driver for Four Roses. The game is encrypted and also has a MCU.
Added hardware and tech notes.


New games marked as GAME_NOT_WORKING
------------------------------------
Four Roses (encrypted, 2 sets)[Roberto Fresca]
2008-12-13 01:08:00 +00:00
Roberto Fresca
cd7f972c5e Added working button-lamps + layout to Bra$il, Fashion, and New Magic Card. 2008-12-12 01:27:58 +00:00
Angelo Salese
976643a24b (Added the Forte 2 driver into the main SVN tree) 2008-12-11 21:09:49 +00:00
Roberto Zandona
6b20f6a155 Cherry Bonus 2001: added a skeleton driver and some decrypted opcodes
New games marked as GAME_NOT_WORKING
------------------------------------
Cherry Bonus 2001 [David Haywood, robiza]
2008-12-11 19:54:59 +00:00
Angelo Salese
0b35ca1c1d Wrote a driver for Super Pool 99 (versions 0.36 & 0.31),working with small problems. [David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Pool 99 [David Haywood,Angelo Salese]
2008-12-10 16:59:04 +00:00
Roberto Fresca
5a15a2182a Improvements to Millennium 4000 driver.
- Completed normal Inputs/Outputs.
- Added button-lamps calculation.
- Created button-lamps layout.
- Documented the PCB RAM.
- Fixed NVRAM size based on PCB picture (2x CY62256L-70PC near the battery).
- Added notes about the method to make appear the real poker cards.
- Fixed the OKI 6295 frequency (1000 kHz resonator near). Now the game has more decent sounds.
- Corrected CPU clock to 12 MHz. (main Xtal).
2008-12-10 15:32:08 +00:00
Aaron Giles
89e14c632f Pointer-ified the i86/i286 cores.
Removed unused v20/v30 implementation.
2008-12-09 15:39:20 +00:00
Aaron Giles
35b6d98757 Oops forgot a file. 2008-12-09 06:36:41 +00:00
Angelo Salese
8c09fe8b03 Merged The Couples driver with Merit,fixing most of the graphics/color bugs in it. 2008-12-06 16:45:12 +00:00
Angelo Salese
0b23053a74 Wrote drivers for Millenium Nuovo 4000 (working with sound) and Il Pagliaccio (not working) [David Haywood,Angelo Salese]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Millenium Nuovo 4000 [David Haywood,Angelo Salese]

New games marked as GAME_NOT_WORKING
------------------------------------
Il Pagliaccio [David Haywood,Angelo Salese]
2008-12-06 15:12:39 +00:00
Angelo Salese
4375cea253 Bra$il skeleton driver from David Haywood.
(Likely that I'll check this thing to see if I can do anything).
2008-12-01 00:05:51 +00:00
Roberto Fresca
b78d3282b2 Pmpoker.c major rewrite (part 2):
- Changed the driver name to goldnpkr.c (Golden Poker is the most representative hardware).
 - Splitted the PIA interfases to cover witchcrd/pottenpkr connections.
 - Fixed the witchcrd/pottnpkr/sloco93 double up mode.
 - Replaced the pottenpkr layout with goldnpkr one in all Jack Potten's Poker sets.
 - Updated game notes for Witch Card and Super Loco 93 sets.
 - Fixed al inputs & lamps to allow double up mode to the above games.
 - Added Witch Card (Video Klein) but still not working.
 - Added several Buena Suerte! sets.
 - Added new games: Maverik, Brasil 89 & Poker'91.
 - Reworked the sets parent-clone relationship (still in progress).


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Maverik [Roberto Fresca]
Brasil 89 [Roberto Fresca]
Poker'91 [Roberto Fresca]


New clones added
----------------
Buena Suerte (21 new sets) [Roberto Fresca]
Royalea [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Witch Card (Video Klein) [Roberto Fresca, Guru]
2008-11-29 22:51:47 +00:00
davidhay
8f50591c40 new not working - Galaxian 3 [Andy Welburn]
I won't be writing this driver, it fits somewhere between System21 and System22, with multiple PCBs etc.  I just created this to document what we know so far.  Chances are Phil or somebody with good Namco knowledge will have to emulate it.
2008-11-26 23:54:14 +00:00
Angelo Salese
f51cd063d4 Added preliminary Destiny Horoscope driver (not working due of missing Artworks & missing printer emulation)
New games marked as GAME_NOT_WORKING
------------------------------------
Destiny Horoscope [Angelo Salese]
2008-11-25 17:32:26 +00:00
Aaron Giles
cb10461ed1 From: Barry Rodewald [mailto:bsr@xnet.co.nz]
Sent: Sunday, November 23, 2008 12:17 AM
To: submit@mamedev.org
Subject: Oki MSM6258 ADPCM core

Hi,

I have attached the Oki MSM6258 ADPCM sound core, which is intended for 
use with the MESS Sharp X68000 driver.  This code was written by Phil 
Bennett, so he ought to be the one getting the credit for it.  I have 
mostly worked on the MESS X68000 driver and HD63450 (DMA controller) 
code to get the ADPCM working for most X68000 software.  I am unaware as 
to if Phil has already submitted this or not yet.

I've tested compiling and running MAME itself (including a debug build) 
with the MSM6258 core in it, and experienced no issues.  Although there 
is nothing in MAME to test it specifically with, it doesn't cause any 
problems with MAME use in general.

The current MESS X68000 driver code with the MSM6258 enabled is 
available for those that want to test that out - 
http://mahlemiut.marpirc.net/msm6258-211108.zip

Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
2008-11-24 03:22:29 +00:00
Aaron Giles
13333c1469 From: Steve Golson
This more accurately describes the aux board behavior for Ms. Pac-Man. There
is a thorough description of how the board works. mspacman is a more faithful
emulation. In particular you can now enter service mode (F2) at anytime during
game play.
2008-11-24 03:05:08 +00:00
smf-
24022b72ca pointerified the psx cpu core & switched it to the new memory functions. Changed some MIPS_* to PSXCPU_* 2008-11-19 19:32:44 +00:00
R. Belmont
6c1655976f Big H8 update
H8:
- Added support for 8-bit H8 family MCUs, starting with the H8/3344
- Pointer-ified all H8 cores
- Some cleanup and renames toward additional future work

System 23:
- Added extremely preliminary support for I/O boards with the H8/3344
- Added new game: Motocross Go! (MG3 Ver. A) [credit Guru]
2008-11-19 03:29:10 +00:00
Curt Coder
a8475e4c1e Pointerized the COP400 CPU cores. 2008-11-18 17:15:40 +00:00
Aaron Giles
5a9c7e2d2d Significantly pared down the 68k core. Merged outer MAME shell
into the core proper and removed unused macros. Changed all
external interfaces to pass the CPU device. Enabled 64-bit
operations by default. Re-derived the interface functions to
cascade and share code more aggressively.

These changes also seem to have cured the taito_f3 issues as
far as I can tell (at least pbobble3 seems right now).
2008-11-17 09:39:11 +00:00
davidhay
78f8527fa2 missing files from last checkin 2008-11-16 18:07:00 +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
Nathan Woods
2f64840531 Sync with MESS 2008-11-11 03:58:52 +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
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