

SRCZIP= entry.a86 dummy.a86 jmptbl0.a86 \
	monobj16.a86 monobj8.a86 monobj2.a86 monobj0.a86 \
	monout16.a86 monout8.a86 monout2.a86 monout0.a86 \
	 imouse.a86 externs.a86 \
	 ibmmdvsp.a86 700mdvsp.a86 ibmmdvsp.a86 \
	 egammre1.a86 egammre2.a86 \
	 monmmre1.a86 monmmre2.a86 \
	 mblit.a86 cblit.a86 \
	 monspblt.a86 rastop.a86 \
	 vgamblit.a86 vgablit.a86 \
	 mcgmblit.a86 mcgblit.a86 \
	 egamblit.a86 egablit.a86 \
	 eh1mblit.a86 eh1blit.a86 \
	 eh8mblit.a86 eh8blit.a86 \
	 elfmblit.a86 elfblit.a86 \
	 el8mblit.a86 el8blit.a86 \
	 cgamblit.a86 cgablit.a86 \
	 attmblit.a86 attblit.a86 \
	 hrcmblit.a86 hrcblit.a86 \
	 p64mblit.a86 p64blit.a86 \
	 p75mblit.a86 p75blit.a86 \
	 khmmblit.a86 khmblit.a86 \
	 opttext.a86 opttext1.a86 opttdraw.a86 lorespat.a86 \
	 8opttext.a86 mopttext.a86 copttext.a86 hirespat.a86 \
	 voptdraw.a86 vgapat.a86 \
	 mcptdraw.a86 mcgpat.a86 \
	 eoptdraw.a86 egapat.a86 \
	 e1ptdraw.a86 eh1pat.a86 \
	 e8ptdraw.a86 eh8pat.a86 \
	 elptdraw.a86 elfpat.a86 \
	 elqtdraw.a86 el8pat.a86 \
	 cgptdraw.a86 cgapat.a86 \
	 atptdraw.a86 attpat.a86 \
	 hrptdraw.a86 hrcpat.a86 \
	 poptdraw.a86 p64pat.a86 \
	 p7ptdraw.a86 p75pat.a86 \
	 kmptdraw.a86 khmpat.a86 \
	 popttext.a86 p640.a86 p752.a86 \
	 vgafont.a86 vgacp.a86 \
	 egafont.a86 egacp.a86 \
	 cgafont.a86 cgacp.a86 \
	 vgafont0.a86 vga_drv0.a86 vgaregs.a86 vgadev.a86 \
	 egafont0.a86 ega_drv0.a86 egaregs.a86 egadev.a86 \
	 cgafont0.a86 cga_drv0.a86 cgaregs.a86 cgadev.a86 \
	              att_drv0.a86 attregs.a86 attdev.a86 \
	              eh1_drv0.a86 eh1regs.a86 eh1dev.a86 \
	              eh8_drv0.a86 eh8regs.a86 eh8dev.a86 \
	              elf_drv0.a86 elfregs.a86 elfdev.a86 \
	              el8_drv0.a86 el8regs.a86 el8dev.a86 \
	              p64_drv0.a86 p64regs.a86 p64dev.a86 \
	              p75_drv0.a86 p752regs.a86 p752dev.a86 \
	              hrc_drv0.a86 hercregs.a86 hercdev.a86 \
	              mcg_drv0.a86 mcgaregs.a86 mcgadev.a86 \
	              khm_drv0.a86 khmregs.a86 khmdev.a86 \
	 isin.a86 enddseg.a86 \
	 sdpsc5.inp \
	 sdpsm5.inp \
	 sdehf5.inp \
	 sdeh85.inp \
	 sdehm5.inp \
	 sdelf5.inp \
	 sdel85.inp \
	 sdcga5.inp \
	 sdatt5.inp \
	 sdhrc5.inp \
	 sdp645.inp \
	 sdp755.inp \
	 sdkhm5.inp \
	 copying.txt readme.txt source.txt Makefile  

#
# Drivers I can compare byte-for-byte with the GEM 1.5 originals
#
GEM_DRIVERS=sdcga5.cga sdehf5.ega sdhrc5.ega 
#
# Drivers where I haven't got the GEM 1.5 original, perhaps because it 
# never existed.
#
GUESS_DRIVERS=sdp645.vga sdp755.ega sdpsc5.vga \
	      sdpsm5.vga sdkhm5.ega sdatt5.ega \
	      sdeh85.ega sdelf5.cga sdehm5.ega \
	      sdel85.cga 

all:	$(GEM_DRIVERS) $(GUESS_DRIVERS)

