@8_Bit
  @8_Bit
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!
Exploring Marz: C-64 6510 Assembly Minigame Code WalkthroughRunning a Local Retro Computer Club? What Were DoingEstimating Pi With Commodore 64 Logo (the language, not the chicken lips!)Mechanical Handheld Zero-Bit Games from the 1970sCommodore PC 50-II: IBM PC-Compatible8-Bit Book Club: Tool Kit: BASIC and Kernal by COMPUTE! for Commodore 64 and VIC-20How Many Commodore 1581 Disk Drives? The German Tank ProblemNeutron - New Commodore 64 SHMUP on NTSC C128DJim Butterfields Machine Language for the Commodore 64, 128.. RevisedApple II Hi-res 10 PRINT *or* Robin vs. Applesoft BASICPrinting Binary in BASIC and Assembly on Commodore 6410x Faster Than C64 BASIC? Hare Basic

Exploring Marz: C-64 6510 Assembly Minigame Code Walkthrough @8_Bit

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER