First post, by ripsaw8080
- Rank
- DOSBox Author
Some games use the FM operators to generate constant (no decay?) sound effects, where the sound continues to be produced indefinitely even though there are no further register writes. This is sometimes done for engine noise in flight simulators, such as Jetfighter 2 and Lightspeed. DOSBox is disabling OPL output after 30 seconds of nothing being written to the registers (from adlib.cpp):
if ((PIC_Ticks-opl.last_used)>30000) {
opl.chan->Enable(false);
opl.active=false;
}
Perhaps this disabling could not only be aware of port inactivity, but also of whether any sound is currently being produced... easier said than done, I guess. It's not an issue of great significance, but it is a bit strange when the droning of the engines suddenly cuts off and then later cuts back on when some other sound occurs.