summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/sound
Commit message (Collapse)AuthorAgeFilesLines
* Removed MDRV_SOUND_ADD. Renamed MDRV_SOUND_ADD_TAG to Aaron Giles2008-07-181-1/+1
| | | | | | | | | | | MDRV_SOUND_ADD. All sound chips must now include a tag. Laboriously changed all existing drivers to define a unique tag for each sound chip. CPUs are next, but will require a more hands-on manual process to produce reasonable tags.
* s14001a.c: fix a minor bug with the 4-bit dac range. wolfpack clips again, ↵ Jonathan Gevaryahu2008-06-301-2/+6
| | | | and I'm almost sure its an encoding error on the original speech
* s14001a.c: Remove a TODO line for a bug which has been fixed. Jonathan Gevaryahu2008-06-301-1/+0
|
* Update S14001A core: improved filtering to be more accurate to the chip, ↵ Jonathan Gevaryahu2008-06-301-16/+30
| | | | changed internal audio renderer to produce 4 bit sound as the real chip does. Moved filter outside of the main rendering loop into the glue code. Note: with this update, you may hear a whining noise that was not previously present. This is accurate to the chip! The real chip would almost always have an analog filter placed on its output to suppress this whine.
* Pitch calculation fix (by h0pdmiYX0) Yasuhiro Ogawa2008-06-271-1/+1
|
* Cleanups/version bump.mame0125u7 Aaron Giles2008-06-263-44/+44
|
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-06-261-1/+1
| | | | | | | | | | | | | Subject: [patch] Fix minor CPU/SOUND core build issues Hi mamedev, This small patch fixes a few build problems with the cpu/sound cores M65CE02, ALPHA8201, TMC0285, TMS5200 and corrects the dependencies for the mips core. ~aa
* Save state support: Aaron Giles2008-06-231-3/+24
| | | | | | | | | | | | | * added save state support to the SHARC CPU core * added save state support to the PowerPC recompiler * added save state support to the virtual TLB system * added save state support to the RF5C400 sound core * added save state support to konppc module * added save state support to K056800 host controller * added save state support to the Konami hornet driver Fixed poor default CLUT handling in the voodoo driver
* Fixed placement of stream_update in the NiLe emulation. R. Belmont2008-06-231-3/+6
|
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-06-2336-62/+82
| | | | | | | | | | | | | | | | | | | | | | Subject: [patch] memory_region madness reloaded Hi mamedev, The memory_region and memory_region_length functions are probably the two most common functions in MAME that don't take a machine parameter but should given the syntax of the related apis memory_region_type and memory_region_flags. Clearly they didn't get the parameter because of the sheer number of changes needed to change the apis. This pair of patches makes the change, and deals with the consequences. The second patch then changes the api for memory_region and memory_region_length, and fixes the fallout. It generally plumbs through machine parameters where needed, except for the case of sound apis which I deferred doing so till later. This increased the number of deprecat.h includes by ~50. Given it is a massive patch, there are bound to be a few mistakes in it (I had to make ~20% of the changes by hand), but I exercised care and reviewed the patch several times to minimize the problems.
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-06-232-3/+4
| | | | | | | | | | | | | | | | | Subject: [patch] memory_region madness reloaded Hi mamedev, The memory_region and memory_region_length functions are probably the two most common functions in MAME that don't take a machine parameter but should given the syntax of the related apis memory_region_type and memory_region_flags. Clearly they didn't get the parameter because of the sheer number of changes needed to change the apis. This pair of patches makes the change, and deals with the consequences. The first patch makes some changes to help the second patch along, as well as moves some uses of the memory_region apis within for loops outside the loops.
* Various NiLe fixups. Music in-game now sounds quite acceptable, if not yet ↵ R. Belmont2008-06-231-17/+28
| | | | perfect.
* Correct the loop flag in the NiLe. Still more to do. R. Belmont2008-06-231-1/+6
|
* Preliminary emulation of ST-0026 NiLe (sound). Tomasz Slanina2008-06-223-0/+273
| | | | Added audio (imperfect) to Super Real Mahjong P6. (2nd attempt)
* 01905: Many Sets: Fatal Error crash - Fatal error: Input ports cannot be ↵ Aaron Giles2008-06-211-3/+0
| | | | | | | | read at init time! (src/emu/inptport.c:1278) Removed call to discrete_reset() in the initialization code. It is already called by the sound system during reset, at which point it is safe to read input ports.
* Fixes for MSVC compile. Aaron Giles2008-06-201-5/+5
|
* MultiPCM/315-5560 rewrite by ElSemi. All features are now supported ↵ R. Belmont2008-06-191-388/+562
| | | | including PLFO and ALFO.
* Cleanups and version bump.mame0125u5 Aaron Giles2008-06-121-1/+1
|
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-06-123-0/+6
| | | | | | | | | | | | | | Subject: [patch] Static qualifiers, header file cleanups, and new include files for MAME The first patch adds static qualifiers where appropriate, adds missing #include statements, source comments and header declarations, as well as removes dead declarations. The only part that required judgement was deciding whether audio/galaxian.c declarations should be in galaxold.h or galaxian.h, it doesn't make sense for them to be declared in both. This exercise did find a bug, galaxold_init_stars was declared incorrectly in video/fastfred.c.
* Update comments for tms5220 and sn76496. Add a Couriersud-style pinout to ↵ Jonathan Gevaryahu2008-06-062-2/+27
| | | | tms5220.c
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-06-053-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Subject: [patch] memory_region madness The memory_region and memory_region_length functions are probably the two most common functions in MAME that don't take a machine parameter but probably should given the direction MAME has been going in removing global variable references. Attached are massive patches to accomplish this. I wish they could be smaller, but sadly, this is butchery, not brain surgery. The first patch makes some simplifications to help the second patch along. It is a general improvement as well, and hopefully can be applied even if the second patch is rejected. Specifically: 1. Introduced/updated some include files for files that export functions whose apis will need to be changed (cps1.h, decocrpt.h, ms32.h, pgm.h, fd1089.h, konami1.h). In the case of konami.c, I renamed the file konami1.c and changed the api and callers to only require one function export. 2. Pulled memory_region*() calls out of for loops and folded the occasional duplicated call. The compiler can't likely infer that the results are constant, so this should be a minor performance win as well.
* Fix for Mantis 01699: asteroid, asteroi1, asteroib, asterock, meteor, ↵ Couriersud2008-05-291-0/+2
| | | | | | meteorts: Abnormal discrete sounds * added NODE_RELATIVE(NODE, offset) macro to discrete.h * fix asteroid.c, canyon.c, skydiver.c and tank8.c to use this macro instead of adding directly to the node
* Cleanups and version bump. Aaron Giles2008-05-222-2/+2
|
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-05-2242-109/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: [patch] More Machine->machine changes, add machine to irq callbacks Hi mamedev, Here are two more patches to eliminate Machine globals. The first patch was autogenerated by the attached fixup script. That script has been updated to catch additional cases which it previously missed (when Machine is the last parameter to a function or Machine is used in an assignment). This makes ~50 more files deprecat.h free. A sizable chunk (~20%) of the remaining uses of the Machine global in the drivers are due to irq callbacks for sound and machine updates. Typically such callbacks need to call cpunum_set_input_line, which requires a machine parameter, so if the callbacks don't pass the machine parameter, these routines have no choice but to reference the global variable. The second patch attempts to address most cases of this by adding the machine parameter to the callback interfaces. This allows us to remove #include "deprecat.h" from ~150 files, at the cost of having to fix up hundreds of callbacks. In total, these patches reduced the number of files with deprecat.h from 783 to 575. ~aa
* Added proper interpolation sub-cycles ('PC' cycles and A/B subcycles of ↵ Jonathan Gevaryahu2008-05-202-31/+87
| | | | each) to tms5110 and updated comments. Also added code to update lfsr 20 times instead of once per sample, so it matches the real chip. Updated tms5110 to use shifts instead of divides during interpolation.
* Added proper interpolation sub-cycles ('PC' cycles and A/B subcycles of ↵ Jonathan Gevaryahu2008-05-201-25/+84
| | | | each) and updated comments
* Restructured input port internals and cleaned up inptport.c: Aaron Giles2008-05-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Input ports are now maintained hierarchically. At the top level are input ports, which contain a list of fields. Each field represents one or more bits of the port. Certain fields such as DIP switches and configuration switches contain a list of settings, which can be selected. DIP switch fields can also contain a list of DIP switch locations. * Normalized behavior of port overrides (via PORT_INCLUDE or by defining multiple overlapping bits). All fields within a port are kept in strict increasing bit order, so altered DIP switches are now kept in the appropriate order. This addresses MAMETesters bug 01671. * Live port state is now fully separate from configured state. This is manifested in a similar way to devices, where a const list of ports can be managed either offline or live. Each port has a pointer to an opaque set of live state which is NULL when offline or valid when live. Each port also has a running_machine * which is also NULL when offline. * Because of this new arrangement, the conversion from tokens to a list of ports now requires reasonably complex memory allocation, so these port lists must be explicitly allocated and freed (they are not mantained by automatic resource allocation). * Custom and changed callbacks now take a pointer to a field config instead of a running machine. This provides more information about what field triggered the change notification. The machine can be found by referenced field->port->machine. * The inptport.c module has been cleaned up and many ambiguities resolved. Most of this is internal, though it did result in osd_customize_inputport_list() being changed to osd_customize_input_type_list(). The parameter to this function is now a linked list instead of an array, and the structures referenced have been reorganized somewhat. * Updated config.c to pass machine parameters to its callbacks. * Updated validity checks, XML output, and UI system to handle the new structures. * Moved large table of default input settings to a separate include file inpttype.h. * Removed gross hacks in trackfld and hyperspt NVRAM. These may be broken as a result.
* Cleanups and version bump.mame0125u1 Aaron Giles2008-05-151-1/+1
|
* Update TMS5200/5220 documentation and comments Jonathan Gevaryahu2008-05-132-29/+49
| | | Fix the chirp table implementation in both the 51xx and 52xx chips.
* s14001a.c - updated comments and version Jonathan Gevaryahu2008-05-131-3/+5
|
* Spacing and version bump.mame0125 Aaron Giles2008-05-051-27/+27
|
* Fixed an envelope corner case in the SCSP and AICA (kingshriek) R. Belmont2008-05-032-2/+2
|
* ay8910.c: Couriersud2008-05-021-31/+32
| | | | * Fixes mantis bugs 01767, 01769 * Corrected some comments
* Cleanups/version bump.mame0124u5 Aaron Giles2008-05-014-33/+33
|
* ay8910: Cosmetic Couriersud2008-04-272-359/+427
| | | | | * bring more in line with coding standards * add more comments
* Fix AY-3-8910/YM2149 and derivatives envelope handling. Couriersud2008-04-261-12/+12
|
* Added DISCRETE_KEY_SALLEN_FILTER to discrete sound system Couriersud2008-04-253-2/+106
|
* Cleanups for 0.124u4. Aaron Giles2008-04-244-73/+73
|
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-04-242-3/+2
| | | | | | | | | | | | | | | | | | | Subject: [patch] Remove more Machine globals, #include "deprecat.h" Hi mamedev, The attached patch goes through and converts a number of Machine globals to machine locals, and then removes #include "deprecat.h" if appropriate. The script that generated it is included, since the patch itself is rather large and would have been time consuming to produce otherwise. The script doesn't convert cases of Machine that aren't in common macros. I'll try to tackle those later if someone doesn't beat me to it. ~aa
* ay8910.c: Couriersud2008-04-231-1/+26
| | | | | | | | * change DC offset for AY-3-8910 to 0.2V * tones are now distinguishable again galaxian.c: * adjust "konami" sound volume gyruss.c: * adjust sound volume
* AY-3-8910 rewrite: Couriersud2008-04-229-552/+627
| | | | | | | | | | | | | | | | | | * adds a model to calculate mixing of channels with different resistance loads. * based on above, each channel may be assigned a different load in individual case i.e. channels not tied together * rewrote ay8910.c to make emulation simpler * changed the config structure to include a flag field and output resistor loads. * Updated all drivers affected. * Added some "Todos" related to stuff I discovered when reading datasheets. * Fixed a bug in disc_flt.c (konami filters) galaxian.c: * Fixed discrete sound and konami filter addressing * Changed addressing of AY-3-8910 to be in line with schematics gyruss.c: * Added discrete sound for filtering ("konami"-style) and mixing.
* Flipped the damn mem_mask. It is no longer inverted when passed to Aaron Giles2008-04-202-3/+3
| | | | | | | read/write handlers. Updated all drivers accordingly. Hope I didn't miss anything important! Blame OG and smf for goading me into it. :)
* Reduced the number of save state callback types from 3 to 1. The Aaron Giles2008-04-1114-30/+39
| | | | | | | | | | | | | | only remaining form is the one that takes a pointer parameter. Added macros for STATE_PRESAVE and STATE_POSTLOAD to define common functions. Added machine parameter to these functions. Updated all drivers and CPU/sound cores to use the new macros and consolidate on the single function type. As a result pushed the machine parameter through a few initialization stacks. Removed unnecessary postload callbacks which only marked all tiles dirty, since this is done automatically by the tilemap engine.
* Renamed input port functions: Aaron Giles2008-04-061-1/+1
| | | | | | | | | readinputport -> input_port_read_indexed readinputportbytag -> input_port_read readinputportbytag_safe -> input_port_read_safe Added machine parameter to input port functions. Updated many drivers to accomplish this.
* Cleanups and version bump to 0.124u1.mame0124u1 Aaron Giles2008-04-033-18/+18
|
* Switched from ACCESSING_BYTE_*, ACCESSING_WORD_*, ACCESSING_DWORD_* Aaron Giles2008-04-0313-151/+151
| | | | macros to ACCESSING_BITS_*_* macros.
* discrete sound system: Couriersud2008-04-017-444/+490
| | | | | | | | | | | | | | | | | | | | | | | | * Fix timing of stream_update in discrete_sound_w All sound cores update before processing changed data * Add streeam_update to discrete_sound_r * Now supports multiple output nodes per module. There is the possibility to support multiple outputs per module. In this case, NODE_XXX is the default output. Alternative outputs may be accessed by using NODE_XXX_YY where 00<Y<08. You may also access nodes with macros: NODE_XXX = NODE_SUB(XXX, 0) NODE_XXX = NODE(XXX) NODE_XXX_YY = NODE_SUB(XXX, YY) with YY != 00 This should e.g. make discrete sound emulation easier when dealing with e.g. flip flops (Q & QQ) and binary counters * added sanity checks to check consistency issues introduced by this change * modules specify number of outputs ==> Certain special modules (WAVELOG) may no longer be used as input nodes * removed explicit (NODE_XX + expr) from a couple of drivers
* MESS specific change; part of MESS' device changeover Nathan Woods2008-03-301-1/+1
|
* New macros added for checking mem_mask. ACCESSING_BYTE_n, ACCESSING_WORD_n & ↵ smf-2008-03-3013-151/+151
| | | | | | | ACCESSING_DWORD_n. These check for any access within the bounds, currently the pattern for checking whether both bytes of a word is written is to make two byte checks ( this pattern existed before because there was no macro for testing a 16 bit word, though you could have used ACCESSING_LSW32 ). All occurrences of ACCESSING_LSB, ACCESSING_MSB, ACCESSING_LSB16, ACCESSING_MSB16, ACCESSING_LSB32, ACCESSING_MSB32, ACCESSING_LSW32, ACCESSING_MSW32 & simple mem_mask checks have been replace with the new macros. The old macros are gone.
* [AICA, SCSP] Fixed encoding/decoding of negative denormal floats in the DSP. ↵ R. Belmont2008-03-302-0/+8
| | | | Shouldn't actually affect any games. (kingshriek, Deunan Knute)