#
# makefile - for Nara mono dithered video demo
#

.SUFFIXES:	.c .s .rel

.c.rel:
		sdcc-sdcc -c -mz80 $*.c

.s.rel:
		sdcc-sdasz80 -o $*.rel $*.s

#

all:		narasi.com narasd.com naracf.com

#

narasi.com:	crt0.rel nara.rel video.rel sound.rel sidisc.rel dsksidisc.rel
		sdcc-sdcc -mz80 --no-std-crt0 --code-loc 0x100 --data-loc 0x1000 $+
		sdcc-makebin -p crt0.ihx narasi.bin
		dd if=narasi.bin bs=256 skip=1 of=narasi.com 2> /dev/null
		rm crt0.ihx crt0.lk crt0.noi narasi.bin

narasd.com:	crt0.rel nara.rel video.rel sound.rel sdcard.rel dsksdcard.rel
		sdcc-sdcc -mz80 --no-std-crt0 --code-loc 0x100 --data-loc 0x1000 $+
		sdcc-makebin -p crt0.ihx narasd.bin
		dd if=narasd.bin bs=256 skip=1 of=narasd.com 2> /dev/null
		rm crt0.ihx crt0.lk crt0.noi narasd.bin

naracf.com:	crt0.rel nara.rel video.rel sound.rel cfdisc.rel dskcfdisc.rel
		sdcc-sdcc -mz80 --no-std-crt0 --code-loc 0x100 --data-loc 0x1000 $+
		sdcc-makebin -p crt0.ihx naracf.bin
		dd if=naracf.bin bs=256 skip=1 of=naracf.com 2> /dev/null
		rm crt0.ihx crt0.lk crt0.noi naracf.bin

#

crt0.rel:	crt0.s

nara.rel:	nara.c video.h sound.h dsk.h

video.rel:	video.s

sound.rel:	sound.s

sidisc.rel:	sidisc.s

sdcard.rel:	sdcard.s

cfdisc.rel:	cfdisc.s

dsksidisc.rel:	dsksidisc.c dsk.h

dsksdcard.rel:	dsksdcard.c dsk.h

dskcfdisc.rel:	dskcfdisc.c dsk.h

#

sddisc.bin:	narasi.com narasd.com naracf.com cpmfiles/*
		cp narasi.com cpmfiles/NARASI.COM
		cp narasd.com cpmfiles/NARASD.COM
		cp naracf.com cpmfiles/NARACF.COM
		dd if=/dev/zero count=8192 bs=1k > $@ 2> /dev/null
		mkfs.cpm -f memotech-type18 -b boot59.dat $@
		cpmcp -f memotech-type18 $@ cpmfiles/* 0:

write-sddisc:
		dd if=sddisc.bin of=/dev/sde bs=8M seek=0
		dd if=dith/dith.dat of=/dev/sde bs=512 seek=131072

#

clean:
		@rm *.map *.rel *.lst *.sym *.asm *.bak 2> /dev/null

run:
		memu -s -v -sidisc-file 0 dith/dith.dat narasi.com

be:
		be -A16 -Cz80 -vA narasi.com@0x100

#

package:
		zip -q -r nara *
		zip -d nara *.bak */*.bak

website:
		cp *.zip doc/* /pub/nara
