Exploring Marz: C-64 6510 Assembly Minigame Code Walkthrough
8-Bit Show And Tell 8-Bit Show And Tell
55.1K subscribers
31,697 views
0

 Published On Dec 4, 2020

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:   / 8bitshowandtell  
One-time donation: https://paypal.me/8BitShowAndTell

Credits music by: https://bedfordlevelexperiment.bandca...

Links:
XIP (minicompressor by Steve Judd): http://www.ffd2.com/fridge/rad/
Marz disk image: http://8bitshowandtell.com/downloads/...

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: http://turbo.style64.org/docs/table-o...

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!

show more

Share/Embed