#
# Boot ROM firmware
#

all:		CPM80F.ROM CPM56F.ROM \
		CPM80S.ROM CPM56S.ROM \
		CPM80SI.ROM CPM56SI.ROM \
		S2R.COM S2R32.COM S2R64.COM S2R80.COM SCH.COM \
		RCPMGEN.COM CK.COM \
		CONFIG.COM SIDISC.COM

# Linking the ROMs

CPM80F.ROM:	AZMON80.REL ASIDISC.REL ASDXKBD.REL ACRT.REL ADISC.REL
		memu -mc -fast L80.COM AZMON80,ASIDISC,ASDXKBD,ACRT,ADISC,CPM80F.ROM/N/Y/E

CPM56F.ROM:	AZMON56.REL ASIDISC.REL ASDXKBD.REL ASCRT.REL ADISC.REL
		memu -mc -fast L80.COM AZMON56,ASIDISC,ASDXKBD,ASCRT,ADISC,CPM56F.ROM/N/Y/E

CPM80S.ROM:	AZMON80.REL ASIDISC.REL ASDXKBD.REL ACRT.REL AFDSC.REL
		memu -mc -fast L80.COM AZMON80,ASIDISC,ASDXKBD,ACRT,AFDSC,CPM80S.ROM/N/Y/E

CPM56S.ROM:	AZMON56.REL ASIDISC.REL ASDXKBD.REL ASCRT.REL AFDSC.REL
		memu -mc -fast L80.COM AZMON56,ASIDISC,ASDXKBD,ASCRT,AFDSC,CPM56S.ROM/N/Y/E

CPM80SI.ROM:	AZMON80I.REL ASIDISC.REL ASDXKBD.REL ACRT.REL AFDSC.REL
		memu -mc -fast L80.COM AZMON80I,ASIDISC,ASDXKBD,ACRT,AFDSC,CPM80SI.ROM/N/Y/E

CPM56SI.ROM:	AZMON56I.REL ASIDISC.REL ASDXKBD.REL ASCRT.REL AFDSC.REL
		memu -mc -fast L80.COM AZMON56I,ASIDISC,ASDXKBD,ASCRT,AFDSC,CPM56SI.ROM/N/Y/E

# Assembling the ROM modules

AZMON80.REL:	AZMON80.MAC AZMONI.INC
		unix2dos -q AZMON80.MAC
		unix2dos -q AZMONI.INC
		memu -mc -fast M80.COM =AZMON80

AZMON56.REL:	AZMON56.MAC AZMONI.INC
		unix2dos -q AZMON56.MAC
		unix2dos -q AZMONI.INC
		memu -mc -fast M80.COM =AZMON56

AZMON80I.REL:	AZMON80I.MAC AZMONI.INC
		unix2dos -q AZMON80I.MAC
		unix2dos -q AZMONI.INC
		memu -mc -fast M80.COM =AZMON80I

AZMON56I.REL:	AZMON56I.MAC AZMONI.INC
		unix2dos -q AZMON56I.MAC
		unix2dos -q AZMONI.INC
		memu -mc -fast M80.COM =AZMON56I

ASIDISC.REL:	ASIDISC.MAC
		unix2dos -q ASIDISC.MAC
		memu -mc -fast M80.COM =ASIDISC

ASDXKBD.REL:	ASDXKBD.MAC
		unix2dos -q ASDXKBD.MAC
		memu -mc -fast M80.COM =ASDXKBD

ACRT.REL:	ACRT.MAC
		unix2dos -q ACRT.MAC
		memu -mc -fast M80.COM =ACRT

ASCRT.REL:	ASCRT.MAC
		unix2dos -q ASCRT.MAC
		memu -mc -fast M80.COM =ASCRT

ADISC.REL:	ADISC.MAC
		unix2dos -q ADISC.MAC
		memu -mc -fast M80.COM =ADISC

AFDSC.REL:	AFDSC.MAC
		unix2dos -q AFDSC.MAC
		memu -mc -fast M80.COM =AFDSC

# SCPM files

S2R.COM:	S2R.REL
		memu -mc -fast L80.COM S2R,S2R/N/Y/E

