diff --git a/Makefile b/Makefile index 46756e8..48e1b9a 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ ASMFLAGS=-case on -l LDFLAGS= -all : host.driver host.fst boot.sys +all : host.driver boot.driver host.fst boot.sys host.fst : host.fst.o $(LD) -t \$$BD -at \$$0000 $< -o $@ @@ -18,7 +18,15 @@ host.fst : host.fst.o host.driver : host.driver.o $(LD) -t \$$BB -at \$$0101 $< -o $@ +boot.driver : boot.driver.o + $(LD) -t \$$BB -at \$$0181 $< -o $@ + +# -d BootDriver must come after -case on host.driver.o : host.driver.aii gsos.equ +boot.driver.o : host.driver.aii gsos.equ + $(ASM) $(ASMFLAGS) -d BootDriver $< -o $@ + + host.fst.o : host.fst.aii gsos.equ fst.equ records.equ fst.macros @@ -30,7 +38,7 @@ boot.sys: boot .PHONY : clean clean : - $(RM) -- host.fst host.driver boot.sys boot *.o + $(RM) -- host.fst host.driver boot.driver boot.sys boot *.o %.o : %.aii $(ASM) $(ASMFLAGS) $< -o $@ diff --git a/gsos.equ b/gsos.equ index f639342..3500cfd 100644 --- a/gsos.equ +++ b/gsos.equ @@ -10,6 +10,7 @@ ; ` prevents expansion during macro processing. DEFAULT `DEBUG_S16,0 DEFAULT `DebugSymbols,0 + DEFAULT `BootDriver,0 **************************************************************** * diff --git a/host.driver.aii b/host.driver.aii index ee92833..a8347ff 100644 --- a/host.driver.aii +++ b/host.driver.aii @@ -10,10 +10,11 @@ string asis header proc + if not BootDriver then dc.w dib-header dc.w 1 ; 1 device dc.w 0 ; no config list - + endif dib dc.l 0 ;Link pointer to next DIB dc.l entry ;Entry pointer