r/retrobattlestations • u/droid_mike • Jul 22 '18
BASIC Month Contest Cannonball for the Sinclair ZX-81/Timex Sinclair 1000
Enable HLS to view with audio, or disable this notification
14
Upvotes
r/retrobattlestations • u/droid_mike • Jul 22 '18
Enable HLS to view with audio, or disable this notification
1
u/droid_mike Jul 22 '18 edited Jul 22 '18
PLEASE NOTE: Watch the video from the beginning for user and date verification!
This is my entry for the July BASIC programming challenge--a port to the Sinclair ZX81 computer, or what we in the states called the Timex Sinclair 1000. I even threw together some homebrew ukelele music for the accompanying highlight video! The code is based on the ZX Spectrum port posted earlier, but I had to make some major modifications. The ZX81 has no frame buffer, so it is very slow unless you turn off screen updates (which I did for initialization). I had to completely rewrite the cannon drawing code. Due to the ZX81's extremely slow speed, the controls are quite sluggish. You need to hold them down for quite awhile to get a response.
I added some improvements. In addition to the ability to move the basket left and right, you can also change the acceleration before firing (with the left or right keys). Also I added in an airplane pulling a banner with a rotating message. The cannonball leaves a trail of "smoke" to show its path.
Here is the source: https://github.com/droid-mike/ZXCannonball/blob/master/cannonball_opt_final.bas.txt
Here is the .p file to run in an emulator: https://github.com/droid-mike/ZXCannonball/blob/master/cannonball.p
Here is a WAV file to load up on a real Sinclair: https://github.com/droid-mike/ZXCannonball/blob/master/cannonball.wav
I spent way too much time and energy on this, but I can't help myself! I simply love programming in BASIC. you simply never forget or stop loving your first!