To break the silence, I'm in need of a spot of advice...
Back in the Eighties and inspired by Kevin Edwards' games programming series in TMU, I started a project to produce a version of Exidy's Circus arcader for the Beeb. I never actually got very far and at that time wasn't confident enough to go all-assembler so I was jumping in and out of Basic depending on what would suffice. I think I only managed to get about four balloons moving with a crude bouncing clown and eventually decided that hardware was more my thing
In recent times I've been following all the excellent discussions on RS and armed with this new and inspiring knowledge, I decided a little while ago to rekindle the project. I only had some yellowed paper listings and some design notes from my first attempt so I had no choice but to start from scratch but now with a few years programming skills behind me (mostly low-level) this was probably no bad thing. I originally got hooked on Exidy's game through a chance encounter with a cabinet in a hotel foyer although looking at it now (
e.g.) I'm not sure why - maybe it was because I knew it was built on 6502 based hardware

. The original Exidy game is pretty basic so I've added some new gameplay ideas and features but it's still a just a straightforward arcader so don't get too excited!
Anyway, I've pretty much got the basic game engine together and in fact I have several versions which contain permutations of all the game’s features which I just need to bring together into something that constitutes the full game. I did drop hints to Dave about this ‘
hardware control project’

a long time ago but I didn't want to do a running development on here because I worry that people will have got bored with the game before it makes it to release! Therefore, I don't plan to drop any playable demos along the way, just the final game when it’s finished. However, because I want a spot of expert input, I've made a very short video of the core game theme (without any of my ‘new-to-Circus’ features) so that any questions I have will (might) make sense. Note that the demo build is deliberately sparse and does not include the backdrop, side-jumps, score, lives etc. etc.
The first and most important question then is, as usual, concerning flicker. I am using the standard (but unadjusted) vsync interrupt method but due to the main ‘action’, i.e. the balloons, being in the top third or so of the screen, this method isn’t really appropriate and I think I need to use the timer delay method to have an interrupt just below the blue balloon row? I would then hopefully be able to move the balloons first and before the scan comes round again.
Am I right in that assumption and if so, how do I do it? I have looked at Rich’s description elsewhere on here but can’t quite get my head around how I actually implement it and I don’t quite get what actually does what. For example, does the vsync interrupt then just set the timer and do nothing else? A kind of layman’s explanation in relation to this game but coupled to Rich’s framework code would be very helpful. Rich…?
To help the clever people come up with the best anti-flicker method for this game, I have also included three screen shots which show the vsync code time usage by the temporary addition of Rich’s famous colour changer at the start and end of the IRQ code. The three shots show the decreasing processing needed as the ballons are burst. There’s also a static screenshot without said coloured timer to show the basic layout of the screen.
Any thoughts, comments, criticisms, advice etc. welcome
(
Apologies in advance – I’m at a wedding tomorrow and then away for a week from Monday so if by any chance I don’t get chance to respond to any suggestions or questions in the short term, thanks very much and I promise I will be back!)
The video is
here and the screenshots are below...
Attachment:
clowns screenshot.JPG [9.08 KiB]
Downloaded 614 times
Attachment:
clowns vsync time 1.jpg [5.62 KiB]
Downloaded 614 times
Attachment:
clowns vsync time 2.jpg [2.34 KiB]
Downloaded 614 times
Attachment:
clowns vsync time 3.jpg [2.12 KiB]
Downloaded 614 times