Commit Graph

1673 Commits

Author SHA1 Message Date
Curt Coder
08a218dc80 Refactored the ACIA6850 to use devcb.
Trampolines were added since driver state cannot be directly accessed with devcb.
2009-02-09 09:47:11 +00:00
Couriersud
a6c83e9fff Largely a WIP update with some FIXMEs / Co-credit Smitdogg
- Created custom module for run sounds. Running the discrete sound system at 480KHz was not really optimal.
- Reviewed parts list, schematics and pcb pictures
- Brought mario run sound in line with recordings from Smitdogg
- VCO voltage needs to be 0V for this to happen. Verification outstanding
- Capacitors needed some ageing applied as well. To be removed once the VCO issue is clarified.
2009-02-08 23:48:58 +00:00
Angelo Salese
790edbb11b Small bugfix for an SH-2 logging message. 2009-02-08 02:21:02 +00:00
Phil Bennett
991f93ce76 Revert _strdup back to strdup 2009-02-07 20:29:53 +00:00
Phil Bennett
e4f2c2494c Fixed MSVC build. 2009-02-07 18:50:40 +00:00
Couriersud
9991699ed3 Fix bug #2896, #1785, #2801
- (re)implement pm reporting
- If a bit is not modified, do not throw away the whole nibble
2009-02-07 12:15:04 +00:00
davidhay
845e4900b3 TMS57002 preliminary implementation [Olivier Galibert] 2009-02-06 22:50:40 +00:00
Aaron Giles
c4126c1034 bytemask should not mask low bits. Fixes disassembler for CPUs with address
bus shifts. Hopefully doesn't impact anything else.
2009-02-06 13:26:24 +00:00
Angelo Salese
0df8d36d7c 02897: soldivid: Audio regression (David Haywood) 2009-02-04 17:08:31 +00:00
Nathan Woods
f9d6855b54 Changed 6526cia to use devcb 2009-02-04 13:37:15 +00:00
Nathan Woods
6e6e8ef5b1 Made the 6522 VIA implementation use devcb 2009-02-04 04:29:28 +00:00
davidhay
e05e9494f5 relaxed 8 letter setname limitation for clone sets - this is designed to make it easier to add simple suffixes to clone names without truncating the original set name, it isn't designed to be abused and used as an alternate description. [Olivier Galibert]
(I've also updated one or two set names as an example)
2009-02-03 22:19:09 +00:00
davidhay
ae3e5b66e6 fix #define.. stupid copy+paste errors 2009-02-02 22:55:45 +00:00
davidhay
6d0e1723e8 fix comment 2009-02-02 22:55:10 +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
Nathan Woods
ebef239e0c MSVC fix [Atari Ace] 2009-02-02 03:04:10 +00:00
R. Belmont
1c5a8cb1bf Improve disassembly of R3000 code that uses the TLB or FPU 2009-02-02 00:48:36 +00:00
Nathan Woods
15b34bc9b5 Devintrf bug fix 2009-02-01 00:13:44 +00:00
Nathan Woods
219639f3d7 1. Added the ability to invoke CPU input lines with devcb callbacks
2.  Changed sp0256 to use devcb callbacks

3.  Updated sauro driver as per #2
2009-01-31 21:23:22 +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
smf-
8ac4f3cb33 Changed memory_set_direct_region to pass the address returned from the DIRECT_UPDATE_HANDLER back to the memory read function. 2009-01-31 16:57:16 +00:00
Aaron Giles
cc14b2aaa7 Opcode accesses are now marked debugger_access. This is important with the recent
changes to automatically call the read handler if the opcode base cannot be
found.

Changed logging for non-RAM opcode bases so that it does not output in the case
of debugger_access being set.

Fixed logic for deriving direct ranges so that it uses the non-watchpoint-
infected tables for its lookups.
2009-01-30 18:11:46 +00:00
Aaron Giles
8236d216f2 Cleanups and version bump. 2009-01-29 10:18:49 +00:00
Aaron Giles
4141d22d07 02862: Many sets in taitosj.c: During the scroling the lower part of the screen becomes black 2009-01-29 09:51:42 +00:00
Luca Elia
ecd97d30ce Implemented a few more H8/3xx instructions, and added funcube to seta2.c [Luca Elia]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Funcube 2 [Luca Elia]
Funcube 4 [Luca Elia]
2009-01-28 19:44:29 +00:00
Nathan Woods
7112ab5d3e Changed CA1/CA2/CB1/CB2 device callbacks to be lines 2009-01-28 00:13:21 +00:00
Nathan Woods
a4d12e12ce Converted 6821new to use devcb 2009-01-28 00:05:39 +00:00
Couriersud
c60b81d2aa Fix energy calculation for LS624 2009-01-27 22:28:25 +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
Couriersud
6c653b943e Spectrum of generated sounds getting near samples.
Still issues with LS123 durations
For skip, samples are twice as short
For run, samples are twice as long
2009-01-25 16:17:31 +00:00
Couriersud
ceb0c0ac4a Resistance is given in KOhm in datasheet formula 2009-01-25 15:28:22 +00:00
Couriersud
84683a2e5b Use formula derived from figures 2 and 3 in LS624 datasheet. Coefficients
where calculated using least square approximation.
This approach gives a bit better audible results compared to the prior approach.
2009-01-25 02:10:31 +00:00
Phil Bennett
a016e312af New clones added
-----------------
Turbo Sub (prototype rev. TSC7) [Jay Gallagher]
2009-01-24 14:16:51 +00:00
smf-
22ef5e0fba fixed building with visual studio. 2009-01-24 10:29:30 +00:00
Nathan Woods
4c07fba864 Compilation fix 2009-01-23 12:03:41 +00:00
Aaron Giles
b02a507c1f Cleanups and version bump. 2009-01-22 10:40:20 +00:00
Aaron Giles
325dadfdc0 On Mon, Jan 19, 2009 at 02:48:05PM +0100, Olivier Galibert wrote:
> On Mon, Jan 19, 2009 at 05:37:35AM -0800, R. Belmont wrote:
> > My mistake.  I thought you were suggesting that we should actually
> > somehow handle malloc failures.  Given that aborting is an OK way to
> > express failure, I'd suggest the return values be changed to DEFER
> > and DONT_DEFER to eliminate the conceptual imbalance of OK/DEFER.
> 
> That's where comes the fact that we have 130 OK/DONT_DEFER and 1
> DEFER.  It makes me think that the exceptional DEFER case should be
> handled by an exceptional function call.
> 
> I know, code talks, but I'm at work right now :-)

Here we go.

  OG.
2009-01-22 10:21:52 +00:00
R. Belmont
899fc5f307 Initialize some structs to fix warnings with some GCC versions. 2009-01-22 03:15:08 +00:00
R. Belmont
51b91e9692 Fix big endian compile/link. 2009-01-22 03:13:55 +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
Phil Bennett
a9b9310693 Defined ROM_LOAD64_WORD/ROM_LOAD64_WORD_SWAP in emu/romload.h 2009-01-21 18:55:20 +00:00
Mirko Buffoni
771e2d4ab4 Fixed clamping to 12 bit range to Okim6376, and adjusted
volume attenuation accordingly (Mirko Buffoni)
2009-01-21 13:45:21 +00:00
Aaron Giles
170b4c2752 Sound cores no longer allocate their own tokens. Instead they return a new
integer value indicating the size of token they want, and the core allocates
it for them. This mirrors the standard device behavior.
2009-01-18 20:24:42 +00:00
Aaron Giles
68a0e2c86a Removed redundant config parameter from SND_START. 2009-01-18 18:22:46 +00:00
Aaron Giles
aad099ad00 DRC frontends must do their own opcode fetching unfortunately. Updated all
DRC cores to do this. Also tweaked a few oddities in the SH2 DRC.
2009-01-18 00:39:40 +00:00
Aaron Giles
eff9223966 Removed some stray ADDR2BYTE/BYTE2ADDR macros that have been replaced by
inline functions.
2009-01-17 23:11:07 +00:00
Aaron Giles
eb8366c740 Added new #define ENDIANNESS_NATIVE, which maps to either ENDIANNESS_LITTLE
or ENDIANNESS_BIG based on the LSB_FIRST definition. Unlink LSB_FIRST,
ENDIANNESS_NATIVE always exists and can be used in expressions without
invoking the preprocessor.

Added macro ENDIAN_VALUE_LE_BE() which selects one of two values based
on the endianness passed in. Also added NATIVE_ENDIAN_VALUE_LE_BE()
which calls ENDIAN_VALUE_LE_BE with ENDIANNESS_NATIVE.

Updated a number of drivers and call sites to use these macros in favor
of #ifdef LSB_FIRST.
2009-01-17 23:03:17 +00:00
Wilbert Pol
850b8d37ba Fixed cpu reset for upd78c06. 2009-01-17 16:36:34 +00:00
Wilbert Pol
343aa22d28 Force recalculation of screen parameters when only the input clock changes. 2009-01-17 13:55:16 +00:00
Wilbert Pol
dd4b5dbe5f Improved implementations for undocumented instructions 63, 67, 6f, 73, 77, 7b, 7f, 9c, 9e, ab, e3, e7, ef, f3, f7, fb, and ff in the n2a3 cpu core. 2009-01-17 10:13:13 +00:00
Phil Bennett
804434aa15 Stop crash/assert when trying to decrease the debugger memory window bytes per line to 0. 2009-01-16 18:21:18 +00:00
Nathan Woods
254936ce1a Fixed compilation errors if HAS_SAMPLES is 0 2009-01-15 12:35:33 +00:00
Aaron Giles
7f2e4e19be Cleanups and version bump. 2009-01-15 08:33:24 +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
2d62f3a07e Updated OKIM6295 volume table to reflect actual chip behaviour. 2009-01-14 23:09:31 +00:00
Aaron Giles
9b47e0401f 00976: vaportrx: Crashes during the results section immediately after the race. 2009-01-14 16:23:52 +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
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
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
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
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
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
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
Phil Bennett
b9d2549841 02805: turbosub, turbosba: Dropped lines in video output rendering
Added save state support.
2009-01-11 19:27:13 +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
R. Belmont
3188238b14 k053260: fix LP64 portability. 2009-01-10 04:47:39 +00:00
Curt Coder
019b61e7af Converted the CDP1802 cpu core to use a state table. 2009-01-09 09:32:54 +00:00
Curt Coder
75ec4f2d1d Fixed sloppy rendering in CDP1869. 2009-01-08 08:16:50 +00:00
Couriersud
acae0b91f3 Fix gcc 64bit compile issue 2009-01-07 23:57:10 +00:00
Nathan Woods
45a3d96248 Added check to debug_cpu_set_dasm_override(), because callers do not know if we
are in debug mode or not
2009-01-07 11:42:24 +00:00
Nathan Woods
fd3f93f96d Comment fix 2009-01-07 11:41:56 +00:00
Nathan Woods
59dbaaa70a Added a validity check 2009-01-06 03:21:11 +00:00
Aaron Giles
835ace034d Cleanups and version bump. 2009-01-04 23:31:12 +00:00
Aaron Giles
ed893fe35c From: Robert [mailto:pac0446@bigpond.net.au]
Sent: Wednesday, December 31, 2008 6:39 PM
To: Mamedev submit
Subject: Fix for 1610 cpu

The cp1610 cpu crashes when it attempts to reset itself.

It gets the PULSE_LINE message.

A one-line fix to cp1610.h will fix the problem.
It has been tested on the intellivision mess driver.


Please change the line that says:

#define CP1610_RESET 2

to

#define CP1610_RESET INPUT_LINE_RESET



Thank you and Happy New Year.

- Robbbert
2009-01-04 23:01:29 +00:00
Ryan Holtz
b723f83edc Added savestate support to the following devices: [MooglyGuy]
- TTL74148, TTL74153
Removed anonymous timers from gridlee and added savestate support [MooglyGuy]
Added savestate support to all games in 40love.c, 88games.c, 1943.c, carpolo.c, circus.c and exidy.c: [MooglyGuy]
- 40love, fieldday, undoukai, 88games, konami88, hypsptsp, 1943, 1943j, 1943kai, carpolo, circus, circusse, robotbwl, crash, ripcord, sidetrac, targ, targc, spectar, spectar1, rallys, phantoma, mtrap, mtrap3, mtrap4, venture, venture2, venture4, teetert, pepper2, hardhat, fax, fax2
2009-01-04 22:33:11 +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
Aaron Giles
84618c3f7a romload cleanups:
- added running_machine to internal structure, removed as explicit parameter
 - added new function rom_file_size() to compute the size of a ROM
 - removed rom_first_chunk() and rom_next_chunk() which are no longer needed
 - changed progress display to be based on size of ROMs loaded, not number
 - changed temporary load buffer to be dynamically allocated
 - fixed reload logic to handle skipped BIOSes

Also changed rand_memory() to use a fixed seed for consistent behavior.
2009-01-02 19:20:55 +00:00
Aaron Giles
b7c652b8dd Removed a couple of unnecessary typedefs from mamecore.h.
Updated romload to use an astring for accumulating errors (I always feared
busting that buffer with some huge romlist).
2009-01-02 17:26:37 +00:00
Aaron Giles
74d7495dbc 02104: metlhawk, metlhwkj: Crash while decoding with '-debug' trigger
Fixed auto_malloc() along the way to randomize its memory when allocated in
the debug build. This used to be the standard, but it seems to have been removed 
when the pool allocation was moved into the library.
2009-01-02 16:55:07 +00:00
Aaron Giles
0b2c86bb02 Cleaned up the profiler. Reduced its runtime overhead significantly by
inlining the check to see if it is running. Removed obsolete entries
and updated the text to more accurately describe each one. Added CPU
tags to the CPU names. Switched to using an astring for building the
final string.

Unfortunately, still a bit too much overhead to leave it on in all builds.
2009-01-02 10:52:40 +00:00
Aaron Giles
ba92f06dd7 Minor tweaks to please valgrind. 2009-01-02 10:50:40 +00:00
Aaron Giles
967eb6ef16 Fixed minor glitch in UI display of screen information. 2009-01-02 08:23:53 +00:00
Aaron Giles
403fca8a23 Fixed rendering of slider controls so it doesn't overlap when menus get large. 2009-01-02 08:20:04 +00:00
Aaron Giles
150d84a552 Oops, undo an accidental change in 6850acia that broke the bfcobra games, among others. 2009-01-02 03:25:15 +00:00
Aaron Giles
9ce87edb3f Fixed crash in aica games due to initialization code blowing away the device pointer. 2009-01-02 00:43:05 +00:00
Aaron Giles
2407e06237 ldplayer works again. Added MDRV_LASERDISC_GET_DISC callback hook
which allows for dynamically finding the CHD, rather than relying 
on the DRIVER_INIT hackery that was there before.
2009-01-01 23:05:52 +00:00
smf-
ca91d3bbb0 fixed void function returning a value compile error 2009-01-01 16:11:54 +00:00
Aaron Giles
55afb292df Some minor MCS-48 cleanup. Added 8040/8050 variants. 2008-12-31 16:30:09 +00:00
Phil Bennett
2b9dc5ee31 Fix 02791: cafetime: Access Violation with -debug 2008-12-31 12:33:58 +00:00
Aaron Giles
379e2e1fdc PTR -> FCT naming for a few remaining items in CPU cores. [Duke, Aaron Giles] 2008-12-31 03:08:34 +00:00
Aaron Giles
a748f24dae Added the ability for a ROMset to specify a default BIOS. Use
ROM_DEFAULT_BIOS("biosname") in the ROM definition. This can be
used to ensure a correct default BIOS for ROM versions that care.
2008-12-31 02:58:30 +00:00