summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Working now. Original speed: 215%. Split speed: 491%. Ideally should benl-splitfrogs Aaron Giles2020-10-073-11/+13
| | | | able to do this within a netlist.
* Merge branch 'master' into nl-splitfrogs Aaron Giles2020-10-071-150/+0
|\
| * Fix MSVC build Aaron Giles2020-10-071-150/+0
| |
* | Experiment to split each frogs sound into its own netlist. Builds but crashes. Aaron Giles2020-10-075-2/+767
|/
* vicdual: Add frogs netlist. Make sound board interface more general. Aaron Giles2020-10-074-260/+629
|
* brdrline: sound improvements (#7332) beta-tester2020-10-062-268/+146
| | | | | | - cleaned some parts of nl_brdrline.cpp (removed test points) - changed MB4391 function to pow2 to shorten sounds a bit - changed trigger inputs in vicdual.cpp to fit more to the sounds i remember. - moved trigger mapping from vicdual to nl_brdrline
* cinemat: Remove redundant code, move speakers to game drivers Aaron Giles2020-10-062-60/+29
|
* fix compile error due to nested c-style comments by changing some of the ↵ Lord-Nightmare2020-10-051-14/+14
| | | | comment types
* Hook up Borderline netlist, provided by 'beta-tester' (#7328) [beta-tester] Aaron Giles2020-10-054-99/+1902
| | | | | | * netlist: Explicitly trim connection names. * Hook up Borderline netlist, provided by 'beta-tester' * brdrline: Add static solver, using dynamic timestep, update driver flags.
* nl_boxingb: Fix error in formula. couriersud2020-10-031-1/+1
|
* netlist: Fix a net splitting issue with four term devices. couriersud2020-09-301-1/+0
| | | | | | | | | | * Under cirtum circumstances the splitter would create "ghost" solvers consisting of terminals already used in another and complete solver. This may impact all netlist which use opamps and thus is committed early in the cycle. * This commit adds functionality to instruct the splitter code to include terminals which will not create matrix elements into the parsing of net groups for solvers.
* netlist: implement stricter validation. couriersud2020-09-289-9/+37
| | | | | | | | | | | * Devices like BJTs and FETs which are defined but not used will now cause an error. * An unused device will create an additional solver with a singular matrix. - This is adding unnecessary performance overhead. - It complicates debugging because the unused device will cause an arithmetic signal if used with --fperr (nltool). * Fixed all validation errors.
* astrob: Fix slowdown. couriersud2020-09-281-9/+9
| | | | | * Fix a connection error. * Fixed order of PARAM overwrite.
* Fix clang build [-Werror,-Wunused-const-variable] AJR2020-09-282-4/+0
|
* Complete sound modernization of remaining devices. Legacy callbacks and ↵ Aaron Giles2020-09-2874-555/+395
| | | | | | | | | | | | | | | | | | | | | | | | | stream_sample_t removed. (#7297) * a2mcms/coco_ssc/gus/cassette/floppy/8364_paula/laserdsc/s2636/spg2xx_audio/arcadia/channelf/cmi01a/cps3/dai_snd: Update to new stream callbacks * dsbz80/elan_eu3a05/exidy/exidy440/flower/geebee/gomoku/gridlee: Update to new stream callbacks * hyprolyb/lynx/micro3d/phoenix/pleiads/polepos: Update to new sound stream callback * redbaron/segag80r/segausb/seibu/snk6502/socrates/special/svis_snd: Update to new stream callbacks. * tiamc1/turrett/tvc/tx1/vboy/vc4000: Update to new stream callbacks * warpwarp/wiping/wswan/xavix/esq1/istrebiteli/milton6805/pv1000/mega32x/gic: Update to new stream callback * sound: Remove legacy stream support and stream_sample_t * * gomoku/wiping: Remove silly mixer tables in favor of math * micro3d: Remove tiny vectors in favor of fixed arrays * phoenix: Went back to std::unique_ptr array for LFSR * wiping: Fixed the scale factor.
* netlist: Fix astro blaster sonar sound couriersud2020-09-271-3/+22
| | | * Also fix two singular matrices being created.
* Disable SOUND_DEBUG for non-debug builds, and srcclean Vas Crabb2020-09-272-21/+21
|
* audio/gottlieb.cpp: Tweaked Votrax speech frequency settings to better ↵ Scott Stone2020-09-231-1/+1
| | | | match samples/recording for Q*bert.
* mm5837: unify implementations Aaron Giles2020-09-201-49/+5
| | | | | | | * create base mm5837_source device to provide raw output * mm5837_device is based on it * mm5837_stream_device generates a sound stream from it * frequency calculation now computed instead of table-based
* astrob: significant performance increase couriersud2020-09-201-25/+66
| | | | | | * uses all 4 Sonar oscillators * uses randomized resistor values (5% range) * uses frontiers to separate oscillators * improves performance to 340% locally.
* netlist: Move ICL8038_DIP and NE556_DIP to core. couriersud2020-09-174-204/+1
| | | | * Remove code duplication.
* Revert "sound: Improved view interfaces to match usage patterns" Aaron Giles2020-09-171-2/+2
| | | | This reverts commit dc0ede3c90717ed25de0695c555b861f06344f18.
* sound: Improved view interfaces to match usage patterns Aaron Giles2020-09-171-2/+2
| | | | | | | | | | * read/write_stream_views now have an internal index * get/put/add/fill/copy now implicitly use and advance this index * new method reset() can (re)set the internal index * new method done() checks if index is past the end * new method remaining() indicates how many samples remain * get_indexed/put_indexed/etc available for random access * updated all consumers to new interfaces
* cem3394: Major rework Aaron Giles2020-09-152-91/+61
| | | | | | | | * Updated to new stream callback * All calculations are now doing in floating point * External input is now done via an input stream * First attempt at implementing a proper filter -- needs some major work; checking in current state to get some assistance
* cyberbal: Fix SAC communications between 6502 and 68000 (MT 7749) AJR2020-09-151-1/+1
|
* qbert: Better approximation of Votrax frequencies, pending deeper analysis. Aaron Giles2020-09-131-3/+3
|
* taito_en: fix overdriving that caused distortion and pops in previous ↵ arbee2020-09-131-10/+10
| | | | versions [R. Belmont]
* Significant internal changes to sound streams (#7169) Aaron Giles2020-09-1381-195/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Significant internal changes to sound streams: Abstracted buffers of sound data into an internal stream_buffer class, with helper classes read_stream_view and write_stream_view which offer readable/writable "views" into the buffers Internal sound calculations are all done using stream_buffer::sample_t, which is a 32-bit float; existing callbacks are supported through an adapter that converts to/from signed 32-bit integers Improved behavior of dynamic stream sample rate changes to resample a short runway of data to preserve continuity across transitions Created a new stream update callback which passes a std::vector of read_stream_views for inputs, and a std::vector of write_stream_views for outputs Updated core mixer and speaker devices to the new stream update callback Updated the following sound cores to the new stream update callback: ay8910, dac, k054539, msm5205, namco, netlist, okim6295, pokey, samples, sn76496, sp0250, tms5220, tms57002, upd7759, vgm_visualizer, volt_reg Changed existing stream update callback to make inputs explicitly const and the output pointers const as well, since they are re-used across calls; fixed several engines that violated this rule Sound_manager::stream_alloc can no longer automatically connect to a device's sound_stream_update callback; instead, the stream_alloc() on the sound_device_interface should be called; updated many violators of this rule Streams can be created with SAMPLE_RATE_OUTPUT_ADAPTIVE, which dynamically tracks the sample rate of its first downstream output, or with SAMPLE_RATE_INPUT_ADAPTIVE, which tracks the sample rate of its first input Changed resampling to be a separate sound_stream that is invoked as needed, opening the path for selectable resampling implementations Added a flags parameter to the new stream allocation method that allows you to specify a that input streams should not be resampled Exposed stream_input and stream_output classes directly, simplifying access to user gains and stream names Added a simple dynamic compressor to sound_manager to provide nicer results when overdriven sound happens; compression does not affect speaker_report results Improved verbose speaker_report to print a graph of peaks over time More aggressive debugging enabled for now even in release builds (should be disabled prior to next release) via SOUND_DEBUG define in sound.h; report any assertions for fixing
* netlist: move more models into the core. couriersud2020-09-134-28/+16
|
* netlist: Move selected NET_MODELS into the core couriersud2020-09-123-6/+0
|
* s11c_bg.cpp: update comments with more accurate information, and reorder ↵ Lord-Nightmare2020-09-042-12/+15
| | | | header includes to be in alphabetical order [Lord Nightmare]
* tr707, tr727, mks7: Add skeleton MB63H114 device AJR2020-08-302-0/+117
|
* formats: Get rid of more inappropriate use of emu_fatalerror (and fix some ↵ Vas Crabb2020-08-301-3/+3
| | | | spelling issues, etc. while I'm at it)
* rax: Modernize RAM allocation and object lookups AJR2020-08-292-26/+31
|
* es5506.cpp: Updates [cam900] cam9002020-08-272-16/+47
| | | | | | * Correct Taito ES5505 Bankswitching behavior * Sample bank per ES5505 voice is actually taito_en.cpp specific * Move external bank behavior into taito_en.cpp, Add getter for voice index * Add precalculated ES5505 bank table for reduce performance issue, Add getter for CPU
* audio/cinemat.cpp: small cleanup/safety improvement Vas Crabb2020-08-272-44/+44
|
* segausb.cpp: STRUCT_MEMBER allows you to avoid loops and unclutter the ↵ Vas Crabb2020-08-261-21/+16
| | | | source list in debugger memory windows
* Updated netlist licenses to CC0. Various minor adjustments based on PR comments. Aaron Giles2020-08-2539-103/+92
|
* srcclean for 0.224 Vas Crabb2020-08-2312-550/+550
|
* netlist: remove duplicate device definitions. couriersud2020-08-222-2/+2
|
* Sound and other improvements to Sega G-80 games. (#7103) Aaron Giles2020-08-1921-1705/+5794
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sound and other improvements to Sega G-80 games: [Aaron Giles, couriersud] * Added netlist-based sound to Eliminator, Zektor, Space Fury, and Astro Blaster. * Split the Sega Universal Sound Board and Speech Boards into their own separate files. * Improved Universal Sound Board implementation for better accuracy in Star Trek and Tac/Scan. * Wrote netlist-based backend for Universal Sound Board; currently disabled due to limitations in the system. * Wrote netlist-based backend for Speech Board; currently disabled pending future sound system changes. * Implemented wait states and the vector DRAW flag to help improve timing. SP0250 Improvements: [Aaron Giles] * Matched clock divider to real chip measurements. * Fixed behavior when not fed enough data; addresses "gapping" in speech in Sega games. * Implemented accurate LFR noise generator according to real chip measurements. * Added pulse-width modulation DAC output mode for future consumption by netlist. Netlist additions: [Aaron Giles] * Added compile-time option to record nltool-compatible CSV files. * Improved CD4020 implementation. * Fixed CD4053 behavior. * Added 74139 device. * Added TL082 device. 8253 PIT changes: [Aaron Giles] * Added explicit synchronization to all writes. * Cleaned up some timing calculations to avoid double<->attotime conversions.
* sspeedr: new netlist audio implementation (#7081) Colin Douglas Howell2020-08-162-0/+663
| | | | | | | | | | | | * sspeedr: new netlist audio implementation Netlist-based audio implementation for sspeedr (Super Speed Race, 1979) derived from Midway audio schematics, and based on that used for 280zzzap (280-ZZZAP) and lagunar (Laguna Racer) in the mw8080bw driver. The Super Speed Race audio circuits are clearly derived from those games; the biggest difference is the use of a linear feedback shift register for noise generation. * Updated netlist static solvers with recent netlist changes.
* -netlist: Regenerated static solvers, and fixed errors preventing static ↵ Ryan Holtz2020-08-161-2/+2
| | | | solvers from generating.
* -atarittl: Added netlist for Tank. currently runs at about 0.005% of full ↵ Ryan Holtz2020-08-161-2/+3
| | | | speed, unsure why.
* clean up #include stuff, make trampoline constructors protected, restore ↵ Vas Crabb2020-08-161-2/+2
| | | | blank lines between paragraphs in seicross.cpp comment
* mame/audio/cage.cpp: added one missing variable to state saving, should ↵ Ivan Vangelista2020-08-151-0/+1
| | | | address MT07724
* mw8080bw: add lagunar to 280zzzap netlist audio, other tweaks Colin Douglas Howell2020-08-114-238/+268
| | | | | | | | | | | | Added Laguna Racer to the 280-ZZZAP netlist audio driver, with conditional changes to the netlist for the circuitry differences between the two games. Adjust some netlist components that apparently changed from the 280-ZZZAP schematic to production machines. Removed the driver's private MC3340 netlist, using the equivalent one in the netlist library instead.
* -destroyr: Added netlist sound. [Ryan Holtz] Ryan Holtz2020-08-112-0/+326
|
* -flyball: Added netlist sound. [Ryan Holtz, Ivan Vangelista] Ryan Holtz2020-08-112-0/+200
|
* -starfire: Removed MACHINE_IMPERFECT_SOUND flags. Added missing music and ↵ Ryan Holtz2020-08-103-25/+612
| | | | Alert sound effect to Fire One netlist and added Star Fire netlist. [Ryan Holtz, Colin Howell, Aaron Giles]