This archive contains the schematics, firmware binaries and firmware source
code for Craft.

http://www.linusakesson.net/scene/craft/

Contents:

readme.txt			This file.

schematics
+--schematic.txt		An overview of the hardware.
+--cad.eps			The breadboard layout, as EPS source code.
`--cad.pdf			The breadboard layout in PDF format.

firmware
+--flash.hex			8 kB of flash data, in IntelHex format.
+--eeprom.raw			512 bytes of EEPROM data, in raw binary format.
`--fuse_bits_readme.txt		Information about which AVR fuse bits to program.

src
+--tools
|  +--mkdelays.c		Generates a bunch of delay macros (basis for delays.i).
|  +--mkfont.c			Converts font.ppm into a raw table (data.S).
|  +--mkfreq.c			Calculates a frequency table (music.S).
|  +--Makefile			A basic makefile for the tools.
|  +--mksine.c			Calculates a sine table (data.S).
|  +--mkstory.c			Generates story.S from the storyboard.
|  +--mktitle.c			Converts craft.ppm into a raw table (craft.S).
|  +--convertflower.c		Converts flower.ppm into machine code (flower.S has been hand-optimized).
|  `--space.c			Keeps track of how full the flash is.
|--craft
|  +--anim.S			Misc routines.
|  +--asm.S			Most of the timing critical interrupt code.
|  +--boot.S			Boot vectors, initialization.
|  +--craft.S			Logo. Generated by mktitle.
|  +--data.S			Sine table and font. Aligned to page boundary by linker.
|  +--fire.S			Code for the fire effect.
|  +--flower.S			Timing critical code for drawing flowers.
|  +--julia.S			Code for the animated Julia set.
|  +--mainloop.S		Storyboard parser and misc routines.
|  +--music.S			Music player. The low-level sound generator is in asm.S.
|  +--plasma.S			Code for the plasma effect.
|  +--songee.S			Music data, EEPROM part.
|  +--song.S			Music data, flash part.
|  +--delays.i			Cycle-exact delay macros.
|  +--title.S			Code for the title screen and misc routines.
|  +--tunnel.S			Code for the tunnel.
|  +--vars.S			Variables (BSS segment).
|  +--vblank.S			Routines called from the (emulated) vblank interrupt.
|  +--vector.S			3d projection, starfield and dotcube.
|  +--Makefile			Makefile.
|  +--storyboard		Text file which is compiled into story.S by mkstory.
|  `--stuff.i			Constant macros.
|--gfx
|  +--craft.ppm
|  +--flower.ppm
|  `--font.ppm
`--build_instructions.txt	How to build the software.

/Linus
