Commit Graph

4 Commits

Author SHA1 Message Date
Jeremy Rand
20ad7dda1c Add code from Total Replay to detect the sound chip automatically on startup. This then leads to a complete rethinking about how to save/load the options for the game. It used to ask what slot the mockingboard was in (if any) and whether it had a speech chip. Now, the game should just know this information. So, I turned the first boolean in the save file into an options file version byte and bumped it to "2". The boolean was always true and was kind of a very simple "magic number" to say that the contents was valid. Now it is a version number of the contents. The slot number and boolean for the speech chip is are now each turned into booleans - one to say whether to enable a mockingboard if found and the other to enable the speech chip if found.
This means there are three booleans in the options related to sound now.  The first one enables/disables sound entirely and is default on.  The second is only relevant if the sound is enabled and says "use a mockingboard if present".  Again this is true by default.  Finally, the this says "use a speech chip on the mockingboard if present" and is only relevant if the mockingboard is also enabled.

So, the basic approach now is to default the "best" sound options and auto-detect the sound HW at launch.  The user can then use the options to downgrade their sound all the way to basic Apple // sound or turn off the sound entirely.
2020-03-04 22:23:09 -05:00
Jeremy Rand
9bca2bc307 Modify options to allow enabling mockingboard and speech chip support. Hook up mockingboard and speech support. 2016-12-23 22:51:45 -05:00
Jeremy Rand
78986f77a1 Add mockingboard sounds. 2016-12-22 00:39:09 -05:00
Jeremy Rand
36ed166670 Add mockingboard library and start reworking the sound code to prepare to integrate it. 2016-12-20 00:05:41 -05:00