BINNAME=sv2k12
DISTNAME=sv2k12invitro
DISTFILES=README sv2k12.nfo
SRCFILES=Makefile main.asm utils.asm singen.c sleep.h bmpconv.c fontgen.c font.bmp sv2k12.nfo eorplasma.asm svlogo.bmp twelvechar.asm harry.asm harrygfx.asm song.h songplay.h
BINARY=build/pal.bin

all: build/sintab.asm build/bmpconv main.asm build/font.asm eorplasma.asm build/svlogo.asm twelvechar.asm harry.asm harrygfx.asm song.h songplay.h
	mkdir -p build
	dasm main.asm -f3 -DPAL=1 -DFPS=50 -obuild/pal.bin -sbuild/pal.sym

build/sintab.asm: singen.c
	mkdir -p build
	gcc singen.c -o build/singen -lm
	build/singen > build/sintab.asm

build/bmpconv: bmpconv.c
	mkdir -p build
	gcc bmpconv.c -o build/bmpconv

build/svlogo.asm: svlogo.bmp build/bmpconv
	build/bmpconv svlogo.bmp > build/svlogo.asm

build/font.asm: fontgen.c font.bmp sv2k12.nfo
	gcc fontgen.c -o build/fontgen -lm
	build/fontgen font.bmp < sv2k12.nfo > build/font.asm

clean:
	rm -rf build ${DISTNAME} ${DISTNAME}.zip

run: all
	stella -grabmouse 0 ${BINARY}

jascpals: jascpalgen.c
	mkdir -p build
	gcc jascpalgen.c -o build/jascpalgen
	build/jascpalgen 0 > stella_pal.pal
	build/jascpalgen 1 > stella_ntsc.pal
	build/jascpalgen 2 > z26_pal.pal
	build/jascpalgen 3 > z26_ntsc.pal

dist: all
	rm -rf ${DISTNAME} ${DISTNAME}.zip
	mkdir -p ${DISTNAME}
	mkdir -p ${DISTNAME}/src
	if [ -n "${DISTFILES}" ] ; then cp ${DISTFILES} ${DISTNAME} ; fi
	cp ${SRCFILES} ${DISTNAME}/src
	cp build/pal.bin ${DISTNAME}/${BINNAME}.bin

	zip -r ${DISTNAME}.zip ${DISTNAME}

	cp vcs.h macro.h ${DISTNAME}/src
	cd ${DISTNAME}/src && make

dist_with_headers: all
	rm -rf ${DISTNAME} ${DISTNAME}.zip
	mkdir -p ${DISTNAME}
	mkdir -p ${DISTNAME}/src
	if [ -n "${DISTFILES}" ] ; then cp ${DISTFILES} ${DISTNAME} ; fi
	cp ${SRCFILES} ${DISTNAME}/src
	cp vcs.h macro.h ${DISTNAME}/src
	cp build/pal.bin ${DISTNAME}/${BINNAME}.bin

	zip -r ${DISTNAME}.zip ${DISTNAME}

	cd ${DISTNAME}/src && make

download: all
	stty -F /dev/ttyUSB0 115200
	harmonycart ${BINARY}

playmic:
	pacat -r --latency-msec=1 -d alsa_input.pci-0000_00_1b.0.analog-stereo | pacat -p --latency-msec=1 -d alsa_output.pci-0000_00_1b.0.analog-stereo
