As an early Christmas present, here is my first assembly calculator program - a remake the classic Simon memory game!

- Interface modeled after the full-size Simon handheld toy
- Tones corresponding to each button. These are meant to be the same tones as used in the original game, but there seemed to be a bit of variance between the different models, so the tones are tuned to match the intended tones of the original (also the notes of a bugle - G, C, E, G)
- Score display in the center of the game
- Winning score of 31 like the original, with the same victory sequence

A screenshot of gameplay:

I did my best to keep it as true to the original (1978 release) as I could, but it's not perfect. For one, I did not implement the speedup of the sequence playback (I may or may not eventually do this). If you have any comments or suggestions, let me know. Oh, and feel free to post your high scores. Mine is 21

Download link
My high score is 0 since I didn't download it yet. I hope to download it soon.
That looks great! Nice work on learning assembly; looks like you are learning quite well based on the results. Keep up the good work! Smile
Looks pretty darn good for your first assembly program - well done!
Thanks Mateo and JamesV! Learning assembly has been one of those things on the todo list for a while, so it was nice to finally find enough time to produce something I can actually call my own. Smile I've got a few project ideas in mind after this, so hopefully I will be able to get some work done this Christmas break on something bigger and better. My main interest in this program was getting a feel for how sound works on the calculator, and I'd like to take this further in the future.
Good luck on whatever you may be planning! Smile Just downloaded it and look a look at the source; great work! One thing that I am wondering about though is why you converted your score to a string before displaying it: You could use either _setxxop1 or _setxxxxop1, and then use _dispop1a. Just a suggestion, bcalls in this case I feel are okay. But really other than that, it looks pretty solid! Great work! Smile

EDIT: And sound? Heck, I haven't ever tried that! Nice touch.
The only reason I converted to a string is because I wasn't aware of any other way to do it. DispHL uses large font and I needed small, so I thought I was stuck writing my own code (OP registers are something that I'm still rather unfamiliar with). Thanks for reviewing my code and pointing out the _setxxop1 & _dispop1a routines. I'm not against bcalls either, and this method would have been much easier. Smile

Also sound isn't too bad (at least not one-bit sound like I used here). You just have to flip bits 0 & 1 on Port 0 at certain speeds to get the different notes.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum