I've actually managed to set up a new development environment (old laptop died) and seem to be able to understand and modify my code - which is nothing short of a miracle .
I've moved almost all game logic into assembler including loading of wave and level files (at the moment there will be 5 levels with 6 waves of up to 63 enemies each). I've also concatenated some of the disparate data files into monolithic chunks of data which should speed up loading and mean I don't hit the 32 file limit of the DFS. Looks like the requirement will be for a standard BBC with double sided disk drive.
Gameplay wise there is now a transition of waves (although not levels) and an indication of the level of your tower. I've also fixed the minor screen corruption from the bullets and display which level/wave you're starting. Also I've noticed that my superb design abilities (blind luck) mean that I can move the sprites in all 4 directions rather than just the three I had previously thought which should improve the level layout. I've also got placeholder content for intro and loader.
Things to do in no particular order:
- Complete level logic including clearing out storage areas and allocating starting gold
- Scoring and highscore routine - possibly with a table.
- Sound - this might be a biggie
- Possibly reallocating some of my code to different memory areas to be "nicer" - not sure it's necessary.
- Level design and balance - this will be a considerable amount of work
(Admins - If this thread is in the wrong place please move it)