* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
The opl driver is not finished yet; it sounds pretty awful.
For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
2 reasons:
-no need to keep a list of all known parts
-there is at least 1 bridge (ACC micro 2051) which reports the same
device ID for its various subfunctions; this would require an additional
check in the match function
(keep the old list inside #if 0 in case one of the historical bridges
doesn't report the right class/subclass - I can't check them all)
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
clock past the End of Time.
If time_t is 32 bits, then the "End of Time" is Jan 18/19 2038
(depending on time zone).
This code copes with RTC's past the end of time if time_t is an int32
or less. It just forces the time back to 2037. This will let users
with screwed up clocks to at least boot and function long enough to
set their clocks to something sane.
This kludge is conditioned on an
if (sizeof(time_t) <= sizeof(int32_t))
which will automatically optimize the code out once we switch time_t
to a 64 bit quantity, which should happen well before 2037.
Patch based on code from Michael C. Richardson, with help from
Allen Briggs who pointed out a fencepost error.