FREAX (and some other new bits)
Posted: Wed Mar 06, 2024 4:55 pm
FREAX - Help and notes.
FREAX is a simple Alien shootem-up game that compiles for the unexpanded VIC20, CBM64 & CBM16/+4.
LATEST VERSION (See end of thread for text): (Much improved, most bugs ironed out..)
OLD VERSION: The files in this archive are:
freax.txt - this file.
freax27.s - CA65 compatible 6502 assembler source code.
freax27c64.prg - Commodore 64 version.
freax27v20.prg - VIC20 version.
freax27c16.prg - Commodore 16 or Plus-4 version.
norm/freax27c64n.prg - version with more traditional alien motion. (also versions for v20/c16 as above)
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
When the aliens move, alternate rows move in the opposite directions.
When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is released under the GNU GPL2 licence (see GNU website).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is very compact - if you set EXTRA and SHELTERS to zero, it can build a smaller version.
While it is playable, I intend to add more. However I have decided to release it as-is, since I
dont know when it will be finished. It has a few interesting ideas, so its worth a look.
One little bug is that the alien character under a missile of bomb is not properly redrawn until the
alien moves, which is annoying, and a to-do fix. Also there is no sound yet, and the colour
is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros
selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
Set .define ALT_DIR 0 for "normal" alien motion or 1 for more complex/interesting motion.
(Alternate rows move in opposite directions)
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
(Screenshot: FREAX for VIC20, Score 20, 1st level, 2 lives left.)
For more details, see FREAX.TXT in zip file.
(Edit: Added screenshot, removed ref Vic1001)
FREAX is a simple Alien shootem-up game that compiles for the unexpanded VIC20, CBM64 & CBM16/+4.
LATEST VERSION (See end of thread for text): (Much improved, most bugs ironed out..)
OLD VERSION: The files in this archive are:
freax.txt - this file.
freax27.s - CA65 compatible 6502 assembler source code.
freax27c64.prg - Commodore 64 version.
freax27v20.prg - VIC20 version.
freax27c16.prg - Commodore 16 or Plus-4 version.
norm/freax27c64n.prg - version with more traditional alien motion. (also versions for v20/c16 as above)
To move left/right use keys I,P. hit SHIFT to fire. To exit game hit key X.
When the aliens move, alternate rows move in the opposite directions.
When shooting, shave the "side" aliens first, then try to eliminate all the ones going in one particular direction.
Compiling the source.
---------------------
The source code is released under the GNU GPL2 licence (see GNU website).
FREAX is a "work in progress" - I started it as a little test program for my own 6502 assembler a long time ago.
It is very compact - if you set EXTRA and SHELTERS to zero, it can build a smaller version.
While it is playable, I intend to add more. However I have decided to release it as-is, since I
dont know when it will be finished. It has a few interesting ideas, so its worth a look.
One little bug is that the alien character under a missile of bomb is not properly redrawn until the
alien moves, which is annoying, and a to-do fix. Also there is no sound yet, and the colour
is simple pre-fixed areas. (like the old games when they used coloured tape over a b/w monitor!)
The VIC20 version may be better with a wider screen, say 28 columns.
The single source file comiles to multiple targets, with condition .if .. .endif macros
selecting the code for the right targets.
When Compiling set either IS_V20, IS_C64, IS_C16 to 1, the others to zero.
Note: other target systems not yet done.
Set .define ALT_DIR 0 for "normal" alien motion or 1 for more complex/interesting motion.
(Alternate rows move in opposite directions)
I modified my asm to mostly match CA65. Ensure paths CC65_INC and CC65_LIB are set.
To compile under CA65 set the USE_CA65 flag. I set target system to "none" to kill
request for Segment settings - its a bit of a kludge, and to be honest I coded for my own
assembler, which is a CA65 subset.
(Screenshot: FREAX for VIC20, Score 20, 1st level, 2 lives left.)
For more details, see FREAX.TXT in zip file.
(Edit: Added screenshot, removed ref Vic1001)