Commit Graph

13 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
e8783b019b Add a build option in the Makefile for a Total Reply build. For a TR build, we have a special quit handler which jumps to a special vector. Also in a TR build, ".tr" is appended to the version number to make it clear it is a TR build. Bump the version number up to 2.1. 2020-01-24 21:46:51 -05:00
Jeremy Rand
34e320a605 Make the project clean of 65c02 instructions. This should let this run on an unenhanced //e. 2020-01-22 23:31:42 -05:00
Jeremy Rand
0db89da22c Update to the latest build engine release. 2019-08-07 22:58:54 -04:00
Jeremy Rand
6d4ae62b77 Fix problems related to moving to cc65 2.17. 2018-10-21 14:13:58 -04:00
Jeremy Rand
f619aa0313 Add support for cc65 2.17. 2018-10-17 23:13:12 -04:00
Jeremy Rand
7d75ae8dcc Upgrade to the new build engine. 2018-06-19 23:07:49 -04:00
Jeremy Rand
3d84abcc16 Move the the loader system type because the code is getting too big to accommodate anything else... 2016-12-23 23:09:42 -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
Jeremy Rand
7557249a58 Back to just a simple .system file and not use a loader. 2016-09-07 17:04:39 -04:00
Jeremy Rand
229ed4dac6 Fix problem which prevented options from saving correctly. Clean up the mouse poll function to make the mouse control better. 2016-08-22 23:47:29 -04:00
Jeremy Rand
ecfaa194eb Initial commit for an Apple // game based on Bejewelled. 2016-07-20 14:35:15 -05:00
Jeremy Rand
e50e057406 Initial Commit 2016-07-20 08:17:37 -05:00