diff options
Diffstat (limited to 'src/devices/sound/va_eg.h')
-rw-r--r-- | src/devices/sound/va_eg.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/devices/sound/va_eg.h b/src/devices/sound/va_eg.h index 29675145810..66bf8a9c99e 100644 --- a/src/devices/sound/va_eg.h +++ b/src/devices/sound/va_eg.h @@ -17,6 +17,16 @@ // - Start decay: rc_eg.set_r(decay_r).set_target_v(sustain_v); // - Start release: rc_eg.set_r(release_r).set_target_v(0); // +// The set_*() methods expect a monotonically increasing machine time, and will +// assert()-fail if that's not the case. +// If a single instance is used by multiple CPUs, this requirement can be met by +// calling set_*() from within timer callbacks invoked with: +// machine().scheduler().synchronize(timer_expired_delegate(...)). +// See src/mame/moog/source.cpp for examples. +// +// Depending on the details of the multi-CPU system being emulated, additional +// synchronization mitigations may be warranted, such as add_quantum(), +// set_perfect_quantum(), etc. class va_rc_eg_device : public device_t, public device_sound_interface { public: |