Commit Graph

302 Commits

Author SHA1 Message Date
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
Couriersud
eed3bdac15 Merged DS5002FP into MCS51
* Merged DS5002FP
* Disassembler now uses type specific memory names
* Merged DS5002FP disasm
* added 83C751 memory names to disassembler
* delete DS5002FP specific files
* removed unnecessary cpu callback in wrally
* DATA_MAP ==> IO_MAP in wrally
2008-11-07 22:44:14 +00:00
Aaron Giles
a769919540 Missed file from AtariAce. 2008-11-02 03:15:38 +00:00
Roberto Fresca
e03868c87a Ruleta RE-900:
Use pre-defined crystals. Added with notes to xtal.h.
Added missing layout file.
2008-11-01 01:17:55 +00:00
Couriersud
7dd6c89221 Finally move cpu/i8051 to cpu/mcs51, rename files and some constants 2008-10-29 23:41:31 +00:00
Roberto Fresca
b2288ad1d5 Preliminary driver for Joker's Wild (Sigma, 1988).
- Initial release.
 - ROMs load OK.
 - Proper ROMs decryption.
 - Added MC6845 CRTC.
 - Video RAM OK.
 - Added technical notes.


New games marked as GAME_NOT_WORKING
------------------------------------
Joker's Wild (encrypted) [Roberto Fresca]
2008-10-25 09:09:31 +00:00
Roberto Fresca
1b7cfe0da2 Another driver from Grull Osgo.
Ruleta RE-900 from Entretenimientos GEMINI.

Is a roulette game based on i8051 and TMS9928, that has a phisical roulette with leds simulating the ball.
Game is working properly with full sound support.
Need better inputs implementation, leds, external artwork for the roulette and technical notes (I'm taking care of them).
If someone want to give a try, turn the operator key to allow enter credits.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ruleta RE-900 [Grull Osgo]
2008-10-24 17:28:14 +00:00
davidhay
72269c2e5e Magic the Gathering: Armageddon (Skeleton driver)
I'm not going to be working on this, but this documents it in the source at least.
2008-10-19 22:07:43 +00:00
davidhay
16e2482cde NOT WORKING | P's Attack [Guru] 2008-10-19 21:12:38 +00:00
Aaron Giles
819c231992 Added new tool ldresample to assist in resynchronizing audio tracks in
a CHD with frames. Currently still WIP but useful if you know what 
you're doing. [Aaron Giles]
2008-10-16 08:47:06 +00:00
Aaron Giles
51098d32cd From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Tue 10/7/2008 10:45 AM
To: submit@mamedev.org
Subject: snes special chips emulation
Hi, 

the attached patch adds emulation for snes special chips DSP-2 & OBC-1. Changes:

- added sources snesdsp2.c & snesobc1.c (directly included in machine/snes.c as per Arbee's guidelines). credits mostly goes to byuu, which released to Public Domain his sources
- removed special chips detection from MAME (no nss / bootleg carts have special chips so far) and only left a variable has_addon_chip whose possible values are in includes/snes.h (it is initialized to HAS_NONE for MAME games)
- modified memory handlers to account for the new chips

Regards
   Fabio
2008-10-09 09:41:12 +00:00
Roberto Fresca
2a000a7cc8 Improvements to InterFlip / Recreativos Franco driver: [Grull Osgo, Roberto Fresca]
- Added Baby Poker Game.
 - Added sound support to Baby Poker Game.
 - Reworked the color routines.
 - Added Baby Dado Game.
 - Added new color routines for Baby Games.
 - Redumped the videocba color PROM.
 - Added color switch. (It changes background color in some games).
 - Added "hopper full" switch support (for diverter function).
 - Added diverter function decoder.
 - Added full functional mechanical counters decoding.
 - Added 7 Segment decoder and 7 Digit Counter functions.
 - Added button-lamps layout & mechanical counters simulation on layout.
   Mechanical counters to layout: Coin-In, Coin-Out and Coin to Drop.
 - Added NVRAM support to mechanical counters.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Baby Poker [Grull Osgo, Roberto Fresca]
Baby Dado [Grull Osgo, Roberto Fresca]
2008-10-07 06:27:53 +00:00
Aaron Giles
9b72b5abc4 Added 22VP931 emulation, which is mostly working. Communication works
fine and basic searching/playback/skipping is functional. Still a bit
glitchy.

Firefox improvements:
 - removed need for deprecat.h
 - memory map is complete from schematics
 - gutted laserdisc hacks in favor of actual laserdisc implementation
 - fixed all CPU and sound clocks
 
Removed old laserdsc.c implementation.

Added generic timer devices, which simply allocate a timer but don't
prime it. This is the preferred method for allocating timers, and may 
eventually be the only mechanism for doing so in the future.
2008-09-25 16:21:35 +00:00
davidhay
07a34e9cd3 New Games
---------

Chanbara [Tomasz Slanina, David Haywood]
2008-09-23 18:35:10 +00:00
davidhay
4ee7a57a71 Jaleco 'Bomb's Away' Improvements [aDG4W+qp0] 2008-09-15 09:27:37 +00:00
Phil Bennett
6ff2372d8c Namco NA-2: Use real C70 BIOS. Removed sound and input simulation code. Changed the NA-1/2 MCU type to M37702. 2008-09-14 17:51:01 +00:00
smf-
75e68187dc preliminary firefox emulation. 2008-09-13 07:58:39 +00:00
Roberto Fresca
0bf917467e Added lamps support + layout to magjoker and galaxi.
Magjoker has a good lamps sequence in the attract.
2008-09-12 23:56:09 +00:00
Roberto Fresca
1510ffd2e3 Improvements to Croupier (Playmark Roulette):
- Simulated the MCU communication/protection.
  The game seems to work properly, but is hard to win.
  I conserved the game flags till we have the MCU decapped,
  and emulated properly.

- Added full sound support.
- Added lamps support + layout.
2008-09-10 23:47:12 +00:00
Roberto Fresca
f599e6d274 More cleanups and improvements to Super Derby driver.
- Fixed memory maps.
- Documented Super Derby outputs.
- Added lamps support + layout to Super Derby.
- Fixed the phisical RAM size to all games.
- Fixed the wrong NVRAM size to spacewin (16Kb instead of 16KB).
- Added proper NVRAM to sderby and pmroulet.
- Added the missing 3rd input to pmroulet (needed for 3-button mode).
- Cleaned up the driver.
2008-09-09 23:51:25 +00:00