A snake game clone for Commodore home computers
Go to file
giomba d61a7bf284 dual version: prg + cartridge (8k) 2020-09-15 15:10:09 +02:00
dist added distribution binary file .prg 2020-04-23 12:32:51 +02:00
res.org added some levels 2020-04-08 11:54:08 +02:00
scrot added cute screenshot 2020-04-23 12:26:19 +02:00
src dual version: prg + cartridge (8k) 2020-09-15 15:10:09 +02:00
util levels rotation (first -> second -> ... -> last -> first -> ...) 2020-04-08 11:36:18 +02:00
.gitignore added distribution binary file .prg 2020-04-23 12:32:51 +02:00
LICENSE repository organization fix 2020-04-01 21:11:08 +02:00
Makefile dual version: prg + cartridge (8k) 2020-09-15 15:10:09 +02:00
README.md dual version: prg + cartridge (8k) 2020-09-15 15:10:09 +02:00

README.md

snake6502

Gameplay screenshot

snake6502 is a snake-like game clone for Commodore home computers, written for fun because «I always wanted to code something for a computer of my retrocomputers collection actually, this is the main reason I collect them: to write programs».

Download the binary .prg.

Current development status here.

Compile

You need the GNU compiler collection and the dasm macro assembler, then:

$ make

You can also define the following environment variables:

$ DEBUG=1 make build with debugging artifacts

$ VERBOSE=1 make output useful info during compilation

$ CARTRIDGE=1 make produces an 8K bin ready to be burnt to an *PROM

Developer docs

Memory map

Address PRG Description
$0000 - $0001 no hardware
$0002 - $00FF no zero page pointers
$0100 - $07FF no free ram
$0800 - $0FFF yes autostart (BASIC or cartridge) + Low Program Segment
$1000 - $1FFF yes SID tune + Middle Program Segment
$2000 - $27FF yes custom char
$2800 - $xxxx yes High Program Segment (only needed part used)
$xxxx - $CCFF no free ram
$CD00 - $CDFF no data segment (not-initialized vars)
$CE00 - $CEFF no list X
$CF00 - $CFFF no list Y
$D000 - $DFFF no I/O
$E000 - $FFFF no Kernal

Note: program (code) segments have been put in all possible free spots in order to squeeze the game into an 8K cartridge.

Custom charset

Index Description
$00 - $1F A-Z (space first)
$20 - $3F A-Z, reversed (space first)
$40 - $4F hex digits
$50 - $5F hex digits, reversed
$60 - game tiles

Cartridge

Cartridge version is at $8000 and simply copies itself back at $800.

Cartridge version can not be built with DEBUG=1 flag due to size constraints.