ATASM=atasm

ATASMFLAGS=-Ihisio
#ATASMFLAGS += -s
#ATASMFLAGS += -v -s

ROMCSUM=../romcsum/romcsum

TARGETS=flash.com flashmenu.com megaspeedy.atr \
	flasher.rom config.rom megaspeedy-stock.rom \
	speedy-roms.atr

all: $(TARGETS)

speedycode.bin: speedy.src speedy.inc speedycmd.inc speedy-config.inc \
	speedyrom.inc
	$(ATASM) $(ATASMFLAGS) -r -f00 -o$@ $<

hisio.bin: hisio.src hisio/*
	$(ATASM) $(ATASMFLAGS) -r -f00 -o$@ $<

FLASH_SRC = flash.src flash.inc speedycode.bin speedycmd.inc \
	speedyrom.inc speedymodes.inc slotinfo.src \
	cio.inc cio.src iohelp.src numhelp.src version.inc

flash.com: $(FLASH_SRC) sio.inc
	$(ATASM) $(ATASMFLAGS) -o$@ $<

flash.bin: $(FLASH_SRC)
	$(ATASM) $(ATASMFLAGS) -dFLASHBIN -r -f00 -o$@ $<

flasher.rom: speedy-flash.src speedy-flash.inc speedy.inc flash.inc \
	i2c.src speedy-softconfig.src speedy-bootsec.src speedy-loadhooks.src \
	version.inc speedy-config.inc speedyrom.inc \
	flashmenu.bin flash.bin hisio.bin mypdos-code.bin \
	mydos-bootsec.bin mydos-dossys-short.bin \
	../roms/speedy-parts/megaspeedy-17.rom 
	$(ATASM) $(ATASMFLAGS) -dFLASHBIN -r -oflasher.rom.tmp $<
	$(ROMCSUM) flasher.rom.tmp $@

config.rom: speedy-config.src speedy-config.inc \
	speedy.inc speedyrom.inc speedymodes.inc config.src \
	encoder.src i2c.src version.inc
	$(ATASM) $(ATASMFLAGS) -dFLASHBIN -r -o$@ $<

flashmenu.com: flashmenu.src speedymodes.inc speedyrom.inc cio.inc sio.inc \
	version.inc \
	hisio.bin mydos-bootsec.bin mydos-dossys-short.bin flash.bin mypdos-code.bin
	$(ATASM) $(ATASMFLAGS) -DFLASHMENU_COM -o$@ $<

flashmenu.bin: flashmenu.src speedymodes.inc speedyrom.inc cio.inc sio.inc \
	speedy-flash.inc flash.inc version.inc \
	hisio.bin mydos-bootsec.bin mydos-dossys-short.bin flash.bin mypdos-code.bin
	$(ATASM) $(ATASMFLAGS) -r -f00 -o$@ $<

mydos-dossys-short.bin: mydos-dos.sys
	dd if=$< of=$@ bs=4286 count=1

megaspeedy.atr: flash.com flasher.rom config.rom mydos-dos.sys mydos-dup.sys
	mkdir -p disk
	cp -f mydos-dos.sys disk/dos.sys
	cp -f mydos-dup.sys disk/dup.sys
	cp -f flash.com flasher.rom config.rom disk
	dir2atr -b MyDos4534 -d 720 $@ disk

megaspeedy-stock.rom: build-full-rom.sh flasher.rom config.rom ../roms/*.rom
	./build-full-rom.sh $@

speedy-roms.atr: flash.com mydos-dos.sys mydos-dup.sys ../roms/*.rom
	mkdir -p speedy-rom-disk
	cp -f mydos-dos.sys speedy-rom-disk/dos.sys
	cp -f mydos-dup.sys speedy-rom-disk/dup.sys
	cp -f flash.com speedy-rom-disk
	cp -f ../roms/speedy-bibodos.rom speedy-rom-disk/SBIBO.ROM
	cp -f ../roms/speedy-hss.rom speedy-rom-disk/SHSS.ROM
	cp -f ../roms/speedy-floppy2000.rom speedy-rom-disk/SF2000.ROM
	cp -f ../roms/speedy-supercopy.rom speedy-rom-disk/SUPER.ROM
	cp -f ../roms/speedy-supercopy-en.rom speedy-rom-disk/SUPEREN.ROM
	dir2atr -b MyDos4534 -d 720 $@ speedy-rom-disk

.PHONY: clean
clean:
	rm -f $(TARGETS) speedycode.bin hisio.bin flash.bin flashmenu.bin \
	flasher.rom.tmp 
	rm -rf disk speedy-rom-disk
