8-Bit Show And Tell | Exploring Marz: C-64 6510 Assembly Minigame Code Walkthrough @8_Bit | Uploaded December 2020 | Updated October 2024, 10 hours ago.
In 2003 I made a little 1024 byte Commodore 64 game called "Marz" for the Minigame Competition, which was an annual online 8-bit programming competition. I've found the 6510 source code to it - let's take a look through it in the Turbo Macro Pro assembler.
To support 8-Bit Show And Tell:
Become a patron: patreon.com/8BitShowAndTell
One-time donation: paypal.me/8BitShowAndTell
Credits music by: bedfordlevelexperiment.bandcamp.com
Links:
XIP (minicompressor by Steve Judd): ffd2.com/fridge/rad
Marz disk image: 8bitshowandtell.com/downloads/marz.d64
Disk instructions:
LOAD"MARZ",8,1 to just play the game - it automatically starts due to tricks in the xip decompressor
Use a REU on your real C64 or emulator to follow along:
To build with Turbo Macro Pro+REU:
LOAD"TMP",8,1
SYS 32768
{back arrow} L, filename: MM29
{back arrow} Shift+R, L, filename: UFOSPRITES, location: $3F80
{back arrow} Shift+R, L, filename: LASERBEAM2, location: $3FC0
{back arrow} 3, S
Hit the RESTORE key to re-enter TMP
TMP Documentation here: turbo.style64.org/docs/table-of-contents
New index (from 2020.12.01 edit):
0:00 Intro - Marz source code
1:39 The Minigame Competition - my entries
2:32 Loading the source; xip compressor
3:59 Diversion: Terry Cavanagh and bad source
6:26 Loading the sprites
8:16 Playing the game
11:00 The iOS version I made once
11:32 Walking through the code: memory layout, the labels
13:55 Game initialization - once per boot
15:45 Play initialization - once per game play
19:12 Level initialization - once per level
26:21 Game loop - once per frame
27:35 Ship to building collision - game over
29:29 Bomb to building collision
36:05 Moving the ship - wrap around and descent
38:30 Ship sprite animation
40:40 Fire button, dropping bomb
43:00 Checking for end of level & end of game loop
46:34 Building the level
51:00 Some misc subroutines - raster & sound fx
53:00 Update sprite positions
54:05 Other misc subroutines
54:45 Thanks to my patrons!
In 2003 I made a little 1024 byte Commodore 64 game called "Marz" for the Minigame Competition, which was an annual online 8-bit programming competition. I've found the 6510 source code to it - let's take a look through it in the Turbo Macro Pro assembler.
To support 8-Bit Show And Tell:
Become a patron: patreon.com/8BitShowAndTell
One-time donation: paypal.me/8BitShowAndTell
Credits music by: bedfordlevelexperiment.bandcamp.com
Links:
XIP (minicompressor by Steve Judd): ffd2.com/fridge/rad
Marz disk image: 8bitshowandtell.com/downloads/marz.d64
Disk instructions:
LOAD"MARZ",8,1 to just play the game - it automatically starts due to tricks in the xip decompressor
Use a REU on your real C64 or emulator to follow along:
To build with Turbo Macro Pro+REU:
LOAD"TMP",8,1
SYS 32768
{back arrow} L, filename: MM29
{back arrow} Shift+R, L, filename: UFOSPRITES, location: $3F80
{back arrow} Shift+R, L, filename: LASERBEAM2, location: $3FC0
{back arrow} 3, S
Hit the RESTORE key to re-enter TMP
TMP Documentation here: turbo.style64.org/docs/table-of-contents
New index (from 2020.12.01 edit):
0:00 Intro - Marz source code
1:39 The Minigame Competition - my entries
2:32 Loading the source; xip compressor
3:59 Diversion: Terry Cavanagh and bad source
6:26 Loading the sprites
8:16 Playing the game
11:00 The iOS version I made once
11:32 Walking through the code: memory layout, the labels
13:55 Game initialization - once per boot
15:45 Play initialization - once per game play
19:12 Level initialization - once per level
26:21 Game loop - once per frame
27:35 Ship to building collision - game over
29:29 Bomb to building collision
36:05 Moving the ship - wrap around and descent
38:30 Ship sprite animation
40:40 Fire button, dropping bomb
43:00 Checking for end of level & end of game loop
46:34 Building the level
51:00 Some misc subroutines - raster & sound fx
53:00 Update sprite positions
54:05 Other misc subroutines
54:45 Thanks to my patrons!