The basis game engine on Ruby Runner is now functional. The rubies and stones now fall, and can even slide sideways. They sometimes slide when they shouldn't, but I should be able to fix that. My original design intention had been to use the LSB of each character code to indicate whether the character was "slippery", but some temp character codes generated for moving items have the bit set when they shouldn't, which messes things up. I think I'll have to simply use a lookup table to allow each character to be declared either "slippery" or not.
Here are a couple of screen shots.
And here's the code itself. Difficulty switches control speed; the B/B setting is the second-fastest. Reset freezes the flicker, and Select does a crude restart [game presently does not maintain sync during restart since I just JMP ($FFFC)].
Incidentally, the monster's AI is different from other games. If it can go straight, it does. If the spot to the left is vacant, it turns left (sitting still while it does so). Otherwise it turns right (again, while sitting still).
I would appreciate feedback from anyone who's tried this game on the CC2.
(EDIT) Rel4bin should fix some of the slipperiness problems; also allows the player to collect rubies and push rocks. Physics are a little different from a certain game by First Star Software, but this isn't supposed to be a clone of that.