S2R.REL:	S2R.MAC BDOS.INC BDOSPRT.INC VNS.INC DISCMAC.MAC
		@unix2dos -q S2R.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q VNS.INC
		@unix2dos -q DISCMAC.MAC
		memu -mc -fast M80.COM =S2R

S2R32.COM:	S2R32.REL
		memu -mc -fast L80.COM S2R32,S2R32/N/Y/E

S2R32.REL:	S2R32.MAC BDOS.INC BDOSPRT.INC VNS.INC DISCMAC.MAC
		@unix2dos -q S2R32.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q VNS.INC
		@unix2dos -q DISCMAC.MAC
		memu -mc -fast M80.COM =S2R32

S2R64.COM:	S2R64.REL
		memu -mc -fast L80.COM S2R64,S2R64/N/Y/E

S2R64.REL:	S2R64.MAC BDOS.INC BDOSPRT.INC VNS.INC DISCMAC.MAC
		@unix2dos -q S2R64.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q VNS.INC
		@unix2dos -q DISCMAC.MAC
		memu -mc -fast M80.COM =S2R64

S2R80.COM:	S2R80.REL
		memu -mc -fast L80.COM S2R80,S2R80/N/Y/E

S2R80.REL:	S2R80.MAC BDOS.INC BDOSPRT.INC VNS.INC DISCMAC.MAC
		@unix2dos -q S2R80.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q VNS.INC
		@unix2dos -q DISCMAC.MAC
		memu -mc -fast M80.COM =S2R80

SCH.COM:	SCH.REL
		memu -mc -fast L80.COM SCH,SCH/N/Y/E

SCH.REL:	SCH.MAC BDOS.INC VNS.INC THINCH.INC
		@unix2dos -q SCH.MAC
		@unix2dos -q VNS.INC
		@unix2dos -q THINCH.INC
		memu -mc -fast M80.COM =SCH

# ROM CP/M files

RCPMGEN.COM:	RCPMGEN.REL
		memu -mc -fast L80.COM RCPMGEN,RCPMGEN/N/Y/E

RCPMGEN.REL:	RCPMGEN.MAC BDOS.INC BDOSSEQ.INC GETNUMS.INC VNS.INC
		@unix2dos -q RCPMGEN.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSSEQ.INC
		@unix2dos -q GETNUMS.INC
		@unix2dos -q VNS.INC
		memu -mc -fast M80.COM =RCPMGEN

EP.COM:		EP.REL
		memu -mc -fast L80.COM EP,EP/N/Y/E

EP.REL:		EP.RMAC BDOS.INC BDOSSEQ.INC BDOSPRT.INC GETNUMS.INC VNS.INC
		@unix2dos -q EP.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSSEQ.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q GETNUMS.INC
		@unix2dos -q VNS.INC
		memu -mc -fast M80.COM =EP

CK.COM:		CK.REL
		memu -mc -fast L80.COM CK,CK/N/Y/E

CK.REL:		CK.MAC BDOS.INC BDOSSEQ.INC BDOSPRT.INC GETNUMS.INC VNS.INC
		@unix2dos -q CK.MAC
		@unix2dos -q BDOS.INC
		@unix2dos -q BDOSSEQ.INC
		@unix2dos -q BDOSPRT.INC
		@unix2dos -q GETNUMS.INC
		@unix2dos -q VNS.INC
		memu -mc -fast M80.COM =CK

# General files

CONFIG.COM:	CONFIG.REL
		memu -mc -fast L80.COM CONFIG,CONFIG/N/Y/E

CONFIG.REL:	CONFIG.MAC
		@unix2dos -q CONFIG.MAC
		memu -mc -fast M80.COM =CONFIG

SIDISC.COM:	SIDISC.REL
		memu -mc -fast L80.COM SIDISC,SIDISC/N/Y/E

SIDISC.REL:	SIDISC.MAC
		@unix2dos -q SIDISC.MAC
		memu -mc -fast M80.COM =SIDISC

#

clean:
		-rm *.REL *.ROM *.SYM *.bak 2> /dev/null

package:
		zip -q -r bootrom *
		zip -d bootrom *.bak

website:	package
		cp doc/* bootrom.zip /pub/bootrom
