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)

xorcyst-1.4.5-1.src.rpm


Binaries: Linux (built on MDK10.1)

xorcyst-1.4.5-1.i586.rpm


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

xorcyst-1.4.5.dos.zip


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.
SCRIPTFILE = game.sc

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

$(BINFILE) : $(OBJS) $(GFX) $(HEADERFILE) $(SCRIPTFILE)
	xlnk $(SCRIPTFILE)

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 http://www.eng.hawaii.edu/Tutor/Make/). 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
<