all: freezer.rom

ATASMFLAGS=
#ATASMFLAGS=-s
#ATASMFLAGS=-DHWDEBUG
#ATASMFLAGS=-DHWDEBUG -s

8kblank.rom:
	dd if=/dev/zero bs=1k count=8 | tr '\000' '\377' > 8kblank.rom

# jump from bank 1 to bank 2
B12JMP.M65: jmptab12
	./buildjmp -v MODE=2 -v CMD=B2JMP < jmptab12 > B12JMP.M65

# jsr from bank 1 into bank 2
B12JSR.M65: jsrtab12
	./buildjmp -v MODE=2 -v CMD=B2JSR < jsrtab12 > B12JSR.M65

# jump from bank 2 to bank 1
B21JMP.M65: jmptab12
	./buildjmp -v MODE=1 -v CMD=B1JMP < jmptab12 > B21JMP.M65

# jsr from bank 2 into bank 1
B21JSR.M65: jsrtab12
	./buildjmp -v MODE=1 -v CMD=B1JSR < jsrtab12 > B21JSR.M65


# jump from bank 1 to bank 3
B13JMP.M65: jmptab13
	./buildjmp -v MODE=2 -v CMD=B3JMP < jmptab13 > B13JMP.M65

# jsr from bank 1 into bank 3
B13JSR.M65: jsrtab13
	./buildjmp -v MODE=2 -v CMD=B3JSR < jsrtab13 > B13JSR.M65

# jump from bank 3 to bank 1
B31JMP.M65: jmptab13
	./buildjmp -v MODE=1 -v CMD=B1JMP < jmptab13 > B31JMP.M65

# jsr from bank 3 into bank 1
B31JSR.M65: jsrtab13
	./buildjmp -v MODE=1 -v CMD=B1JSR < jsrtab13 > B31JSR.M65


# jump from bank 2 to bank 3
B23JMP.M65: jmptab23
	./buildjmp -v MODE=2 -v CMD=B3JMP < jmptab23 > B23JMP.M65

# jsr from bank 2 into bank 3
B23JSR.M65: jsrtab23
	./buildjmp -v MODE=2 -v CMD=B3JSR < jsrtab23 > B23JSR.M65

# jump from bank 3 to bank 2
B32JMP.M65: jmptab23
	./buildjmp -v MODE=1 -v CMD=B2JMP < jmptab23 > B32JMP.M65

# jsr from bank 3 into bank 2
B32JSR.M65: jsrtab23
	./buildjmp -v MODE=1 -v CMD=B2JSR < jsrtab23 > B32JSR.M65

bank1.rom: BANK1.M65 EQUATES.M65 \
	STOPPER.M65 MENU.M65 RESTART.M65 SAVER.M65 \
	DISKIO.M65 DISKDBO.M65 lddbob.obj lddbol.obj LDDBOEQ.M65 \
	HISIO.M65 HIEQU.M65 HIDET.M65 HICODE.M65 \
	CASS.M65 INTHAND.M65 GETKEY.M65 SWAPPER.M65 \
	LOADER.M65 RAMDISK.M65 RAMFRZ.M65 OSRCLR.M65 \
	BANKSEL.M65 B12JSR.M65 B12JMP.M65 B13JSR.M65 B13JMP.M65 \
	XDLIST.M65 VERSION.M65 HWDEBUG.M65 HWDEBSUP.M65 Makefile
	atasm $(ATASMFLAGS) -r -f0 -obank1.rom BANK1.M65

lddbob.obj: LDDBOB.M65 LDDBOEQ.M65 LDDBOPR.M65 LDDBOL.M65
	atasm $(ATASMFLAGS) -r -olddbob.obj LDDBOB.M65

lddbol.obj: LDDBOL.M65 LDDBOEQ.M65 LDDBOPR.M65
	atasm $(ATASMFLAGS) -r -olddbol.obj LDDBOL.M65

bank2.rom: BANK2.M65 EQUATES.M65 \
	MONITOR.M65 EXTRAS.M65 DOSCMD.M65 ATARISIO.M65 DISK.M65 \
	BANKSEL.M65 B21JSR.M65 B21JMP.M65 B23JSR.M65 B23JMP.M65 \
	XDLIST.M65 VERSION.M65 HWDEBUG.M65 HWDEBSUP.M65 Makefile 
	atasm $(ATASMFLAGS) -r -f0 -obank2.rom BANK2.M65

bank3.rom: BANK3.M65 EQUATES.M65 \
	HELP.M65 MEMACC.M65 SEARCH.M65 DISASS.M65 DISDL.M65 \
	MEMMAP.M65 BLOCK.M65 SHOWVER.M65 \
	BANKSEL.M65 B32JSR.M65 B32JMP.M65 B31JSR.M65 B31JMP.M65 \
	XDLIST.M65 VERSION.M65 HWDEBUG.M65 HWDEBSUP.M65 Makefile
	atasm $(ATASMFLAGS) -r -f0 -obank3.rom BANK3.M65


freezer.rom: bank1.rom bank2.rom bank3.rom
	cat bank3.rom bank1.rom bank2.rom > freezer.rom

clean:
	rm -f freezer.rom bank*.rom 8kblank.rom

