GALAXO BLAST

An example coding tutorial game for
Lemon 64's "Fun and Games Programming 
in Assembly."

GAME PLAY INSTRUCTIONS

This is a fun little space shoot 'em up
for 1 player only.

You control your space ship using a 
joystick in port 2. Left and Right will
move the space ship. Pressing fire will
shoot out lasers.

MISSION BRIEFING

The galaxy is under attack by hostile
aliens. They are bouncing around ready
to stop anyone that gets in their way.

Your mission is to defend the galaxy 
from those pesky aliens. You can fire 
lasers at them, but they can also shoot
back. For every alien you shoot, you 
will score 100 points and 300 points 
will be added to your score if an alien
explodes. Be warned though, many aliens
will require more than one hit before
they are destroyed. After you shoot a 
whole wave of aliens another set of 
aliens will morph into the screen. 

At the top of the screen is a counter
which tells you how many aliens are 
left before you complete a level. A 
level is completed when the alien 
counter is at 000. For every level you
complete, you will score a bonus of 
1,000 multiplied by the number of lives
you carry. There are 8 levels to 
clear before you can complete the game.
The further you progress, the more 
intense the game will become.

SHIELDS AND EXTRA LIVES

At the start of each level, or after 
losing a life you will be protected 
with a shield. The player ship will be
flashing. After it stops flashing the 
shield has run out and will make you 
more vulnerable to the aliens and their
lasers.

Extra lives are awared at every 10,000
points scored. Also you will be awarded
a shield to temporarily protect your 
space ship. 

LOSING LIVES

Lives are lost each time you get hit by
an alien or its lasers and you don't 
carry a shield. Once all of your lives 
are lost, the game is over.

CREDITS:

Programming, graphics, sound effects 
and music by Richard Bayliss

(C) 2026 The New Dimension

Galaxo Blast is released in the Public
Domain. You are allowed to copy, modify
and share this production. However, 
you are not permitted to reproduce this
game for sales/marketing in digital or
physical form, without permission from
the game author. 

For future productions from TND, please
check out these two web sites

https://tnd64.dreamhosters.com 
and
https://richard-tnd.itch.io

---------------------------------------
THE SOURCE 
(C64)

This is a game, which I have written as
the third part of Lemon 64's games 
programming tutorial "Fun and Games
Programming in Assembly". The D64 
version of this game project consists
of the game which you can run on your 
C64 easy enough. This is to show you 
how the project resulted.

Also on the D64 are two assembly 
source code files and project data
files. The following tools are required
in order to compile these:

+ Turbo Macro Pro V1.2+ by Style
  Get it from: 
  
  https://turbo.style64.org/

+ C64 hardware / VICE with at least 
  516K Ram Expansion setup. The 
  1541 Ultimate 2/Plus, theC64 with 
  firmware V1.6.1, Ultimate 64 or 
  the new Commodore 64 Ultimate 
  supports setting up REU mode.

+ A freezer cartridge/plugin that 
  supports RAM expansion, for example 
  Retro Replay V3.8Q supports it. The
  Super Snapshot might be a good option
  also.
  
+ A couple of compression tools, one 
  of which can link all files into 
  one and another that crunches. You
  could use Sledgehammer V2.1 and 
  Equal Sequence Cruncher V2.2 as 
  featured in Race 'n Smash and 
  Canyon Tank Duel, but for a change
  I used ECA Compactor/Linker V4s and 
  2mhz Time Crunch V5.0.
  
GETTING STARTED

1. Load in Turbo Macro Pro V1.2 REU 
   version. 
   
2. Go into freeze mode on your Retro
   Replay, and then enter the machine
   code monitor. Now load each file 
   manually into memory using the 
   command:

   L "MUSIC/0D00",8,0D00
   L "SPRITES/2000",8,2000
   L "GAMESCREEN/3000",8,3000
   L "CHARSET/3800",8,3800
   L "SFXDATA/5000",8,5000
   L "B.GBLOGO/5800",8,5800
   L "TITLESCREEN/7000",8,7000
   L "SCROLLTEXT/7800",8,7800
   
3. After loading all of those files, 
   type X to exit the machine code 
   monitor and then go back to the 
   C64 screen and then type in 
   SYS 4096*8 to run the assembler.

4. Load in the source code files   
   by typing in 

   BACK ARROW (<-) then E and type in
   GAMECODE.ASM 
   
5. Press <- and 3 to assemble to 
   memory, or use <- and 5 to 
   assemble the target source code
   to disk.
	
6. Do a COLD START (<- then C) to
   clear existing assembly file 
   and then load in TITLECODE.ASM 

7. Assemble the code to memory, or
   assemble the target source code
   to disk.   
   
8. If you have assembled both title 
   screen and code to memory and the 
   game works. Press FREEZE on your 
   Retro Replay or similar, and then
   go to the machine code monitor.
   Save your complete project using:

   S "GALAXO",8,0801,9000
   (End address may be different if it
    is your version of the game with a
	different name).
   
   Alternatively you can use a 
   linker packer to link all the 
   files together and set $37 as $01
   and jump address to $5400.

9. If you have not done so already, 
   use a packer or a cruncher to 
   crunch the game into an executable.
   The jump address for Galaxo Blast 
   is set to $5400, and $01 value is
   set as $37. 

Hopefully that should help you get 
started.   
  
THE SOURCE
(Cross-Development)

As well as the standard D64, I have 
also provided a Cross-Development 
project source file, which can be 
edited in Notepad, Notepad ++ or VSCode
or any other IDE you prefer. You will 
need TMPx, which can be found at 
Style's Turbo Assembler side, as 
indicated above. It is also advisable
that you also have a cross-platform
cruncher such as Dali 0.3.5

Compiling instructions:

Create a batch file which calls a 
path to the cross assembler which you 
are using then save it as BuildIt.bat

Example:

c:\c64\tools\tmpx\tmpx.exe -i galaxoblast.asm -o galaxoblast.prg
c:\c64\tools\dali\dali.exe --sfx $5400 -o galaxoblast.prg galaxoblast.prg 
c:\c64\tools\vice\bin\x64sc.exe galaxoblast.prg

Happy coding.

