Previous Page > Software index > ja invaders
Archive Search  

JA Invaders

Full title JA-invaders
Date of release 1983 / 2017
Publisher P Marshall
Producer / Author(s) P Marshall
Memory 16k
Type Game
Cost : Never sold

A space invaders clone for the Jupiter Ace microcomputer. This is my attempt to rewrite a game that I orginally wrote when I was a kid. It's a clone of a clone.

Unfortunately the game will not run on an unexpanded Ace as it weighs in at about 5K. Forth and machine code are supposed to be fast and compact but mine, not so much.

The original game was written partly in Forth and partly machine code. An unusual design feature is that the player ship was able to move through all pixel positions whereas the invaders moved through character positions. There is something dishonest about having the player work in a different resolution to the invaders but for some reason it was important to me back then and I have to say, I do like the effect now. The original game had sound but this version does not (mostly because xAce does not emulate sound). The original sounds (or shall we call them beeps?) would have been short bursts as making beeps was not a background task and would have used up precious cycles.

If you want to alter the game, be aware that the machine code routines defined by the hex create sequences refer to the variables defined early on in the source code and to some of the other machine code routines. So, avoid redefining anything up to and including the machine code routines. Also, some of the constants are restated in the machine code so changing these values will not be propogated to the whole code. Other than that, changing the code after the machine code routines should be fine.

If you *really* want to alter the game, then you will want to have a development environment that allows you to easily alter the machine code routines, the sources for which are in the asm directory (my younger self may have accepted the idea of hand editing machine code but that's not going to happen today). My operating system of choice is Debian and that reflects in the tools I have used to build the machine code sequences. I have used the imperfect technique of using addresses ED00 upwards (but under ED40) as place markers for variable addresses as these are not valid Z80 opcodes. The routines in the helpers directory allow these assembly source code files to be transformed into a format that can be added to the Forth source code and perform the ED variable substitutions.

To load the game enter 'invaders' then PLAY to run.


Z left
X right
Space fire

image image


ja-invaders [JA073] [CRC32 crc32-17bf1c19] | Distribution Permission Allowed *

Click here to go back