#
# Ensure that the linker INP file is big enough - if it isn't you get 
# strange "Syntax error" messages. To be safe add 128 extra spaces to the
# end; LINK86 only reads up to the last multiple of 128 bytes.
#
sdpsc5.vga:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj vgafont0.obj \
		popttext.obj isin.obj dummy.obj vga_drv0.obj \
		vgamblit.obj vgablit.obj \
		voptdraw.obj vgapat.obj enddseg.obj
	link86 sdpsc5[i

sdehf5.ega:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj egafont0.obj \
		popttext.obj isin.obj dummy.obj ega_drv0.obj \
		egamblit.obj egablit.obj \
		eoptdraw.obj egapat.obj enddseg.obj sdehf5.inp
	link86 sdehf5[i

sdeh85.ega:	entry.obj jmptbl0.obj monobj8.obj  \
		monout8.obj egafont0.obj \
		8opttext.obj isin.obj dummy.obj eh8_drv0.obj \
		eh8mblit.obj eh8blit.obj \
		e8ptdraw.obj eh8pat.obj enddseg.obj sdeh85.inp
	link86 sdeh85[i

sdehm5.ega:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj egafont0.obj \
		mopttext.obj isin.obj dummy.obj eh1_drv0.obj \
		eh1mblit.obj eh1blit.obj \
		e1ptdraw.obj eh1pat.obj enddseg.obj
	link86 sdehm5[i

sdelf5.cga:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj cgafont0.obj \
		popttext.obj isin.obj dummy.obj elf_drv0.obj \
		elfmblit.obj elfblit.obj \
		elptdraw.obj elfpat.obj enddseg.obj sdelf5.inp
	link86 sdelf5[i

sdel85.cga:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj cgafont0.obj \
		popttext.obj isin.obj dummy.obj el8_drv0.obj \
		el8mblit.obj el8blit.obj \
		elqtdraw.obj el8pat.obj enddseg.obj sdel85.inp
	link86 sdel85[i


sdcga5.cga:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj cgafont0.obj \
		mopttext.obj isin.obj dummy.obj cga_drv0.obj \
		cgamblit.obj cgablit.obj \
		cgptdraw.obj cgapat.obj enddseg.obj
	link86 sdcga5[i

sdatt5.ega:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj vgafont0.obj \
		mopttext.obj isin.obj dummy.obj att_drv0.obj \
		attmblit.obj attblit.obj \
		atptdraw.obj attpat.obj enddseg.obj
	link86 sdatt5[i

sdhrc5.ega:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj egafont0.obj \
		mopttext.obj isin.obj dummy.obj hrc_drv0.obj \
		hrcmblit.obj hrcblit.obj \
		hrptdraw.obj hrcpat.obj enddseg.obj sdhrc5.inp
	link86 sdhrc5[i

sdpsm5.vga:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj vgafont0.obj \
		mopttext.obj isin.obj dummy.obj mcg_drv0.obj \
		mcgmblit.obj mcgblit.obj \
		mcptdraw.obj mcgpat.obj enddseg.obj
	link86 sdpsm5[i

sdp645.vga:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj vgafont0.obj \
		popttext.obj isin.obj dummy.obj p64_drv0.obj \
		p64mblit.obj p64blit.obj \
		poptdraw.obj p64pat.obj enddseg.obj p640.obj
	link86 sdp645[i

sdp755.ega:	entry.obj jmptbl0.obj monobj16.obj  \
		monout16.obj egafont0.obj \
		popttext.obj isin.obj dummy.obj p75_drv0.obj \
		p75mblit.obj p75blit.obj \
		p7ptdraw.obj p75pat.obj enddseg.obj p752.obj
	link86 sdp755[i

sdkhm5.ega:	entry.obj jmptbl0.obj monobj2.obj  \
		monout2.obj egafont0.obj \
		mopttext.obj isin.obj dummy.obj khm_drv0.obj \
		khmmblit.obj khmblit.obj \
		kmptdraw.obj khmpat.obj enddseg.obj
	link86 sdkhm5[i



%.obj:	%.a86 externs.a86
	rasm86 $< $$pzsz

cga_drv0.obj:	cga_drv0.a86 cgaregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		monmmre1.a86 monmmre2.a86 cgadev.a86
att_drv0.obj:	att_drv0.a86 attregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		monmmre1.a86 monmmre2.a86 attdev.a86
hrc_drv0.obj:	hrc_drv0.a86 hercregs.a86 externs.a86 ibmmdvsp.a86 \
		imouse.a86 monmmre1.a86 monmmre2.a86 hercdev.a86
ega_drv0.obj:	ega_drv0.a86 egaregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 egadev.a86
eh8_drv0.obj:	eh8_drv0.a86 eh8regs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 eh8dev.a86
eh1_drv0.obj:	eh1_drv0.a86 eh1regs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		monmmre1.a86 monmmre2.a86 eh1dev.a86
elf_drv0.obj:	elf_drv0.a86 elfregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 elfdev.a86
vga_drv0.obj:	vga_drv0.a86 vgaregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 vgadev.a86
mcg_drv0.obj:	mcg_drv0.a86 mcgaregs.a86 externs.a86 ibmmdvsp.a86 \
		imouse.a86 monmmre1.a86 monmmre2.a86 mcgadev.a86
p64_drv0.obj:	p64_drv0.a86 p64regs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 p64dev.a86
p75_drv0.obj:	p75_drv0.a86 p752regs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		egammre1.a86 egammre2.a86 p752dev.a86
khm_drv0.obj:	khm_drv0.a86 khmregs.a86 externs.a86 ibmmdvsp.a86 imouse.a86 \
		monmmre1.a86 monmmre2.a86 khmdev.a86

vgamblit.obj:	vgamblit.a86 mblit.a86
vgablit.obj:	vgablit.a86 cblit.a86
voptdraw.obj:	voptdraw.a86 opttdraw.a86
vgapat.obj:	vgapat.a86 hirespat.a86

egamblit.obj:	egamblit.a86 mblit.a86
egablit.obj:	egablit.a86 cblit.a86
eoptdraw.obj:	eoptdraw.a86 opttdraw.a86
egapat.obj:	egapat.a86 hirespat.a86

eh8mblit.obj:	eh8mblit.a86 mblit.a86
eh8blit.obj:	eh8blit.a86 cblit.a86
e8ptdraw.obj:	e8ptdraw.a86 opttdraw.a86
eh8pat.obj:	eh8pat.a86 hirespat.a86

eh1mblit.obj:	eh1mblit.a86 monspblt.a86
eh1blit.obj:	eh1blit.a86 rastop.a86
e1ptdraw.obj:	e1ptdraw.a86 opttdraw.a86
eh1pat.obj:	eh1pat.a86 hirespat.a86

elfmblit.obj:	elfmblit.a86 mblit.a86
elfblit.obj:	elfblit.a86 cblit.a86
elptdraw.obj:	elptdraw.a86 opttdraw.a86
elfpat.obj:	elfpat.a86 lorespat.a86

el8mblit.obj:	el8mblit.a86 mblit.a86
el8blit.obj:	el8blit.a86 cblit.a86
elqtdraw.obj:	elqtdraw.a86 opttdraw.a86
el8pat.obj:	el8pat.a86 lorespat.a86

cgamblit.obj:	cgamblit.a86 monspblt.a86
cgablit.obj:	cgablit.a86 rastop.a86
cgptdraw.obj:	cgptdraw.a86 opttdraw.a86
cgapat.obj:	cgapat.a86 lorespat.a86

attmblit.obj:	attmblit.a86 monspblt.a86
attblit.obj:	attblit.a86 rastop.a86
atptdraw.obj:	atptdraw.a86 opttdraw.a86
attpat.obj:	attpat.a86 hirespat.a86

hrcmblit.obj:	hrcmblit.a86 monspblt.a86
hrcblit.obj:	hrcblit.a86 rastop.a86
hrptdraw.obj:	hrptdraw.a86 opttdraw.a86
hrcpat.obj:	hrcpat.a86 hirespat.a86

mcgmblit.obj:	mcgmblit.a86 monspblt.a86
mcgblit.obj:	mcgblit.a86 rastop.a86
mcptdraw.obj:	mcptdraw.a86 opttdraw.a86
mcgpat.obj:	mcgpat.a86 hirespat.a86

p64mblit.obj:	p64mblit.a86 monspblt.a86
p64blit.obj:	p64blit.a86 rastop.a86
poptdraw.obj:	poptdraw.a86 opttdraw.a86
p64pat.obj:	p64pat.a86 hirespat.a86

p75mblit.obj:	p75mblit.a86 monspblt.a86
p75blit.obj:	p75blit.a86 rastop.a86
p7ptdraw.obj:	p7ptdraw.a86 opttdraw.a86
p75pat.obj:	p75pat.a86 hirespat.a86

monobj16.obj:	monobj16.a86 monobj0.a86
monobj8.obj:	monobj8.a86 monobj0.a86
monobj2.obj:	monobj2.a86 monobj0.a86

monout16.obj:	monout16.a86 monout0.a86
monout8.obj:	monout8.a86 monout0.a86
monout2.obj:	monout2.a86 monout0.a86

khmmblit.obj:	khmmblit.a86 monspblt.a86
khmblit.obj:	khmblit.a86 rastop.a86
kmptdraw.obj:	kmptdraw.a86 opttdraw.a86
khmpat.obj:	khmpat.a86 hirespat.a86


mopttext.obj:	mopttext.a86 opttext.a86
popttext.obj:	popttext.a86 opttext1.a86

zip:	$(SRCZIP) $(BINZIP)
	zip g15drvs.zip $(SRCZIP)
