This is the home of The XORcyst, a rather platform-independent set of tools and languages for 6502 software development.

View the documentation: Yes, please

Source code

xorcyst-1.4.5.tar.gz (2005.01.09)


Binaries: Linux (built on MDK10.1)


Binaries: DOS (Windows) (built with GCC3.4.3 cross compiler)

Tutorials and Examples

BombSweeper (NES Game)

Download the source code to my homebrew NES game "BombSweeper", which can be built with The XORcyst: Here

Using The XORcyst with Make

Here's an example of how to use The XORcyst assembler and linker together with Make to manage a project:

# Example of how a Makefile for a medium-complexity NES game project might look.

# The object code files produced by the assembler.
OBJS = 2dengine.o soundplayer.o spritelib.o main.o vectors.o

# The graphics files.
GFX = sprites.chr background.chr

# iNES header.
HEADERFILE = ines.hdr

# The linker script.

# The final output from the linker.
BINFILE = game.nes


2dengine.o: 2dengine.asm
	xasm $< -o $@

soundplayer.o: soundplayer.asm
	xasm $< -o $@

spritelib.o: spritelib.asm
	xasm $< -o $@

main.o: main.asm
	xasm $< -o $@

vectors.o: vectors.asm
	xasm $< -o $@

.PHONY : clean
clean :
	-rm -f $(BINFILE) $(OBJS)

Now every time you make a change to any of the project files, you simply type 'make' to rebuild the final binary (if you're not familiar with the Make tool, see for example If you have split your source files with roughly equal granularity, rebuilding will be extremely quick compared to having a single top-level source file which '.include's all the program's source files.

The XORcyst is (C) 2004, 2005 Kent Hansen