Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
As a quick little side project, I've started porting my TI-84+CSE port of Movax's Spaze Invaders over to the newer TI-84+CE. This shouldn't take too long Smile

JamesV wrote:
As a quick little side project, I've started porting my TI-84+CSE port of Movax's Spaze Invaders over to the newer TI-84+CE. This shouldn't take too long Smile


The CSE looks good, so the CE version should Wink
I'm looking forward to see progress! Very Happy
It's coming along pretty quick - hopefully I can have it finished by next week.

This looks great, James! What has been the hardest part of porting it so far? Were you able to use some of the sprite and other graphics routines you've been putting together for your other TI-84+CE projects?
Sounds (and looks) pretty awesome! I can't wait to mess around with it Smile
KermMartian wrote:
This looks great, James! What has been the hardest part of porting it so far? Were you able to use some of the sprite and other graphics routines you've been putting together for your other TI-84+CE projects?
I haven't really had too many difficult obstacles to overcome, given that I have been able to mix and match between other routines that I'd written for Snail Maze, AB5 & Thunderbirds. Sprite routines are fairly simple for Spaze Invaders as there is no clipping required, and masking is a lot easier to handle on the CE than on the monochrome calculators. In actuality, I've taken routines from these other projects and probably streamlined them a bit, so afterwards I'll take these updated versions back to the other projects Smile

Given the much faster processor, I'm able to store sprites as 8x8 4bpp and scale them up to 16x16 8bpp on the fly, which has reduced the data size somewhat. The font set uses only 7 bytes per character, as they're stored as 1bpp, and the font colour is simply set before the "printString" routine is called.
According to your website, you released it tomorrow. Nice! It's really fun. Very Happy
Dudeman313 wrote:
According to your website, you released it tomorrow. Nice! It's really fun. Very Happy
Heh, well here in Australia, it already IS tomorrow Wink But yes it's now available on ticalc.org, and it's pending in the Cemetech archives.

Thanks! I can't really take the credit, the game design is all simply ported from Movax's TI-83 version, I just made it more colourful Smile
Quote:
Evil aliens have come to earth because they're out of hamsters on their
planet and therefore plan to kidnap every single little hamster on
earth. You're Harry Hamster and your mission is to save your friends
from the malevolent aliens. You can't nuke your foe this time, use your
laser instead. The aliens also plan to kidnap the scriptwriters and the
director of X-Files, but don't bother about that.


The story's quite interesting... Razz
There is a bug in the current release version: if you are using Cesium and you have prgmSPAZE "hidden", the game will crash on exit due to an issue with the high score saving. I should have v1.0.2 uploaded in the next 24-48 hours with a fix for this - sorry for anyone who has been affected!
I'm curious how that actually happened. Does Cesium not do writeback by default and you have to handle it yourself?
elfprince13 wrote:
I'm curious how that actually happened. Does Cesium not do writeback by default and you have to handle it yourself?

Basically. It's up to the program to perform this, as I see it as a rather annoying feature myself because of SMC, but that is just me. Razz
MateoConLechuga wrote:
elfprince13 wrote:
I'm curious how that actually happened. Does Cesium not do writeback by default and you have to handle it yourself?

Basically. It's up to the program to perform this, as I see it as a rather annoying feature myself because of SMC, but that is just me. Razz
Correct, Cesium doesn't perform any writeback by default, which imo is fine because if the program relied on Cesium for writeback and was executed outside of Cesium, then the writeback wouldn't happen.

The crashing problem was that I didn't put in a clause to handle _chkFindSym not locating prgmSPAZE. So if the program is hidden, it was doing a _chkFindSym and returning a bad pointer then writing the high score to who-knows-where. Silly / forgetful coding on my part.

I wrote a quick patch over lunch which now searches for prgmSPAZE, failing that it searches for the hidden version, and failing that, just skips doing any writeback to avoid memory corruption. I'll do some further testing tonight to ensure it's all good and if so, upload the update Smile
Perhaps it would be useful to display an error message warning the user that high scores can't be saved if the program can't be found.
elfprince13 wrote:
Perhaps it would be useful to display an error message warning the user that high scores can't be saved if the program can't be found.
The chance of that happening is quite minimal (there would have to be some data corruption on the calculator), but nevertheless, I added in the error message just in case Smile

v1.0.2 with the fix is now available for download here.
I was also thinking of the case where someone had potentially renamed the program for whatever reasons. Smile
elfprince13 wrote:
I was also thinking of the case where someone had potentially renamed the program for whatever reasons. Smile

@James: Yeah, why not just store the contents of OP1 when your program starts (Because it contains the name) somewhere, and then you can save to that location? That would handle all the cases Smile
MateoConLechuga wrote:
Yeah, why not just store the contents of OP1 when your program starts (Because it contains the name) somewhere, and then you can save to that location? That would handle all the cases Smile
As long as this is true for TI-OS, Cesium, DoorsCE, and whatever shells come out in the future, then I could definitely do that. I guess I could have "SPAZE" & the contents OP1 as two names to search for, and failing that, it just doesn't save.
  
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 GMT - 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