836d4fbc21Update the readme.
master
Jeremy Rand
2021-07-26 23:29:07 -0400
78d451657eIssue release 2.7.
2.7
Jeremy Rand
2021-03-17 22:48:01 -0400
b477317279Some fixes to the save option upgrade code and mark this as a beta build.
Jeremy Rand
2021-03-15 00:37:47 -0400
8bb8f4511bDo not set the high bit of the read character to indicate that the apple key(s) are held down if the high bit is already set.
Jeremy Rand
2021-03-12 00:38:54 -0500
3861bfc00cAdd the option to change the keys used to navigate the gem board.
Jeremy Rand
2021-03-12 00:14:05 -0500
ab895a6d88Update README to reflect the new release.
2.6
Jeremy Rand
2020-05-28 22:37:56 -0400
8a7c234e61Implement a series of fixes for Mockingboard speech support based on feedback from TomCh. Much of this is actually changed merged from the Mockingboard detection code from TotalReplay (also feedback from TomCh). Bump the version number to 2.6 to prepare for the next release.
Jeremy Rand
2020-05-28 22:37:14 -0400
bc1cbc975cFix an off by one error found by TomCh in the speech code which lead to the beginning of the next speech phrase to be played. This is why "excellent" sounded more like "excellent-ay". Worse, it would lead to the 5 bytes after the phrase "incredible" to be treated like speech data and who knows what that did.
Jeremy Rand
2020-05-04 23:07:02 -0400
e21c7375f6Ensure that the game hint is set correctly even after loading a new level. The key is to check for an "end of game" condition at the top of the main game loop. Unless there is a bug in the "next level" code, it will never been the end of the game when the next level starts. But it is the end of game check which also sets the hint square which is the first square it can find with a valid move.
Jeremy Rand
2020-05-03 23:04:25 -0400
1d5eb0a636Bump the version up to 2.5.
2.5
Jeremy Rand
2020-03-30 23:35:32 -0400
d8ec0349c5Add a comment about the problems detecting the //e card from get_ostype().
Jeremy Rand
2020-03-24 23:54:14 -0400
0a5c8b5fe3Detection of the //e card is buggy in the cc65 runtime so implement my own detection of this HW to workaround the buggy double lores implementation.
Jeremy Rand
2020-03-24 02:06:45 -0400
49ccd2bfdcAdd code to handle buggy double lores HW on the Apple //e card for the Mac. Apparently it doesn't handle the colour shifting that is required in the aux bank on other Apple // HW.
Jeremy Rand
2020-03-23 23:28:28 -0400
d3d97db1f6Only show the "enable/disable mouse" option if a mouse is actually present. Force the mouse option on when the options file is upgraded to the latest version. Allow mouse and joystick controls to co-exist. In past versions, the mouse interrupts messed up the joystick measurements but those are now done with interrupts disabled so that isn't a problem now. With this change, the mouse behaves like the mockingboard - it is auto-detected and just used but can be disabled if the user does not want it enabled even though present on the system.
2.4
Jeremy Rand
2020-03-09 22:59:38 -0400
20ad7dda1cAdd 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.
Jeremy Rand
2020-03-04 22:23:09 -0500
72fc265e5aFix the mouse interrupt based VBL for the //c and //c+. This used to work under cc65 v2.13.3 but when I moved the codebase to cc65 v2.17, the mouse driver interrupt handler changed. It used to call the "show" callback routine when handling the interrupt. In v2.17, it stopped calling "show" from the interrupt handler and instead called a new "draw" callback. Because the "show" callback was not being called, the game would wait forever for a VBL interval on the //c and //c+. This fixes the problem by setting the "draw" hook to my VBL callback on the //c and //c+.
2.3
Jeremy Rand
2020-02-26 22:36:42 -0500
2c981b6f1dDo not turn on joystick control by default on first launch. Keyboard and mouse are the primary interfaces and joystick is just an option which can be turned on (but is a bit weird so not on by default).
2.2
Jeremy Rand
2020-02-20 22:16:03 -0500
7955b7a0ecAnd bump the version number.
Jeremy Rand
2020-01-30 22:57:32 -0500
7b7847d391Ported some mockingboard detection code from Total Replay into the startup. If there are no game options saved, then it tries to detect a Mockingboard and use it automatically. No detection for a speech chip yet (although that may be coming and if so, I will port that in also).
Jeremy Rand
2020-01-30 22:56:47 -0500
c67874ca74Total Replay would like a jump to $100 when the game quits. This change should do that. The version number also got bumped too 2.2a2.
Jeremy Rand
2020-01-29 22:02:39 -0500
879030f4ffUse uppercase for the file names because that works better with Total Replay. Fix a problem where HISCR is left on after switching to mixed mode. Fix bugs with formatting of the text when saving the game, prompting for the next level and notifying that the end of the game has been reached in mixed text mode.
Jeremy Rand
2020-01-29 00:31:19 -0500
74e22c1854Update the README file.
Jeremy Rand
2020-01-24 21:53:59 -0500
e8783b019bAdd 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.
2.1
Jeremy Rand
2020-01-24 21:46:51 -0500
34e320a605Make the project clean of 65c02 instructions. This should let this run on an unenhanced //e.
Jeremy Rand
2020-01-22 23:31:42 -0500
d0daa023d8Update the project template again to include the output products.
Jeremy Rand
2019-08-08 23:50:21 -0400
140f55a213Fix minor bug from the build engine.
Jeremy Rand
2019-08-08 22:58:25 -0400
0db89da22cUpdate to the latest build engine release.
Jeremy Rand
2019-08-07 22:58:54 -0400
6d4ae62b77Fix problems related to moving to cc65 2.17.
Jeremy Rand
2018-10-21 14:13:58 -0400
f619aa0313Add support for cc65 2.17.
Jeremy Rand
2018-10-17 23:13:12 -0400
87819667beUpdate the build engine to support capturing build errors in Xcode itself.
Jeremy Rand
2018-06-25 22:58:40 -0400
a608ddbe8fRemove build files which snuck in to git.
Jeremy Rand
2018-06-19 23:10:21 -0400
7d75ae8dccUpgrade to the new build engine.
Jeremy Rand
2018-06-19 23:07:49 -0400
a6750230daUpdate the readme file.
Jeremy Rand
2016-12-24 01:54:17 -0500
47c563e815Update the readme file.
Jeremy Rand
2016-12-24 01:53:35 -0500
1f24457a8aSay "good", "excellent" and "incredible" on long chain reactions.
2.0
Jeremy Rand
2016-12-24 01:49:20 -0500
3d84abcc16Move the the loader system type because the code is getting too big to accommodate anything else...
Jeremy Rand
2016-12-23 23:09:42 -0500
9bca2bc307Modify options to allow enabling mockingboard and speech chip support. Hook up mockingboard and speech support.
Jeremy Rand
2016-12-23 22:51:45 -0500
c9a1c8c9f1Add speech binary messages to the sound file.
Jeremy Rand
2016-12-23 01:05:54 -0500
78986f77a1Add mockingboard sounds.
Jeremy Rand
2016-12-22 00:39:09 -0500
36ed166670Add mockingboard library and start reworking the sound code to prepare to integrate it.
Jeremy Rand
2016-12-20 00:05:41 -0500
7e7d34a878Update the readme file to point to the latest release.
Jeremy Rand
2016-09-12 22:28:54 -0400
f6dba77ec2Bump the version number to 1.2.
1.2
Jeremy Rand
2016-09-12 22:22:41 -0400
7557249a58Back to just a simple .system file and not use a loader.
Jeremy Rand
2016-09-07 17:04:39 -0400
fc5399e329Disable interrupts while reading from the joystick. By doing this, we can have the mouse and joystick drivers both enabled at the same time. Do not disable the mouse driver when mouse input is disabled. Register a "show" callback with the mouse driver and use that as a way to be notified of a VBL interval on the //c.
Jeremy Rand
2016-09-06 22:55:05 -0400
1c173b90b3Bump beta build number. Inline and unroll the draw loop for gem drop to make drawing faster. Fix a problem with detecting matches on gem drop where we might miss some matches.
Jeremy Rand
2016-09-01 00:05:31 -0400
a07d884dd3More adjustments and fixes to the drop animation.
Jeremy Rand
2016-08-31 23:30:00 -0400
42279475faFix some bugs related to drawing partially shown gems in the new draw routines. Improve the logic in the drop animation code to fix some problems with overlapping gems.
Jeremy Rand
2016-08-29 00:58:37 -0400
3fd36836d7Draw gems at every X pixel, not just every other one.
Jeremy Rand
2016-08-26 01:07:57 -0400
82f4d7a1e5Draw gems at all vertical pixels, not just every other one. Clean up magic numbers in the animation code.
Jeremy Rand
2016-08-26 00:05:43 -0400
563258d77aMore code simplification thanks to the more generalized assembly draw code.
Jeremy Rand
2016-08-25 23:35:30 -0400
db767afb5dMerge remote-tracking branch 'origin/master'
Jeremy Rand
2016-08-25 23:02:23 -0400
4c01949d0bModify the project to index the code, add the cc65 includes and workaround the problem with __fastcall__ attribute which the native Mac compiler does not understand. Xcode should now do a better job of syntax highlighting, code completion and finding syntax errors before building.
Jeremy Rand
2016-08-25 23:02:14 -0400
ddbc73256fMore updates to the assembly draw routines.
Jeremy Rand
2016-08-25 22:45:03 -0400
b16e26ca02A bit of re-work of the assembly drawing routines.
Jeremy Rand
2016-08-25 20:03:04 -0400
fae32b84f9Fix a problem on the GS where the messages on the bottom four lines in mixed text/graphics mode ended up being displayed over the graphics because the text window was setup incorrectly. Move the mouse to the square if the user jumps to another square using keyboard arrow keys or jumping to a hint.
Jeremy Rand
2016-08-24 01:18:19 -0400
4ecae7ea50Bump the beta version number. Change the colour of the score bar on the right side of the screen. Add a new machine API and put the machine specific aspects of VBL in there. Slow down the CPU on the GS on launch and restore the speed on quit. Fix a problem where the "next level" text wasn't displayed correctly on the GS for some unknown reason.
Jeremy Rand
2016-08-23 20:23:26 -0400
ac41acedfcAdd a version number to the splash screen.
Jeremy Rand
2016-08-23 01:06:14 -0400
7d2b60f327Clean up the clear gem animation so it uses a loop instead of nasty copy/pasted code.
Jeremy Rand
2016-08-23 00:47:24 -0400
229ed4dac6Fix problem which prevented options from saving correctly. Clean up the mouse poll function to make the mouse control better.
Jeremy Rand
2016-08-22 23:47:29 -0400
82cae1f613Add the ability to set options in the game and save/load those options. Some general code cleanup.
Jeremy Rand
2016-08-20 00:08:29 -0400
7995aefa4fAdd mouse support.
Jeremy Rand
2016-08-19 00:08:38 -0400
cb1ae69c00Add unique sounds when gems explode, when a gem is starred and when a special gem is created. Tweak the appearance of a starred gem.
Jeremy Rand
2016-08-17 00:07:00 -0400
3036ef7826Update the read me file.
1.1.1
Jeremy Rand
2016-07-26 01:31:14 -0400
27d1e1c314Fix double lo-res colour problem. Improvements to instructions and get open apple key working. Fix a problem where the blue gem was not being generated from the random gem routine.
Jeremy Rand
2016-07-26 01:26:24 -0400
6d4a189205Some project cleanup.
1.1
Jeremy Rand
2016-07-24 18:32:45 -0400
1c8ac53212Add Quinn's mouse driver source.
Jeremy Rand
2016-07-24 18:31:09 -0400
7c3a9a17adAdd initial joystick support.
Jeremy Rand
2016-07-24 18:22:37 -0400
72cc4e138fFix the screenshot.
Jeremy Rand
2016-07-23 09:58:43 -0500
2f26055080Try again to get the screenshot in the readme.
Jeremy Rand
2016-07-23 09:53:41 -0500
b803535cbcAdd a screen shot in the readme
Jeremy Rand
2016-07-23 09:52:23 -0500
fd8b2a80fbAdd a link to the disk image in the readme file.
Jeremy Rand
2016-07-23 09:40:46 -0500
cd1f987206Add a readme file.
1.0
Jeremy Rand
2016-07-22 18:08:35 -0500
3cd2430203Add some sound to the game.
Jeremy Rand
2016-07-22 17:18:15 -0500
45688cb6baAdd gem drop animation.
Jeremy Rand
2016-07-22 16:45:15 -0500
f66715e9d2Add animations for square swaps.
Jeremy Rand
2016-07-22 14:48:49 -0500
b595c11bc0Explode star gems in sequence during the animations.
Jeremy Rand
2016-07-22 13:19:36 -0500
1dcaf783f6Add animations for clearing gems. General code cleanup.
Jeremy Rand
2016-07-22 12:04:47 -0500
49be2a9e50Add star animations.
Jeremy Rand
2016-07-22 10:43:18 -0500
a9fd3c23a6Only check for no more moves after a move has been made.
Jeremy Rand
2016-07-22 10:02:25 -0500
66e6295cf7Add support for saving and loading a game in progress.
Jeremy Rand
2016-07-22 00:11:36 -0500
b1716ce5eeImprove the game over screen. Add a level up screen. More fixes to basic game mechanics.
Jeremy Rand
2016-07-21 23:45:07 -0500
eb0e550c25Display an indication of the score on the right hand side of the screen. Proceed to the next level when the score maxes out. Make each level harder than the last. Lots of fixes to basic game mechanics.
Jeremy Rand
2016-07-21 14:33:31 -0500
3573f8e9d4Add the ability to see the star state of a gem.
Jeremy Rand
2016-07-20 23:55:29 -0500
2b92b2684aAdded most of the support for dynamic changes in the game. Step through the changes for now to debug.
Jeremy Rand
2016-07-20 23:39:06 -0500
79609ebe86Fix bug in match finding algorithm.
Jeremy Rand
2016-07-20 20:17:17 -0500
b91c015eddStart building the game logic and the UI.
Jeremy Rand
2016-07-20 19:53:52 -0500
ecfaa194ebInitial commit for an Apple // game based on Bejewelled.
Jeremy Rand
2016-07-20 14:35:15 -0500
e50e057406Initial Commit
Jeremy Rand
2016-07-20 08:17:37 -0500