summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio (follow)
Commit message (Collapse)AuthorAgeFilesLines
* use plural names for output finders when there are multiple outputs (#3595) wilbertpol2018-05-271-1/+1
| | | | | | | | * use plural names for output finders when there are multiple outputs (nw) * use plural names for output finders when there are multiple outputs (nw) * use plural names for output finders when there are multiple outputs (nw)
* exidy440.cpp, vertigo.cpp: Improve encapsulation for audio device AJR2018-05-262-20/+88
|
* tp84: device_finder stuff. Also removed a bunch of commented-out stuff that ↵ Ryan Holtz2018-05-262-2/+2
| | | | was tripping my device_finder search. (nw)'
* audio/exidy440.cpp: Use finder for audiocpu instead of absolute tag lookup (nw) AJR2018-05-242-3/+5
|
* Fix vegas hang, nw Ryan Holtz2018-05-231-3/+0
|
* audio/exidy.cpp: Better split of state classes; add device finders; add ↵ AJR2018-05-222-215/+176
| | | | input merger; general cleanup (nw)
* voodoo: Use device finders instead of machine().device (nw) Ryan Holtz2018-05-213-6/+12
|
* spiders.cpp: Use required_device_array for PIAs and input merger for IRQ (nw) AJR2018-05-201-3/+2
|
* Replace set_led_value and set_lamp_value with output_finders. [Wilbe… (#3592) wilbertpol2018-05-201-1/+1
| | | | | | * Replace set_led_value and set_lamp_value with output_finders. [Wilbert Pol] * segaufo: keep the 2 bit lamp outputs
* diexec: Interrupt API changes (nw) AJR2018-05-188-10/+10
| | | | | | - PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument. - Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however. - execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful.
* cinemat: further cleanup/separation - no longer needs a selector member or ↵ Vas Crabb2018-05-181-31/+31
| | | | start overrides (nw)
* leland: move audiocpu to device and remove frequent tag lookup (nw) cracyc2018-05-172-17/+67
|
* redalert: all ends up doing the same sound start anyway (nw) Vas Crabb2018-05-171-20/+1
|
* cinemat: split out stuff unique to demon and qb3, use virtual methods a bit ↵ Vas Crabb2018-05-171-29/+34
| | | | more (nw)
* leland.cpp cleanups (#3519) cam9002018-05-172-116/+38
| | | | | | | | | | | | | | * leland.cpp : Cleanup duplicates, Add generic_latch_16_device for maincpu to soundcpu comms, Improve tags, Reduce runtime tag lookups, Make drawing function relate to cliprect * leland.cpp : Fix compile * leland.cpp : Fix compile(again) * leland.cpp : Fix sound command * leland.cpp : Fix error * leland.cpp : Background is tilemap; Accurate this and reduce unnecessary things
* Revert "- Removed MACHINE/SOUND/VIDEO _START/_RESET macros. This has the ↵ Vas Crabb2018-05-166-34/+34
| | | | | | | | | | | | side effect of making machine-config overrides of these much" This reverts commit c83e2a853d4e1643fcc85b68ada3c6f7f33adea4. Revert "fix compile. (nw)" This reverts commit a259ba3e366f442a22a9341755ff58163869860c. GCC is being bad and allowing invalid C++ that other compilers reject.
* - Removed MACHINE/SOUND/VIDEO _START/_RESET macros. This has the side effect ↵ MooglyGuy2018-05-166-34/+34
| | | | | | of making machine-config overrides of these much uglier, but this is intended to discourage ongoing use, and will be gradually eliminated.
* proposal: move z80daisy* to devices/machine (#3572) Patrick Mackinlay2018-05-152-2/+2
| | | | | | | | | | * proposal: move z80daisy* to devices/machine Seems to me this is a machine, not a CPU? Main reason was to stop the Z80 CPU from being dragged into systems that don't have one just because they use a Z80 family peripheral. * missed this one (nw) * missed a spot (nw)
* emumem: Rename direct_read_handler to memory_access_cache. Parametrize the ↵ Olivier Galibert2018-05-111-2/+2
| | | | template on more information (data width, endianness) to make it possible to turn it into an handler cache eventually, and not just a memory block cache. Make it capable of large and unaligned accesses. [O. Galibert]
* dsp16: fix condition mask in disassembler (nw) Vas Crabb2018-05-0939-102/+123
| | | | (nw) remove more MCFG macros and make speaker config more explicit
* work around assert on validation (nw) Vas Crabb2018-05-081-1/+2
|
* Add support for custom device constructors when replacing devices. Vas Crabb2018-05-0851-158/+123
| | | | | | | | | | Current syntax: MCFG_DEVICE_REPLACE(tag_or_finder, TYPE, ...) Next-generation syntax: TYPE(config.replace(), tag_or_finder, ...) (nw) Kill off some more low-value macros that aren't needed any more, and get rid of the token-pasting voodoo and casts in the discrete sound macros.
* (nw) checkpoint since Midway SSIO sound is fixed - periodic interrupt ↵ Vas Crabb2018-05-073-8/+9
| | | | doesn't support derived clock, kill off some more low-value macros, add a validity check, fix changes to Okim M6295 pin 7 in vgmplay
* (nw) misc follow-up Vas Crabb2018-05-065-9/+9
| | | | | | | | | | | | Fix MT06964 Fix µPD7759 class hierarchy, and reset callback before resolving it (fixed assert in Sega C2) Remove some more low-value device add indirection macros, default some more clocks Make cards inherit clock from slot by default
* Streamline machine configuration macros - everyone's a device edition. Vas Crabb2018-05-0696-1156/+1243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start replacing special device macros with additional constructors, starting with ISA, INTELLEC 4 and RS-232 buses. Allow an object finder to take on the target of another object finder. (For a combination of the previous two things in action, see either the INTELLEC 4 driver, or the Apple 2 PC Exporter card. Also check out looping over a device finder array to instantiate devices in some places. Lots of things no longer need to pass tags around.) Start supplying default clocks for things that have a standard clock or have all clocks internal. Eliminate the separate DEV versions of the DEVCB_ macros. Previously, the plain versions were a shortcut for DEVICE_SELF as the target. You can now supply a string tag (relative to current device being configured), an object finder (takes on the base and relative tag), or a reference to a device/interface (only do this if you know the device won't be replaced out from under it, but that's a safe assumption for your subdevices). In almost all cases, you can get the effect you want by supplying *this as the target. Eliminate sound and CPU versions of macros. They serve no useful purpose, provide no extra checks, make error messages longer, add indirection, and mislead newbies into thinking there's a difference. Remove a lot of now-unnecessary ":" prefixes binding things relative to machine root. Clean up some miscellaneous rot. Examples of new functionality in use in (some more subtle than others): * src/mame/drivers/intellec4.cpp * src/mame/drivers/tranz330.cpp * src/mame/drivers/osboren1.cpp * src/mame/drivers/zorba.cpp * src/mame/devices/smioc.cpp * src/devices/bus/a2bus/pc_xporter.cpp * src/devices/bus/isa/isa.h * src/devices/bus/isa/isa.h * src/devices/bus/intellec4/intellec4.h
* Make MCFG_DEVICE_ADD and callable device types more flexible: Vas Crabb2018-05-0421-111/+104
| | | | | | | | | | | | | | | | | | | | | * Allows defaulted clocks (see subtle example with vboy) * Allows additional constructors (see RS232 port in tranz330) * Allows use of device finder in place of tag in MCFG_DEVICE_ADD * Requires out-of-line destructor for devices using incomplete types * Requires XTAL or explicit u32 for clocks for devices with private types Devices must still define the standard constructor. When writing additional constructors, be aware that the constructor runs before device_add_mconfig in the context of the existing device, not the new device. See osborne1, zorba, tranz330, and vboy for examples of this in use. Compilation is a bit slower, but this is temporary while refactoring is in progress. Eliminated the need for MCFG_SOUND_ROUTE_EX. Removed macros from slot option configuration - they just obfuscated code and slowed it down with needless dynamic casts, but didn't actually simplify it.
* namco, polepos: Clean up some line write handlers (nw) AJR2018-05-011-2/+12
|
* Route sound relative to current device. Vas Crabb2018-05-019-49/+49
| | | | | | | | Also, look Ma - no magic prologue! Slot card additions run in the context of the slot itself, which isn't entirely intuitive. Slot configuration needs a bunch of other cleanup anyway.
* Set finder tag relative to current device being configured rather than Vas Crabb2018-04-304-6/+6
| | | | | | | | | | | | | | the finder's owner. This meand you no longer need to care about the your relationship to the object being configured and a lot of ^ and : can disappear. There's a bit reduction in string pasting in macros from this. Yes, I have to make this apply to devcb etc. as well, but that's a job for another day. There's probably at least one thing broken by this where optional objects are involved. Most things can be solved by just getting rid of the now-problematic ^ and : prefixes.
* Make devopt menu localisable. Vas Crabb2018-04-282-15/+40
| | | | Make machine_config aware of device being configured so owner doesn't need to be passed everywhere.
* cmi.cpp: Separate source file for CMI-01A device (nw) AJR2018-04-272-0/+515
|
* maps: Finish mame/audio and the lone dummy (nw) Olivier Galibert2018-04-205-153/+176
|
* crashrd: added some sound Robbbert2018-04-201-0/+78
|
* remove safe_pc() and safe_pcbase() (nw) smf-2018-04-139-49/+48
|
* -output: Removed legacy output accessors from copsnrob, m79amb, skyraid. ↵ mooglyguy2018-04-043-3/+3
| | | | [Ryan Holtz]
* -output: Removed legacy output accessors from cinemat, bzone drivers. [Ryan ↵ mooglyguy2018-04-042-3/+3
| | | | Holtz]
* Standardise on IPT_CUSTOM for hooking up custom code in PORT_BIT, leaving ↵ smf-2018-04-032-13/+13
| | | | IPT_SPECIAL for the UI. [smf]
* dkong.cpp: Replace MCFG_CPU_VBLANK_INT with MCFG_SCREEN_VBLANK_CALLBACK (nw) AJR2018-03-281-2/+0
|
* Address maps macros removal, pass 1 [O. Galibert] Olivier Galibert2018-03-1435-687/+778
|
* nes_apu: Make it slightly less horrible [O. Galibert] Olivier Galibert2018-03-121-6/+0
|
* Remove first_screen(), nw Ryan Holtz2018-03-111-0/+6
|
* whoops, these should be there (nw) arbee2018-03-031-0/+1
|
* Bad reversion (nw) AJR2018-03-031-1/+1
|
* no disable (nw) arbee2018-03-031-2/+1
|
* Fix various downcasting errors (nw) AJR2018-03-031-1/+1
|
* es5510, taito_en Updates (#3284) cam9002018-03-032-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * es5510.* Updates : Add notes Fix dram read/write Convert gpr, instr, dram into std::unique_ptr Add save states Minor cleanup taito_en.* Updates : Add notes Move imperfect_features() into es5510.h Verify ESP Input clock/output channels(from GunBuster Schematics, same in other PCBs?) Add m_bankmask instead runtime tag lookups * es5510.h : Add notes * es5510.h : Fix compile * es5510.h : Compile fixes * esqpump.cpp : Split ES5506 case of interface, Add imperfect_features Because it has not perfectly emulated esqasr.cpp, esqkt.cpp : Add esqpump for es5510 interface taito_en.h : Restore imperfect_features Because sound emulation has still not perfect * es5510.h : Moved imperfect_feature into esqpump.h from this, Add notes * Revert "Moved imperfect_feature into esqpump.h from this", Because the current ES5510 core still has emulation issue * esqpump.cpp : Cleanup unused m_otis/m_otto, Convert e[0x4000] into std::unique_ptr if used * Fix compile * esqkt.cpp : Fix company tags
* Oops (nw) Olivier Galibert2018-02-223-4/+4
|
* de-staticify initializations for mame/includes and mame/audio (#3256) wilbertpol2018-02-2222-108/+71
|
* backport lots of cleanup from WIP branch (nw) Vas Crabb2018-02-191-26/+22
|
* taito_en.cpp: Regression fix (nw) AJR2018-02-181-2/+3
|