Around the beginning of October, I started a Hybrid BASIC Jezzball game for the TI-84 Plus C Silver Edition and Doors CSE. For those not familiar with Jezzball, it's an extremely addictive arcade/puzzle game from the Microsoft Entertainment Pack (MSEP) for Windows 95. I used to have the most fun with that around 5th grade, and although there is one TI-83+ ASM version, it has poor reviews. There are no color versions. Anyway, I started a color version, but soon ran into speed problems. The screenshots below shows the current state, without the ability to remove the line-in-progress when a ball hits it, and with poor behavior when a ball gets trapped in a small space (please pardon the graphical glitches; they are jsTIfied's screenshotter's fault):

I therefore decided that I would make a version in Assembly, and that I might as well also submit it to the current Omnimaga programming contest if I can get it down in time. To further challenge myself, I'm trying to use the same source code to build both a color and monochrome version of the game. Here's as far as I've gotten it so far, with a crystal-based interrupt for consistent ball movement, a cursor you can move with the arrows and flip with [ALPHA], and a debug-mode key of [+] that lets you advance levels. It also has the key and structure framing for a main menu, but no graphics.

Edit: And if you want a very rough idea of what the color version looks like, imagine that the left half of the screen here covers the entire screen:

Jezzball will make it on make calc, just make it no-shell since my friends don't understand how to use shells wisely. B&G FOREVER!

Pretty sure it uses DCS libraries, so anyone wanting to play will need DCS at least run and installed. It has the Homerun feature, which means they don't need to go through the shell to run it, they can do it normally from the prgm menu.

Jezzball will make it on make calc, just make it no-shell since my friends don't understand how to use shells wisely. B&G FOREVER!

I don't know what B&G is, but this will definitely requires Doors CS 7 on the monochrome calculators and Doors CSE on the color calculators. I think you need new friends; it's not exactly hard to press [Apps] and choose Doors CSE.

Caleb: Thanks, that's my goal.

tifreak8x: Yeah, I think I'm going to scale down both the grid pieces and the ball from 12x12 to 8x8 on the CSE. Thanks for the compliments and suggestion.

tr1p1ea: It's the first time I'm trying anything of the sort, so I'm doing my best to make it stay relatively sane and readable.

*bump* Between last night and this morning, I wrestled with and implemented a fast ball-checking and "flood"-fill algorithm. The balls don't bounce off the filled areas yet, but the fill acts correctly based on ball position. Next up is getting the balls to bounce off the fills, then getting the balls to be able to cancel fills. The simultaneous 84+CSE version is also working, but there are some graphical glitches with the fill, so I didn't screenshot that yet.

This looks fantastic! Is it still having issues with the cursor staying in the screen spot after it moves, or is that an emulator glitch?

The cursor glitches are the result of glitching ASM code, not glitching Javascript code. I'm planning to get more of the gameplay in place before I worry about that, but it'll get done eventually. I also need to do some debouncing / repeat control on the cursor, because it's difficult to flip orientations and to position it precisely. Of course, if I want to get this working for Omnimaga's contest, I have exactly 4 days and 8 hours left.

I'm an hour early to be technically allowed to do this, but anyway, *bump*. I have implemented additional various facets of the rules and gameplay mechanic, including:
1) Balls hitting an in-progress wall will cause that half of the wall to be removed and erased.
2) A life is lost each time half a wall is removed, and if you lose as many lives as the level has balls, you lose
3) Walls that are created over ball (this is a subtly different case than (1)) cause the same erase and life decrement
4) The bounce/collision code for edges and fills now covers more corner cases.
5) The cursor can no longer run off the edge of the screen

I think the smaller grid looks better, as it will allow players to advance a bit further a little more easily. Looks fantastic overall.

Thanks to both of you! Here's the current status, with score/level/lives display, a cleaner Game Over screen, and a main menu. There are still plenty of in-progress things, including the display of the main menu and what looks like a pair of subtle bug with wall removal, but it progresses smoothly:

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.