changeset 2036:e482bb12a954

tano port
author boisy
date Sat, 22 Apr 2006 19:18:23 +0000
parents 12ad1d266df9
children 2e37b5a0d4b3
files level1/d64/bootfiles/defsfile level1/d64/bootfiles/makefile level1/d64/bootlists/standard.bl level1/d64/cmds/defsfile level1/d64/cmds/makefile level1/d64/defs/defsfile.asm level1/d64/defs/makefile level1/d64/modules/defsfile level1/d64/modules/kernel/defsfile level1/d64/modules/kernel/makefile level1/d64/modules/makefile level1/d64/scripts/mb level1/d64/sys/errmsg level1/d64/sys/makefile level1/d64/sys/motd level1/d64/sys/password level1/dalpha/bootfiles/defsfile level1/dalpha/bootfiles/makefile level1/dalpha/bootlists/standard.bl level1/dalpha/cmds/defsfile level1/dalpha/cmds/makefile level1/dalpha/defs/defsfile.asm level1/dalpha/defs/makefile level1/dalpha/modules/defsfile level1/dalpha/modules/kernel/defsfile level1/dalpha/modules/kernel/makefile level1/dalpha/modules/makefile level1/dalpha/scripts/mb level1/dalpha/sys/errmsg level1/dalpha/sys/makefile level1/dalpha/sys/motd level1/dalpha/sys/password level1/tano/bootfiles/defsfile level1/tano/bootfiles/makefile level1/tano/bootlists/standard.bl level1/tano/cmds/defsfile level1/tano/cmds/makefile level1/tano/defs/defsfile.asm level1/tano/defs/makefile level1/tano/modules/defsfile level1/tano/modules/kernel/defsfile level1/tano/modules/kernel/makefile level1/tano/modules/makefile level1/tano/scripts/mb level1/tano/sys/errmsg level1/tano/sys/makefile level1/tano/sys/motd level1/tano/sys/password
diffstat 48 files changed, 3324 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/bootfiles/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,2 @@
+          use    ../defsfile
+          use    scfdefs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/bootfiles/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,294 @@
+#
+#bootfiles/makefile
+#
+# 2005-04-24, P.Harvey-Smith.
+#	Added kernels for both DS40 and DS80 disks for Dragon 64
+#	Added kernels for both SS80 and DS80 disks for Dragon Alpha
+#
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith,
+#	Added bootrack for original Dargon Data SS40 drives.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+include $(NITROS9DIR)/rules.mak
+
+# Module directory
+MD		= ../modules
+# Commands directory
+CD		= ../cmds
+
+DEPENDS		= ./makefile
+
+KERNEL_D64	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_d64
+
+KERNEL_D64TANO	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_1773_tano
+
+KERNEL_DALPHA	= $(MD)/rel_dalpha $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_dalpha
+
+IDE	= $(3PD)/ide
+SCSI	= $(3PD)/scsisys
+
+
+#Dragon 32+/64 bootfiles.
+
+BOOTFILE_D64_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Tano Dragon 64, using RS-Dos cartrage and 60Hz clock (NTSC)
+
+BOOTFILE_D64TANO_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+
+BOOTFILE_D64TANO_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Dragon Alpha Bootfiles
+
+BOOTFILE_DALPHA_SS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_SS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILES	= bootfile_d64_DS40_51 bootfile_d64_DS40_32 \
+		  bootfile_d64_SS40_51 bootfile_d64_SS40_32 \
+		  bootfile_d64_DS80_51 bootfile_d64_DS80_32 \
+		  bootfile_d64tano_DS40_51 bootfile_d64tano_DS40_32 \
+		  bootfile_d64tano_DS80_51 bootfile_d64tano_DS80_32 \
+		  bootfile_dalpha_SS80_32 bootfile_dalpha_SS80_51 \
+		  bootfile_dalpha_DS80_32 bootfile_dalpha_DS80_51
+		  
+KERNELS		= kernel_d64 kernel_d64tano kernel_dalpha
+
+ALLOBJS		= $(BOOTFILES) $(KERNELS)
+
+all:	$(ALLOBJS)
+
+echo:	
+	@$(ECHO) $(BOOTFILE_D64_DS40_32)
+
+# Dragon64 Disk boot
+bootfile_d64_DS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_DS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+			
+bootfile_d64_SS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_SS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+
+bootfile_d64_DS80_32: 	$(BOOTFILE_D64_DS80_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_32)>$@
+
+bootfile_d64_DS80_51: 	$(BOOTFILE_D64_DS80_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_51)>$@
+
+#Tano bootfiles
+bootfile_d64tano_DS40_32: 	$(BOOTFILE_D64TANO_DS40_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_32)>$@
+
+bootfile_d64tano_DS40_51: 	$(BOOTFILE_D64TANO_DS40_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_51)>$@
+
+bootfile_d64tano_DS80_32: 	$(BOOTFILE_D64TANO_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_32)>$@
+
+bootfile_d64tano_DS80_51: 	$(BOOTFILE_D64TANO_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_51)>$@
+
+# Dragon Alpha Disk boot
+bootfile_dalpha_SS80_32: 	$(BOOTFILE_DALPHA_SS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_32)>$@
+
+bootfile_dalpha_SS80_51: 	$(BOOTFILE_DALPHA_SS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_51)>$@
+
+bootfile_dalpha_DS80_32: 	$(BOOTFILE_DALPHA_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_32)>$@
+
+bootfile_dalpha_DS80_51: 	$(BOOTFILE_DALPHA_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_51)>$@
+
+# Dragon 64 WD2797 Kernel
+kernel_d64: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64)>$@
+		$(PADROM) 4096 $@
+
+# Tano Dragon 64 WD1773 Kernel
+kernel_d64tano:	$(KERNEL_D64TANO) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64TANO)>$@
+		$(PADROM) 4096 $@
+
+# Dragon Alpha WD2797 Kernel
+kernel_dalpha: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_DALPHA)>$@
+		$(PADROM) 4096 $@
+
+clean:
+	$(RM) $(ALLOBJS)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/bootlists/standard.bl	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,162 @@
+***************************************
+* NitrOS-9 Level 1 Bootlist
+*
+* $Id$
+*
+* This bootlist is presented as an example for creating custom bootfiles.
+* A module may be excluded from the bootfile if an asterisk (*) is the
+* first character of the line.
+*
+***************************************
+* Kernel/System Section
+*
+* These modules are mandatory.
+../MODULES/SYSMODS/ioman
+*
+***************************************
+* CDF Section (HawkSoft)
+*
+*../MODULES/CDF/cdf.mn
+*
+* CDF descriptors - select as needed
+* SCSI descriptors (IDs 0-6)
+*../MODULES/CDF/sc0.dd
+*../MODULES/CDF/sc1.dd
+*../MODULES/CDF/sc2.dd
+*../MODULES/CDF/sc3.dd
+*../MODULES/CDF/sc4.dd
+*../MODULES/CDF/sc5.dd
+*../MODULES/CDF/sc6.dd
+* IDE descriptors (master/slave)
+*../MODULES/CDF/ic0.dd
+*../MODULES/CDF/ic1.dd
+*
+***************************************
+* RBF Section
+*
+../MODULES/RBF/rbf.mn
+*
+* DriveWire driver (Cloud-9 product)
+*../MODULES/RBF/drivewire.dr
+* DriveWire descriptors - select as needed
+*../MODULES/RBF/ddx0.dd
+*../MODULES/RBF/x0.dd
+*../MODULES/RBF/x1.dd
+*../MODULES/RBF/x2.dd
+*../MODULES/RBF/x3.dd
+*
+* SuperDriver Package (Cloud-9 product)
+*../MODULES/RBF/rbsuper.dr
+* Select Low level SCSI and/or IDE driver
+*../MODULES/RBF/lltc3.dr
+*../MODULES/RBF/llide.dr
+* SuperDriver descriptors - select as needed
+* SCSI descriptors (IDs 0-7)
+*../MODULES/RBF/s0_tc3.dd
+*../MODULES/RBF/s1_tc3.dd
+*../MODULES/RBF/s2_tc3.dd
+*../MODULES/RBF/s3_tc3.dd
+*../MODULES/RBF/s4_tc3.dd
+*../MODULES/RBF/s5_tc3.dd
+*../MODULES/RBF/s6_tc3.dd
+* SCSI HDB-DOS descriptor
+*../MODULES/RBF/sh_ide.dd
+* IDE descriptors (master/slave)
+*../MODULES/RBF/i0_ide.dd
+*../MODULES/RBF/i1_ide.dd
+* IDE HDB-DOS descriptor
+*../MODULES/RBF/ih_ide.dd
+*
+* WD1773 floppy support for Tandy and compatible disk controllers
+../MODULES/RBF/rb1773.dr
+* WD1773 floppy support for Disto Super Controller II
+*../MODULES/RBF/rb1773_scii_ff74.dr
+*../MODULES/RBF/rb1773_scii_ff58.dr
+* Floppy device descriptors
+* DD - default device - choose one if needed
+*../MODULES/RBF/ddd0_35s.dd
+../MODULES/RBF/ddd0_40d.dd
+*../MODULES/RBF/ddd0_80d.dd
+* D0 - drive 0 - choose one if needed
+*../MODULES/RBF/d0_35s.dd
+../MODULES/RBF/d0_40d.dd
+*../MODULES/RBF/d0_80d.dd
+* D1 - drive 1 - choose one if needed
+*../MODULES/RBF/d1_35s.dd
+../MODULES/RBF/d1_40d.dd
+*../MODULES/RBF/d1_80d.dd
+* D2 - drive 2 - choose one if needed
+*../MODULES/RBF/d2_35s.dd
+../MODULES/RBF/d2_40d.dd
+*../MODULES/RBF/d2_80d.dd
+* D3 - drive 3 - choose if needed
+*../MODULES/RBF/d3_35s.dd
+***************************************
+* SCF Section
+*
+../MODULES/SCF/scf.mn
+*
+* Video Terminal I/O driver and subroutine modules
+../MODULES/SCF/vtio.dr
+* Choose from CoVDG (32x16 VDG) or CoHR (Hi-Res 51x24 graphics screen)
+../MODULES/SCF/covdg.io
+*../MODULES/SCF/cohr.io
+*
+* Select only one term descriptor
+../MODULES/SCF/term32.dt
+*../MODULES/SCF/term51.dt
+*../MODULES/SCF/term_bbt.dt
+*../MODULES/SCF/term_sc6551.dt
+*
+* Serial port drivers
+* CoCo Bit-Banger terminal port
+*../MODULES/SCF/scbbt.dr
+*../MODULES/SCF/t1.dd
+* 6551 ACIA
+*../MODULES/SCF/sc6551.dr
+*../MODULES/SCF/t2_sc6551.dd
+*../MODULES/SCF/t3_sc6551.dd
+*
+* Printer drivers
+* ../MODULES/SCF/scbbp.dr
+* ../MODULES/SCF/p.dd
+*
+***************************************
+* Pipe Section
+*
+* Pipes are a useful but optional part of a system.
+../MODULES/PIPE/pipeman.mn
+../MODULES/PIPE/piper.dr
+../MODULES/PIPE/pipe.dd
+*
+***************************************
+* Clock Section
+*
+* Select one clock module depending upon your power line frequency
+* (60Hz = USA/Canada; 50Hz = Europe, Australia)
+../MODULES/CLOCKS/clock_60hz
+*../MODULES/CLOCKS/clock_50hz
+* Select one clock2 module that supports your real-time clock, if any.
+* Besides support for the internal software clock, the following
+* hardware clocks are supported: Burke & Burke, Disto 2-N-1, Disto 4-N-1,
+* Eliminator, Harris, SmartWatch, Cloud-9, the MESS emulator, Jeff
+* Vavasour's CoCo emulator, and DriveWire.
+../MODULES/CLOCKS/clock2_soft
+*../MODULES/CLOCKS/clock2_bnb
+*../MODULES/CLOCKS/clock2_disto2
+*../MODULES/CLOCKS/clock2_disto4
+*../MODULES/CLOCKS/clock2_elim
+*../MODULES/CLOCKS/clock2_harris
+*../MODULES/CLOCKS/clock2_smart
+*../MODULES/CLOCKS/clock2_jvemu
+*../MODULES/CLOCKS/clock2_messemu
+*../MODULES/CLOCKS/clock2_cloud9
+*../MODULES/CLOCKS/clock2_dw
+* 
+***************************************
+* System Kick-Start Module
+*
+* Choose which startup module you wish to use. (sysgo_dd is recommended
+* for most configurations.)
+../MODULES/SYSMODS/sysgo_dd
+*../MODULES/SYSMODS/sysgo_h0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/cmds/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+          use    ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/cmds/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,77 @@
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/cmds:$(3RDPARTY)/packages/basic09
+
+DEPENDS		= ./makefile
+
+BASIC09FILES	= runb.asm gfx.asm inkey.asm syscall.asm
+CMDS		= asm attr backup binex build cmp cobbler copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGONCMDS	= asm attr backup binex build cmp cobbler_dragon copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGON525CMDS	= asm attr backup binex build cmp cobbler copy date del deldir \
+		dir display dmode dsave dump echo exbin format free ident link list \
+		load login makdir mdir merge mfree os9gen printerr procs pwd pxd rename \
+		save setime shell_21 sleep tee tmode tsmon unlink verify xmode acia51 dmode        
+
+DRAGON525CMDS2	= cputype dcheck debug ded deiniz devs dirsort disasm edit error \
+		grfdrv help iniz irqs megaread mpi os9gen padrom park printerr prompt \
+		runb shellplus shell_21 touch tuneport 
+
+
+SUBS		= gfx inkey syscall
+ALLOBJS		= $(CMDS) $(DRAGONCMDS) $(SUBS)
+
+all:	$(ALLOBJS)
+
+alldragon: $(DRAGONCMDS) $(SUBS)
+
+
+pwd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPWD=1
+
+xmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aXMODE=1
+
+tmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aTMODE=1
+
+pxd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPXD=1
+	
+cobbler_dragon: cobbler.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)cobbler_dragon -aDRAGON=1
+
+clean:
+	$(RM) $(ALLOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+showallobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcocoobjs:
+	@$(ECHO) $(CMDS) $(SUBS)
+
+showdragonobjs:
+	@$(ECHO) $(CMDS) $(DRAGONCMDS)
+
+showdragon525objs:
+	@$(ECHO) $(DRAGON525CMDS) $(SUBS)
+
+showdragon525objs2:
+	@$(ECHO) $(DRAGON525CMDS2) $(SUBS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/defs/defsfile.asm	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,8 @@
+Level equ 1
+
+ ifp1
+ use /dd/defs/os9defs
+ use /dd/defs/rbfdefs
+ use /dd/defs/scfdefs
+ use /dd/defs/systype
+ endc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/defs/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+
+DEFOPTS		= -ls -x -z -aLevel=1
+DEFSDIR		= ../../../defs
+DEFS		= Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs
+ALLOBJS		= $(DEFS)
+
+all:	$(ALLOBJS)
+
+Defsfile: defsfile.asm
+	$(AS) $(DEFOPTS) -p $< > $@
+
+OS9Defs: $(DEFSDIR)/os9defs
+	$(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@
+
+RBFDefs: $(DEFSDIR)/rbfdefs
+	$(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@
+
+SCFDefs: $(DEFSDIR)/scfdefs
+	$(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@
+
+SysType: $(DEFSDIR)/systype
+	$(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@
+
+VTIODefs: $(DEFSDIR)/vtiodefs
+	$(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@
+
+clean:
+	$(RM) $(DEFS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/modules/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/modules/kernel/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/modules/kernel/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,29 @@
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules/kernel
+
+DEPENDS		= ./makefile
+
+KERNEL		= krn
+KERNELP2	= krnp2
+SYSCALLS	= fcmpnam.asm fprsnam.asm
+
+ALLOBJS		= $(KERNEL) $(KERNELP2)
+
+all:	$(ALLOBJS)
+
+$(KERNEL):	krn.asm $(SYSCALLS)
+
+$(KERNELP2):	krnp2.asm $(SYSCALLS)
+
+clean:
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcopyobjs:
+	@$(ECHO) $(COPYOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/modules/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,283 @@
+#
+#modules/makefile
+#
+# 2005-04-24, P.Harvey-Smith, 
+#	made descriptors for both 40 & 80 track drives for Dragon 64.
+# 		
+#
+# 2005-05-31, P.Harvey-Smith,
+# 	Steprate now passed in from ../makefile.dragon or ../makefile.dalpha
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith.
+#	Added descriptors for original Dragon Data single sided 5.25" drives.
+#	Pass step rate to boot_d64, so that boot module steprate set correctly.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules
+
+CLOCKELIM       = -aRTCElim=1
+CLOCKDISTO2     = -aRTCDsto2=1
+CLOCKDISTO4     = -aRTCDsto4=1
+CLOCKBNB        = -aRTCBB=1
+CLOCKSMART      = -aRTCSmart=1 -aMPIFlag=1
+CLOCKHARRIS     = -aRTCHarrs=1
+CLOCKCLOUD9     = -aRTCCloud9=1
+CLOCKSOFT       = -aRTCSoft=1
+CLOCKMESSEMU    = -aRTCMessEmu=1
+CLOCKJVEMU      = -aRTCJVEmu=1
+
+DEPENDS		= ./makefile
+TPB		= $(3RDPARTY)/booters
+
+BOOTERS		= boot_d64 boot_1773_tano boot_dalpha
+
+BOOTTRACK	= rel $(BOOTERS) rel_dalpha
+KERNEL		= krn krnp2
+SYSMODS		= ioman init sysgo_dd sysgo_h0
+
+CLOCKS          = clock_60hz clock_50hz \
+		clock2_elim clock2_disto2 clock2_disto4 clock2_bnb \
+                clock2_smart clock2_harris clock2_cloud9 clock2_soft \
+		clock2_messemu clock2_jvemu 
+
+RBF		= rbf.mn \
+		ddisk.dr \
+		ddd0_40d_d64.dd d0_40d_d64.dd d1_40d_d64.dd d2_40d_d64.dd d3_40d_d64.dd \
+		ddd0_40s_d64.dd d0_40s_d64.dd d1_40s_d64.dd d2_40s_d64.dd d3_40s_d64.dd \
+		ddd0_80_d64.dd d0_80_d64.dd d1_80_d64.dd d2_80_d64.dd d3_80_d64.dd \
+		rb1773.dr \
+		ddd0_40d_d64tano.dd d0_40d_d64tano.dd d1_40d_d64tano.dd d2_40d_d64tano.dd d3_40d_d64tano.dd \
+		ddd0_80_d64tano.dd d0_80_d64tano.dd d1_80_d64tano.dd d2_80_d64tano.dd d3_80_d64tano.dd \
+		adisk.dr \
+		ddd0_dalpha.dd d0_dalpha.dd d1_dalpha.dd d2_dalpha.dd d3_dalpha.dd
+		
+SCF		= scf.mn \
+		vrn.dr printer_d64.dr sspak.dr vtio.dr \
+		covdg.io cohr.io\
+		nil.dd p_d64.dd pipe.dd ssp.dd \
+		term_sc6551.dt t1.dd t2_sc6551.dd t3_sc6551.dt \
+		term32.dt term51.dt term80.dt t1_d64.dd p1_d64.dd
+
+PIPE		= pipeman.mn \
+		piper.dr \
+		pipe.dd
+
+ALLOBJS		= $(BOOTTRACK) $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) 
+
+all:	$(ALLOBJS)
+
+# Special cases
+
+# Kernel
+krn krnp2:
+	$(CD) kernel; make $@
+	$(CP) kernel/$@ .
+
+boot_d64:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP)
+
+boot_1773_tano:	boot_1773.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aSTEP=$(STEP)
+
+boot_dalpha:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP) -aDragonAlpha=1
+
+# Clocks
+clock_60hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=60
+
+clock_50hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=50
+
+clock2_bnb: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aBNB=1
+
+clock2_cloud9: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aCLOUD9=1
+
+#Terminals, vtio, is compiled with code to remap keyboad from CoCo to Dragon layout.
+vtio.dr: vtio.asm
+	$(AS) $(ASFLAGS) $(ASOUT)$@ $<  -aDragonIO=1
+
+# Floppy descriptors
+SSDD35		= -aCyls=35 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD40		= -aCyls=40 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+DSDD40		= -aCyls=40 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD80		= -aCyls=80 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+DSDD80		= -aCyls=80 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+
+#Dragon 64
+#Dragon 64 Drives can be double or single sided, but assume 
+# that /d0 and /d1 are double sided 40 track.
+
+ddd0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#Single sided 40 track drives.
+ddd0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=3 -aStep=$(STEP)
+
+
+ddd0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+#
+#Tano Dragon 64, using rb1773 driver
+# 40 track DS
+ddd0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#80track DS
+ddd0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+
+#Dragon Alpha
+# Internal drives on Alpha are Single Sided 80 track.
+
+ddd0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aStep=$(STEP)
+	
+d1_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+adisk.dr: ddisk.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDragonAlpha=1
+
+
+rel: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1
+
+rel_dalpha: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1 -aDragonAlpha=1
+	
+
+sysgo_dd: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDD=1
+
+sysgo_h0: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+sysgo_d64: sysgo_d64.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+ddisk.dr: ddisk.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ -aUPGRADED32=$(UPGRADED32) $< 
+
+
+clean:
+	$(CD) kernel; make $@
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showboottrack:
+	@$(ECHO) $(BOOTTRACK)
+
+showkernel:
+	@$(ECHO) $(KERNEL)
+
+showsysmods:
+	@$(ECHO) $(SYSMODS)
+
+showclocks:
+	@$(ECHO) $(CLOCKS)
+
+showrbf:
+	@$(ECHO) $(RBF)
+
+showscf:
+	@$(ECHO) $(SCF)
+
+showpipe:
+	@$(ECHO) $(PIPE)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/scripts/mb	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,30 @@
+-t
+-x
+tmode .1 pau=0
+echo * NitrOS-9 Level 1 Boot Creation Script
+echo *
+echo * This script creates a bootable floppy disk.
+echo * It assumes two floppy drives.
+echo *
+echo * The resulting disk will boot NitrOS-9 from drive 0.
+echo *
+echo "Please type the destination device (e.g. /d0, /d1)"
+var.1
+prompt Insert a blank disk in %1 and press a key:
+echo *
+echo * Step 1: Format disk in %1
+format %1 "NitrOS-9 Level 1 Boot Disk" r
+echo *
+echo * Step 2: Create a custom boot track
+merge ../MODULES/BOOTTRACK/rel ../MODULES/KERNEL/krn ../MODULES/KERNEL/krnp2 ../MODULES/SYSMODS/init ../MODULES/BOOTTRACK/boot_1773_6ms>-bttemp
+echo *
+echo * Step 3: Create the bootfile and boot track
+os9gen %1 -t=bttemp<../BOOTLISTS/standard.bl
+del bttemp
+echo *
+echo * Step 4: Populate the disk with essential files
+copy ../MODULES/SYSMODS/sysgo_dd %1/sysgo
+makdir %1/CMDS
+copy -w=%1/CMDS ../CMDS/shell
+echo *
+echo * We're done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/sys/errmsg	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,144 @@
+183 - Illegal window type
+184 - Window already defined
+185 - Font Not found
+186 - Stack Overflow
+187 - Illegal Argument
+188 - unused
+189 - Illegal Coordinates
+190 - Internal Integrity check
+191 - Buffer size is too small
+192 - Illegal Command
+193 - Screen or Window Table is Full
+194 - Bad/Undefined buffer number
+195 - Illegal window definition
+196 - Window undefined
+197 - unused
+198 - unused
+199 - unused
+200 - Path Table Full
+201 - Illegal Path Number
+202 - Interrupt Polling Table Full
+203 - Illegal Mode
+204 - Device Table Full
+205 - Illegal Module Header
+206 - Module Directory Full
+207 - Memory Full
+208 - Illegal Service Request
+209 - Module Busy
+210 - Boundary Error
+211 - End of File
+212 - Returning non-allocated memory
+213 - Non-existing Segment
+214 - No Permission
+215 - Bad Path Name
+216 - Path Name Not Found
+217 - Segment List Full
+218 - File Already Exists
+219 - Illegal Block Address
+220 - Phone Hangup-Data Carrier Detect lost
+221 - Module Not Found
+223 - Suicide Attempt
+224 - Illegal Process Number
+226 - No Children
+227 - Illegal SWI Code
+228 - Process Aborted
+229 - Process Table Full
+230 - Illegal Parameter Area
+231 - Known module
+232 - Incorrect Module CRC
+233 - Signal Error
+234 - Non-existent Module
+235 - Bad Name
+236 - Bad Module Header
+237 - RAM Full
+238 - Unknown Process ID
+239 - No task number available
+240 - Unit Error
+241 - Sector Error
+242 - Write Protect
+243 - CRC Error
+244 - Read Error
+245 - Write Error
+246 - Not Ready
+247 - Seek Error
+248 - Media Full
+249 - Wrong Type
+250 - Device Busy
+251 - Disk ID Change
+252 - Record is locked-out
+253 - Non-sharable file busy
+254 - I/O Deadlock Error
+1 - Unconditional Abort
+2 - Keyboard Abort
+3 - Keyboard Interrupt
+10 -- Unrecognized Symbol
+11 -- Excessive Verbage
+12 -- Illegal Statement Construction
+13 -- I-code Overflow
+14 -- Illegal Channel Reference
+15 -- Illegal Mode (read/write/update)
+16 -- Illegal Number
+17 -- Illegal Prefix
+18 -- Illegal Operand
+19 -- Illegal Operator
+20 -- Illegal Record Field Name
+21 -- Illegal Dimension
+22 -- Illegal Literal
+23 -- Illegal Relational
+24 -- Illegal Type Suffix
+25 -- Too-large Dimension
+26 -- Too-large Line Number
+27 -- Missing Assignment Statement
+28 -- Missing Path Number
+29 -- Missing Comma
+30 -- Missing Dimension
+31 -- Missing DO Statement
+32 -- Memory Full
+33 -- Missing GOTO
+34 -- Missing Left Parenthesis
+35 -- Missing Line Reference
+36 -- Missing Operand
+37 -- Missing Right Parenthesis
+38 -- Missing THEN statement
+39 -- Missing TO
+40 -- Missing Variable Reference
+41 -- No Ending Quote
+42 -- Too Many Subscripts
+43 -- Unknown Procedure
+44 -- Multiply-defined Procedure
+45 -- Divide by Zero
+46 -- Operand Type Mismatch
+47 -- String Stack Overflow
+48 -- Unimplemented Routine
+49 -- Undefined Variable
+50 -- Floating Overflow
+51 -- Line with Compiler Error
+52 -- Value out of Range for Destination
+53 -- Subroutine Stack Overflow
+54 -- Subroutine Stack Underflow
+55 -- Subscript out of Range
+56 -- Parameter Error
+57 -- System Stack Overflow
+58 -- I/O Type Mismatch
+59 -- I/O Numeric Input Format Bad
+60 -- I/O Conversion: Number out of Range
+61 -- Illegal Input Format
+62 -- I/O Format Repeat Error
+63 -- I/O Format Syntax Error
+64 -- Illegal Path Number
+65 -- Wrong Number of Subscripts
+66 -- Non-record-type Operand
+67 -- Illegal Argument
+68 -- Illegal Control Structure
+69 -- Unmatched Control Structure
+70 -- Illegal FOR Variable
+71 -- Illegal Expression Type
+72 -- Illegal Declarative Statement
+73 -- Array Size Overflow
+74 -- Undefined Line Number
+75 -- Multiply-defined Line Number
+76 -- Multiply-defined Variable
+77 -- Illegal Input Variable
+78 -- Seek Out of Range
+79 -- Missing Data Statement
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/sys/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+HD		= $(6809L1)/sys
+
+SYSFILES	= errmsg motd password
+HELPFILES	= $(HD)/asm.hp $(HD)/attr.hp $(HD)/backup.hp $(HD)/binex.hp $(HD)/build.hp $(HD)/chd.hp \
+		$(HD)/chx.hp $(HD)/cmp.hp $(HD)/cobbler.hp $(HD)/config.hp $(HD)/copy.hp $(HD)/cputype.hp $(HD)/date.hp \
+		$(HD)/dcheck.hp $(HD)/debug.hp $(HD)/ded.hp $(HD)/deiniz.hp $(HD)/del.hp $(HD)/deldir.hp $(HD)/devs.hp \
+		$(HD)/dir.hp $(HD)/dirsort.hp $(HD)/disasm.hp $(HD)/display.hp $(HD)/dmode.hp $(HD)/dsave.hp $(HD)/dump.hp $(HD)/echo.hp \
+		$(HD)/edit.hp $(HD)/error.hp $(HD)/ex.hp $(HD)/exbin.hp $(HD)/format.hp $(HD)/free.hp $(HD)/gfx.hp \
+		$(HD)/help.hp $(HD)/ident.hp $(HD)/iniz.hp $(HD)/inkey.hp $(HD)/irqs.hp $(HD)/kill.hp $(HD)/link.hp \
+		$(HD)/list.hp $(HD)/load.hp $(HD)/login.hp $(HD)/makdir.hp \
+		$(HD)/mdir.hp $(HD)/megaread.hp $(HD)/merge.hp $(HD)/mpi.hp $(HD)/mfree.hp $(HD)/os9gen.hp \
+		$(HD)/padrom.hp $(HD)/park.hp $(HD)/procs.hp $(HD)/prompt.hp $(HD)/pwd.hp $(HD)/pxd.hp \
+	 	$(HD)/rename.hp $(HD)/save.hp $(HD)/setime.hp \
+		$(HD)/setpr.hp $(HD)/shell.hp $(HD)/sleep.hp $(HD)/tee.hp $(HD)/tmode.hp $(HD)/touch.hp $(HD)/tsmon.hp \
+		$(HD)/tuneport.hp $(HD)/unlink.hp $(HD)/verify.hp $(HD)/xmode.hp
+HELPMSG		= helpmsg
+ALLOBJS		= $(SYSFILES) $(HELPMSG)
+
+
+all:	$(ALLOBJS) $(DEPENDS)
+
+alldragon: $(ALLOBJS)
+
+helpmsg: $(HELPFILES)
+	$(MERGE) $(HELPFILES) > $@
+
+clean:
+	$(RM) $(HELPMSG)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/sys/motd	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,3 @@
+
+Welcome to NitrOS-9 Level 1!
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/d64/sys/password	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,5 @@
+,,0,128,/DD/CMDS,.,SHELL
+USER1,,1,128,.,.,SHELL
+USER2,,2,128,.,.,SHELL
+USER3,,3,128,.,.,SHELL
+USER4,,4,128,.,.,SHELL
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/bootfiles/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,2 @@
+          use    ../defsfile
+          use    scfdefs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/bootfiles/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,294 @@
+#
+#bootfiles/makefile
+#
+# 2005-04-24, P.Harvey-Smith.
+#	Added kernels for both DS40 and DS80 disks for Dragon 64
+#	Added kernels for both SS80 and DS80 disks for Dragon Alpha
+#
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith,
+#	Added bootrack for original Dargon Data SS40 drives.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+include $(NITROS9DIR)/rules.mak
+
+# Module directory
+MD		= ../modules
+# Commands directory
+CD		= ../cmds
+
+DEPENDS		= ./makefile
+
+KERNEL_D64	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_d64
+
+KERNEL_D64TANO	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_1773_tano
+
+KERNEL_DALPHA	= $(MD)/rel_dalpha $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_dalpha
+
+IDE	= $(3PD)/ide
+SCSI	= $(3PD)/scsisys
+
+
+#Dragon 32+/64 bootfiles.
+
+BOOTFILE_D64_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Tano Dragon 64, using RS-Dos cartrage and 60Hz clock (NTSC)
+
+BOOTFILE_D64TANO_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+
+BOOTFILE_D64TANO_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Dragon Alpha Bootfiles
+
+BOOTFILE_DALPHA_SS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_SS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILES	= bootfile_d64_DS40_51 bootfile_d64_DS40_32 \
+		  bootfile_d64_SS40_51 bootfile_d64_SS40_32 \
+		  bootfile_d64_DS80_51 bootfile_d64_DS80_32 \
+		  bootfile_d64tano_DS40_51 bootfile_d64tano_DS40_32 \
+		  bootfile_d64tano_DS80_51 bootfile_d64tano_DS80_32 \
+		  bootfile_dalpha_SS80_32 bootfile_dalpha_SS80_51 \
+		  bootfile_dalpha_DS80_32 bootfile_dalpha_DS80_51
+		  
+KERNELS		= kernel_d64 kernel_d64tano kernel_dalpha
+
+ALLOBJS		= $(BOOTFILES) $(KERNELS)
+
+all:	$(ALLOBJS)
+
+echo:	
+	@$(ECHO) $(BOOTFILE_D64_DS40_32)
+
+# Dragon64 Disk boot
+bootfile_d64_DS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_DS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+			
+bootfile_d64_SS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_SS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+
+bootfile_d64_DS80_32: 	$(BOOTFILE_D64_DS80_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_32)>$@
+
+bootfile_d64_DS80_51: 	$(BOOTFILE_D64_DS80_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_51)>$@
+
+#Tano bootfiles
+bootfile_d64tano_DS40_32: 	$(BOOTFILE_D64TANO_DS40_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_32)>$@
+
+bootfile_d64tano_DS40_51: 	$(BOOTFILE_D64TANO_DS40_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_51)>$@
+
+bootfile_d64tano_DS80_32: 	$(BOOTFILE_D64TANO_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_32)>$@
+
+bootfile_d64tano_DS80_51: 	$(BOOTFILE_D64TANO_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_51)>$@
+
+# Dragon Alpha Disk boot
+bootfile_dalpha_SS80_32: 	$(BOOTFILE_DALPHA_SS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_32)>$@
+
+bootfile_dalpha_SS80_51: 	$(BOOTFILE_DALPHA_SS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_51)>$@
+
+bootfile_dalpha_DS80_32: 	$(BOOTFILE_DALPHA_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_32)>$@
+
+bootfile_dalpha_DS80_51: 	$(BOOTFILE_DALPHA_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_51)>$@
+
+# Dragon 64 WD2797 Kernel
+kernel_d64: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64)>$@
+		$(PADROM) 4096 $@
+
+# Tano Dragon 64 WD1773 Kernel
+kernel_d64tano:	$(KERNEL_D64TANO) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64TANO)>$@
+		$(PADROM) 4096 $@
+
+# Dragon Alpha WD2797 Kernel
+kernel_dalpha: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_DALPHA)>$@
+		$(PADROM) 4096 $@
+
+clean:
+	$(RM) $(ALLOBJS)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/bootlists/standard.bl	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,162 @@
+***************************************
+* NitrOS-9 Level 1 Bootlist
+*
+* $Id$
+*
+* This bootlist is presented as an example for creating custom bootfiles.
+* A module may be excluded from the bootfile if an asterisk (*) is the
+* first character of the line.
+*
+***************************************
+* Kernel/System Section
+*
+* These modules are mandatory.
+../MODULES/SYSMODS/ioman
+*
+***************************************
+* CDF Section (HawkSoft)
+*
+*../MODULES/CDF/cdf.mn
+*
+* CDF descriptors - select as needed
+* SCSI descriptors (IDs 0-6)
+*../MODULES/CDF/sc0.dd
+*../MODULES/CDF/sc1.dd
+*../MODULES/CDF/sc2.dd
+*../MODULES/CDF/sc3.dd
+*../MODULES/CDF/sc4.dd
+*../MODULES/CDF/sc5.dd
+*../MODULES/CDF/sc6.dd
+* IDE descriptors (master/slave)
+*../MODULES/CDF/ic0.dd
+*../MODULES/CDF/ic1.dd
+*
+***************************************
+* RBF Section
+*
+../MODULES/RBF/rbf.mn
+*
+* DriveWire driver (Cloud-9 product)
+*../MODULES/RBF/drivewire.dr
+* DriveWire descriptors - select as needed
+*../MODULES/RBF/ddx0.dd
+*../MODULES/RBF/x0.dd
+*../MODULES/RBF/x1.dd
+*../MODULES/RBF/x2.dd
+*../MODULES/RBF/x3.dd
+*
+* SuperDriver Package (Cloud-9 product)
+*../MODULES/RBF/rbsuper.dr
+* Select Low level SCSI and/or IDE driver
+*../MODULES/RBF/lltc3.dr
+*../MODULES/RBF/llide.dr
+* SuperDriver descriptors - select as needed
+* SCSI descriptors (IDs 0-7)
+*../MODULES/RBF/s0_tc3.dd
+*../MODULES/RBF/s1_tc3.dd
+*../MODULES/RBF/s2_tc3.dd
+*../MODULES/RBF/s3_tc3.dd
+*../MODULES/RBF/s4_tc3.dd
+*../MODULES/RBF/s5_tc3.dd
+*../MODULES/RBF/s6_tc3.dd
+* SCSI HDB-DOS descriptor
+*../MODULES/RBF/sh_ide.dd
+* IDE descriptors (master/slave)
+*../MODULES/RBF/i0_ide.dd
+*../MODULES/RBF/i1_ide.dd
+* IDE HDB-DOS descriptor
+*../MODULES/RBF/ih_ide.dd
+*
+* WD1773 floppy support for Tandy and compatible disk controllers
+../MODULES/RBF/rb1773.dr
+* WD1773 floppy support for Disto Super Controller II
+*../MODULES/RBF/rb1773_scii_ff74.dr
+*../MODULES/RBF/rb1773_scii_ff58.dr
+* Floppy device descriptors
+* DD - default device - choose one if needed
+*../MODULES/RBF/ddd0_35s.dd
+../MODULES/RBF/ddd0_40d.dd
+*../MODULES/RBF/ddd0_80d.dd
+* D0 - drive 0 - choose one if needed
+*../MODULES/RBF/d0_35s.dd
+../MODULES/RBF/d0_40d.dd
+*../MODULES/RBF/d0_80d.dd
+* D1 - drive 1 - choose one if needed
+*../MODULES/RBF/d1_35s.dd
+../MODULES/RBF/d1_40d.dd
+*../MODULES/RBF/d1_80d.dd
+* D2 - drive 2 - choose one if needed
+*../MODULES/RBF/d2_35s.dd
+../MODULES/RBF/d2_40d.dd
+*../MODULES/RBF/d2_80d.dd
+* D3 - drive 3 - choose if needed
+*../MODULES/RBF/d3_35s.dd
+***************************************
+* SCF Section
+*
+../MODULES/SCF/scf.mn
+*
+* Video Terminal I/O driver and subroutine modules
+../MODULES/SCF/vtio.dr
+* Choose from CoVDG (32x16 VDG) or CoHR (Hi-Res 51x24 graphics screen)
+../MODULES/SCF/covdg.io
+*../MODULES/SCF/cohr.io
+*
+* Select only one term descriptor
+../MODULES/SCF/term32.dt
+*../MODULES/SCF/term51.dt
+*../MODULES/SCF/term_bbt.dt
+*../MODULES/SCF/term_sc6551.dt
+*
+* Serial port drivers
+* CoCo Bit-Banger terminal port
+*../MODULES/SCF/scbbt.dr
+*../MODULES/SCF/t1.dd
+* 6551 ACIA
+*../MODULES/SCF/sc6551.dr
+*../MODULES/SCF/t2_sc6551.dd
+*../MODULES/SCF/t3_sc6551.dd
+*
+* Printer drivers
+* ../MODULES/SCF/scbbp.dr
+* ../MODULES/SCF/p.dd
+*
+***************************************
+* Pipe Section
+*
+* Pipes are a useful but optional part of a system.
+../MODULES/PIPE/pipeman.mn
+../MODULES/PIPE/piper.dr
+../MODULES/PIPE/pipe.dd
+*
+***************************************
+* Clock Section
+*
+* Select one clock module depending upon your power line frequency
+* (60Hz = USA/Canada; 50Hz = Europe, Australia)
+../MODULES/CLOCKS/clock_60hz
+*../MODULES/CLOCKS/clock_50hz
+* Select one clock2 module that supports your real-time clock, if any.
+* Besides support for the internal software clock, the following
+* hardware clocks are supported: Burke & Burke, Disto 2-N-1, Disto 4-N-1,
+* Eliminator, Harris, SmartWatch, Cloud-9, the MESS emulator, Jeff
+* Vavasour's CoCo emulator, and DriveWire.
+../MODULES/CLOCKS/clock2_soft
+*../MODULES/CLOCKS/clock2_bnb
+*../MODULES/CLOCKS/clock2_disto2
+*../MODULES/CLOCKS/clock2_disto4
+*../MODULES/CLOCKS/clock2_elim
+*../MODULES/CLOCKS/clock2_harris
+*../MODULES/CLOCKS/clock2_smart
+*../MODULES/CLOCKS/clock2_jvemu
+*../MODULES/CLOCKS/clock2_messemu
+*../MODULES/CLOCKS/clock2_cloud9
+*../MODULES/CLOCKS/clock2_dw
+* 
+***************************************
+* System Kick-Start Module
+*
+* Choose which startup module you wish to use. (sysgo_dd is recommended
+* for most configurations.)
+../MODULES/SYSMODS/sysgo_dd
+*../MODULES/SYSMODS/sysgo_h0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/cmds/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+          use    ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/cmds/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,77 @@
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/cmds:$(3RDPARTY)/packages/basic09
+
+DEPENDS		= ./makefile
+
+BASIC09FILES	= runb.asm gfx.asm inkey.asm syscall.asm
+CMDS		= asm attr backup binex build cmp cobbler copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGONCMDS	= asm attr backup binex build cmp cobbler_dragon copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGON525CMDS	= asm attr backup binex build cmp cobbler copy date del deldir \
+		dir display dmode dsave dump echo exbin format free ident link list \
+		load login makdir mdir merge mfree os9gen printerr procs pwd pxd rename \
+		save setime shell_21 sleep tee tmode tsmon unlink verify xmode acia51 dmode        
+
+DRAGON525CMDS2	= cputype dcheck debug ded deiniz devs dirsort disasm edit error \
+		grfdrv help iniz irqs megaread mpi os9gen padrom park printerr prompt \
+		runb shellplus shell_21 touch tuneport 
+
+
+SUBS		= gfx inkey syscall
+ALLOBJS		= $(CMDS) $(DRAGONCMDS) $(SUBS)
+
+all:	$(ALLOBJS)
+
+alldragon: $(DRAGONCMDS) $(SUBS)
+
+
+pwd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPWD=1
+
+xmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aXMODE=1
+
+tmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aTMODE=1
+
+pxd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPXD=1
+	
+cobbler_dragon: cobbler.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)cobbler_dragon -aDRAGON=1
+
+clean:
+	$(RM) $(ALLOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+showallobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcocoobjs:
+	@$(ECHO) $(CMDS) $(SUBS)
+
+showdragonobjs:
+	@$(ECHO) $(CMDS) $(DRAGONCMDS)
+
+showdragon525objs:
+	@$(ECHO) $(DRAGON525CMDS) $(SUBS)
+
+showdragon525objs2:
+	@$(ECHO) $(DRAGON525CMDS2) $(SUBS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/defs/defsfile.asm	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,8 @@
+Level equ 1
+
+ ifp1
+ use /dd/defs/os9defs
+ use /dd/defs/rbfdefs
+ use /dd/defs/scfdefs
+ use /dd/defs/systype
+ endc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/defs/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+
+DEFOPTS		= -ls -x -z -aLevel=1
+DEFSDIR		= ../../../defs
+DEFS		= Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs
+ALLOBJS		= $(DEFS)
+
+all:	$(ALLOBJS)
+
+Defsfile: defsfile.asm
+	$(AS) $(DEFOPTS) -p $< > $@
+
+OS9Defs: $(DEFSDIR)/os9defs
+	$(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@
+
+RBFDefs: $(DEFSDIR)/rbfdefs
+	$(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@
+
+SCFDefs: $(DEFSDIR)/scfdefs
+	$(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@
+
+SysType: $(DEFSDIR)/systype
+	$(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@
+
+VTIODefs: $(DEFSDIR)/vtiodefs
+	$(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@
+
+clean:
+	$(RM) $(DEFS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/modules/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/modules/kernel/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/modules/kernel/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,29 @@
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules/kernel
+
+DEPENDS		= ./makefile
+
+KERNEL		= krn
+KERNELP2	= krnp2
+SYSCALLS	= fcmpnam.asm fprsnam.asm
+
+ALLOBJS		= $(KERNEL) $(KERNELP2)
+
+all:	$(ALLOBJS)
+
+$(KERNEL):	krn.asm $(SYSCALLS)
+
+$(KERNELP2):	krnp2.asm $(SYSCALLS)
+
+clean:
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcopyobjs:
+	@$(ECHO) $(COPYOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/modules/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,283 @@
+#
+#modules/makefile
+#
+# 2005-04-24, P.Harvey-Smith, 
+#	made descriptors for both 40 & 80 track drives for Dragon 64.
+# 		
+#
+# 2005-05-31, P.Harvey-Smith,
+# 	Steprate now passed in from ../makefile.dragon or ../makefile.dalpha
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith.
+#	Added descriptors for original Dragon Data single sided 5.25" drives.
+#	Pass step rate to boot_d64, so that boot module steprate set correctly.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules
+
+CLOCKELIM       = -aRTCElim=1
+CLOCKDISTO2     = -aRTCDsto2=1
+CLOCKDISTO4     = -aRTCDsto4=1
+CLOCKBNB        = -aRTCBB=1
+CLOCKSMART      = -aRTCSmart=1 -aMPIFlag=1
+CLOCKHARRIS     = -aRTCHarrs=1
+CLOCKCLOUD9     = -aRTCCloud9=1
+CLOCKSOFT       = -aRTCSoft=1
+CLOCKMESSEMU    = -aRTCMessEmu=1
+CLOCKJVEMU      = -aRTCJVEmu=1
+
+DEPENDS		= ./makefile
+TPB		= $(3RDPARTY)/booters
+
+BOOTERS		= boot_d64 boot_1773_tano boot_dalpha
+
+BOOTTRACK	= rel $(BOOTERS) rel_dalpha
+KERNEL		= krn krnp2
+SYSMODS		= ioman init sysgo_dd sysgo_h0
+
+CLOCKS          = clock_60hz clock_50hz \
+		clock2_elim clock2_disto2 clock2_disto4 clock2_bnb \
+                clock2_smart clock2_harris clock2_cloud9 clock2_soft \
+		clock2_messemu clock2_jvemu 
+
+RBF		= rbf.mn \
+		ddisk.dr \
+		ddd0_40d_d64.dd d0_40d_d64.dd d1_40d_d64.dd d2_40d_d64.dd d3_40d_d64.dd \
+		ddd0_40s_d64.dd d0_40s_d64.dd d1_40s_d64.dd d2_40s_d64.dd d3_40s_d64.dd \
+		ddd0_80_d64.dd d0_80_d64.dd d1_80_d64.dd d2_80_d64.dd d3_80_d64.dd \
+		rb1773.dr \
+		ddd0_40d_d64tano.dd d0_40d_d64tano.dd d1_40d_d64tano.dd d2_40d_d64tano.dd d3_40d_d64tano.dd \
+		ddd0_80_d64tano.dd d0_80_d64tano.dd d1_80_d64tano.dd d2_80_d64tano.dd d3_80_d64tano.dd \
+		adisk.dr \
+		ddd0_dalpha.dd d0_dalpha.dd d1_dalpha.dd d2_dalpha.dd d3_dalpha.dd
+		
+SCF		= scf.mn \
+		vrn.dr printer_d64.dr sspak.dr vtio.dr \
+		covdg.io cohr.io\
+		nil.dd p_d64.dd pipe.dd ssp.dd \
+		term_sc6551.dt t1.dd t2_sc6551.dd t3_sc6551.dt \
+		term32.dt term51.dt term80.dt t1_d64.dd p1_d64.dd
+
+PIPE		= pipeman.mn \
+		piper.dr \
+		pipe.dd
+
+ALLOBJS		= $(BOOTTRACK) $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) 
+
+all:	$(ALLOBJS)
+
+# Special cases
+
+# Kernel
+krn krnp2:
+	$(CD) kernel; make $@
+	$(CP) kernel/$@ .
+
+boot_d64:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP)
+
+boot_1773_tano:	boot_1773.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aSTEP=$(STEP)
+
+boot_dalpha:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP) -aDragonAlpha=1
+
+# Clocks
+clock_60hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=60
+
+clock_50hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=50
+
+clock2_bnb: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aBNB=1
+
+clock2_cloud9: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aCLOUD9=1
+
+#Terminals, vtio, is compiled with code to remap keyboad from CoCo to Dragon layout.
+vtio.dr: vtio.asm
+	$(AS) $(ASFLAGS) $(ASOUT)$@ $<  -aDragonIO=1
+
+# Floppy descriptors
+SSDD35		= -aCyls=35 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD40		= -aCyls=40 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+DSDD40		= -aCyls=40 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD80		= -aCyls=80 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+DSDD80		= -aCyls=80 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+
+#Dragon 64
+#Dragon 64 Drives can be double or single sided, but assume 
+# that /d0 and /d1 are double sided 40 track.
+
+ddd0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#Single sided 40 track drives.
+ddd0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=3 -aStep=$(STEP)
+
+
+ddd0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+#
+#Tano Dragon 64, using rb1773 driver
+# 40 track DS
+ddd0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#80track DS
+ddd0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+
+#Dragon Alpha
+# Internal drives on Alpha are Single Sided 80 track.
+
+ddd0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aStep=$(STEP)
+	
+d1_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+adisk.dr: ddisk.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDragonAlpha=1
+
+
+rel: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1
+
+rel_dalpha: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1 -aDragonAlpha=1
+	
+
+sysgo_dd: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDD=1
+
+sysgo_h0: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+sysgo_d64: sysgo_d64.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+ddisk.dr: ddisk.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ -aUPGRADED32=$(UPGRADED32) $< 
+
+
+clean:
+	$(CD) kernel; make $@
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showboottrack:
+	@$(ECHO) $(BOOTTRACK)
+
+showkernel:
+	@$(ECHO) $(KERNEL)
+
+showsysmods:
+	@$(ECHO) $(SYSMODS)
+
+showclocks:
+	@$(ECHO) $(CLOCKS)
+
+showrbf:
+	@$(ECHO) $(RBF)
+
+showscf:
+	@$(ECHO) $(SCF)
+
+showpipe:
+	@$(ECHO) $(PIPE)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/scripts/mb	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,30 @@
+-t
+-x
+tmode .1 pau=0
+echo * NitrOS-9 Level 1 Boot Creation Script
+echo *
+echo * This script creates a bootable floppy disk.
+echo * It assumes two floppy drives.
+echo *
+echo * The resulting disk will boot NitrOS-9 from drive 0.
+echo *
+echo "Please type the destination device (e.g. /d0, /d1)"
+var.1
+prompt Insert a blank disk in %1 and press a key:
+echo *
+echo * Step 1: Format disk in %1
+format %1 "NitrOS-9 Level 1 Boot Disk" r
+echo *
+echo * Step 2: Create a custom boot track
+merge ../MODULES/BOOTTRACK/rel ../MODULES/KERNEL/krn ../MODULES/KERNEL/krnp2 ../MODULES/SYSMODS/init ../MODULES/BOOTTRACK/boot_1773_6ms>-bttemp
+echo *
+echo * Step 3: Create the bootfile and boot track
+os9gen %1 -t=bttemp<../BOOTLISTS/standard.bl
+del bttemp
+echo *
+echo * Step 4: Populate the disk with essential files
+copy ../MODULES/SYSMODS/sysgo_dd %1/sysgo
+makdir %1/CMDS
+copy -w=%1/CMDS ../CMDS/shell
+echo *
+echo * We're done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/sys/errmsg	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,144 @@
+183 - Illegal window type
+184 - Window already defined
+185 - Font Not found
+186 - Stack Overflow
+187 - Illegal Argument
+188 - unused
+189 - Illegal Coordinates
+190 - Internal Integrity check
+191 - Buffer size is too small
+192 - Illegal Command
+193 - Screen or Window Table is Full
+194 - Bad/Undefined buffer number
+195 - Illegal window definition
+196 - Window undefined
+197 - unused
+198 - unused
+199 - unused
+200 - Path Table Full
+201 - Illegal Path Number
+202 - Interrupt Polling Table Full
+203 - Illegal Mode
+204 - Device Table Full
+205 - Illegal Module Header
+206 - Module Directory Full
+207 - Memory Full
+208 - Illegal Service Request
+209 - Module Busy
+210 - Boundary Error
+211 - End of File
+212 - Returning non-allocated memory
+213 - Non-existing Segment
+214 - No Permission
+215 - Bad Path Name
+216 - Path Name Not Found
+217 - Segment List Full
+218 - File Already Exists
+219 - Illegal Block Address
+220 - Phone Hangup-Data Carrier Detect lost
+221 - Module Not Found
+223 - Suicide Attempt
+224 - Illegal Process Number
+226 - No Children
+227 - Illegal SWI Code
+228 - Process Aborted
+229 - Process Table Full
+230 - Illegal Parameter Area
+231 - Known module
+232 - Incorrect Module CRC
+233 - Signal Error
+234 - Non-existent Module
+235 - Bad Name
+236 - Bad Module Header
+237 - RAM Full
+238 - Unknown Process ID
+239 - No task number available
+240 - Unit Error
+241 - Sector Error
+242 - Write Protect
+243 - CRC Error
+244 - Read Error
+245 - Write Error
+246 - Not Ready
+247 - Seek Error
+248 - Media Full
+249 - Wrong Type
+250 - Device Busy
+251 - Disk ID Change
+252 - Record is locked-out
+253 - Non-sharable file busy
+254 - I/O Deadlock Error
+1 - Unconditional Abort
+2 - Keyboard Abort
+3 - Keyboard Interrupt
+10 -- Unrecognized Symbol
+11 -- Excessive Verbage
+12 -- Illegal Statement Construction
+13 -- I-code Overflow
+14 -- Illegal Channel Reference
+15 -- Illegal Mode (read/write/update)
+16 -- Illegal Number
+17 -- Illegal Prefix
+18 -- Illegal Operand
+19 -- Illegal Operator
+20 -- Illegal Record Field Name
+21 -- Illegal Dimension
+22 -- Illegal Literal
+23 -- Illegal Relational
+24 -- Illegal Type Suffix
+25 -- Too-large Dimension
+26 -- Too-large Line Number
+27 -- Missing Assignment Statement
+28 -- Missing Path Number
+29 -- Missing Comma
+30 -- Missing Dimension
+31 -- Missing DO Statement
+32 -- Memory Full
+33 -- Missing GOTO
+34 -- Missing Left Parenthesis
+35 -- Missing Line Reference
+36 -- Missing Operand
+37 -- Missing Right Parenthesis
+38 -- Missing THEN statement
+39 -- Missing TO
+40 -- Missing Variable Reference
+41 -- No Ending Quote
+42 -- Too Many Subscripts
+43 -- Unknown Procedure
+44 -- Multiply-defined Procedure
+45 -- Divide by Zero
+46 -- Operand Type Mismatch
+47 -- String Stack Overflow
+48 -- Unimplemented Routine
+49 -- Undefined Variable
+50 -- Floating Overflow
+51 -- Line with Compiler Error
+52 -- Value out of Range for Destination
+53 -- Subroutine Stack Overflow
+54 -- Subroutine Stack Underflow
+55 -- Subscript out of Range
+56 -- Parameter Error
+57 -- System Stack Overflow
+58 -- I/O Type Mismatch
+59 -- I/O Numeric Input Format Bad
+60 -- I/O Conversion: Number out of Range
+61 -- Illegal Input Format
+62 -- I/O Format Repeat Error
+63 -- I/O Format Syntax Error
+64 -- Illegal Path Number
+65 -- Wrong Number of Subscripts
+66 -- Non-record-type Operand
+67 -- Illegal Argument
+68 -- Illegal Control Structure
+69 -- Unmatched Control Structure
+70 -- Illegal FOR Variable
+71 -- Illegal Expression Type
+72 -- Illegal Declarative Statement
+73 -- Array Size Overflow
+74 -- Undefined Line Number
+75 -- Multiply-defined Line Number
+76 -- Multiply-defined Variable
+77 -- Illegal Input Variable
+78 -- Seek Out of Range
+79 -- Missing Data Statement
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/sys/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+HD		= $(6809L1)/sys
+
+SYSFILES	= errmsg motd password
+HELPFILES	= $(HD)/asm.hp $(HD)/attr.hp $(HD)/backup.hp $(HD)/binex.hp $(HD)/build.hp $(HD)/chd.hp \
+		$(HD)/chx.hp $(HD)/cmp.hp $(HD)/cobbler.hp $(HD)/config.hp $(HD)/copy.hp $(HD)/cputype.hp $(HD)/date.hp \
+		$(HD)/dcheck.hp $(HD)/debug.hp $(HD)/ded.hp $(HD)/deiniz.hp $(HD)/del.hp $(HD)/deldir.hp $(HD)/devs.hp \
+		$(HD)/dir.hp $(HD)/dirsort.hp $(HD)/disasm.hp $(HD)/display.hp $(HD)/dmode.hp $(HD)/dsave.hp $(HD)/dump.hp $(HD)/echo.hp \
+		$(HD)/edit.hp $(HD)/error.hp $(HD)/ex.hp $(HD)/exbin.hp $(HD)/format.hp $(HD)/free.hp $(HD)/gfx.hp \
+		$(HD)/help.hp $(HD)/ident.hp $(HD)/iniz.hp $(HD)/inkey.hp $(HD)/irqs.hp $(HD)/kill.hp $(HD)/link.hp \
+		$(HD)/list.hp $(HD)/load.hp $(HD)/login.hp $(HD)/makdir.hp \
+		$(HD)/mdir.hp $(HD)/megaread.hp $(HD)/merge.hp $(HD)/mpi.hp $(HD)/mfree.hp $(HD)/os9gen.hp \
+		$(HD)/padrom.hp $(HD)/park.hp $(HD)/procs.hp $(HD)/prompt.hp $(HD)/pwd.hp $(HD)/pxd.hp \
+	 	$(HD)/rename.hp $(HD)/save.hp $(HD)/setime.hp \
+		$(HD)/setpr.hp $(HD)/shell.hp $(HD)/sleep.hp $(HD)/tee.hp $(HD)/tmode.hp $(HD)/touch.hp $(HD)/tsmon.hp \
+		$(HD)/tuneport.hp $(HD)/unlink.hp $(HD)/verify.hp $(HD)/xmode.hp
+HELPMSG		= helpmsg
+ALLOBJS		= $(SYSFILES) $(HELPMSG)
+
+
+all:	$(ALLOBJS) $(DEPENDS)
+
+alldragon: $(ALLOBJS)
+
+helpmsg: $(HELPFILES)
+	$(MERGE) $(HELPFILES) > $@
+
+clean:
+	$(RM) $(HELPMSG)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/sys/motd	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,3 @@
+
+Welcome to NitrOS-9 Level 1!
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/dalpha/sys/password	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,5 @@
+,,0,128,/DD/CMDS,.,SHELL
+USER1,,1,128,.,.,SHELL
+USER2,,2,128,.,.,SHELL
+USER3,,3,128,.,.,SHELL
+USER4,,4,128,.,.,SHELL
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/bootfiles/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,2 @@
+          use    ../defsfile
+          use    scfdefs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/bootfiles/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,294 @@
+#
+#bootfiles/makefile
+#
+# 2005-04-24, P.Harvey-Smith.
+#	Added kernels for both DS40 and DS80 disks for Dragon 64
+#	Added kernels for both SS80 and DS80 disks for Dragon Alpha
+#
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith,
+#	Added bootrack for original Dargon Data SS40 drives.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+include $(NITROS9DIR)/rules.mak
+
+# Module directory
+MD		= ../modules
+# Commands directory
+CD		= ../cmds
+
+DEPENDS		= ./makefile
+
+KERNEL_D64	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_d64
+
+KERNEL_D64TANO	= $(MD)/rel $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_1773_tano
+
+KERNEL_DALPHA	= $(MD)/rel_dalpha $(MD)/krn $(MD)/krnp2 $(MD)/init \
+		  $(MD)/boot_dalpha
+
+IDE	= $(3PD)/ide
+SCSI	= $(3PD)/scsisys
+
+
+#Dragon 32+/64 bootfiles.
+
+BOOTFILE_D64_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40d_d64.dd \
+		$(MD)/d0_40d_d64.dd $(MD)/d1_40d_d64.dd \
+		$(MD)/d2_40d_d64.dd $(MD)/d3_40d_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_SS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_40s_d64.dd \
+		$(MD)/d0_40s_d64.dd $(MD)/d1_40s_d64.dd \
+		$(MD)/d2_40s_d64.dd $(MD)/d3_40s_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/ddisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Tano Dragon 64, using RS-Dos cartrage and 60Hz clock (NTSC)
+
+BOOTFILE_D64TANO_DS40_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS40_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_40d_d64tano.dd \
+		$(MD)/d0_40d_d64tano.dd $(MD)/d1_40d_d64tano.dd \
+		$(MD)/d2_40d_d64tano.dd $(MD)/d3_40d_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+
+BOOTFILE_D64TANO_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_D64TANO_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/rb1773.dr \
+		$(MD)/ddd0_80_d64tano.dd \
+		$(MD)/d0_80_d64tano.dd $(MD)/d1_80_d64tano.dd \
+		$(MD)/d2_80_d64tano.dd $(MD)/d3_80_d64tano.dd \
+		$(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+#Dragon Alpha Bootfiles
+
+BOOTFILE_DALPHA_SS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_SS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_dalpha.dd\
+                $(MD)/d0_dalpha.dd $(MD)/d1_dalpha.dd \
+                $(MD)/d2_dalpha.dd $(MD)/d3_dalpha.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_32 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/covdg.io $(MD)/term32.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILE_DALPHA_DS80_51 = $(MD)/ioman \
+		$(MD)/vtio.dr $(MD)/cohr.io $(MD)/term51.dt \
+		$(MD)/rbf.mn $(MD)/adisk.dr \
+		$(MD)/ddd0_80_d64.dd \
+		$(MD)/d0_80_d64.dd $(MD)/d1_80_d64.dd \
+		$(MD)/d2_80_d64.dd $(MD)/d3_80_d64.dd \
+                $(MD)/scf.mn \
+		$(MD)/printer_d64.dr $(MD)/p_d64.dd \
+		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
+		$(MD)/clock_50hz $(MD)/clock2_soft \
+		$(MD)/sysgo_dd
+
+BOOTFILES	= bootfile_d64_DS40_51 bootfile_d64_DS40_32 \
+		  bootfile_d64_SS40_51 bootfile_d64_SS40_32 \
+		  bootfile_d64_DS80_51 bootfile_d64_DS80_32 \
+		  bootfile_d64tano_DS40_51 bootfile_d64tano_DS40_32 \
+		  bootfile_d64tano_DS80_51 bootfile_d64tano_DS80_32 \
+		  bootfile_dalpha_SS80_32 bootfile_dalpha_SS80_51 \
+		  bootfile_dalpha_DS80_32 bootfile_dalpha_DS80_51
+		  
+KERNELS		= kernel_d64 kernel_d64tano kernel_dalpha
+
+ALLOBJS		= $(BOOTFILES) $(KERNELS)
+
+all:	$(ALLOBJS)
+
+echo:	
+	@$(ECHO) $(BOOTFILE_D64_DS40_32)
+
+# Dragon64 Disk boot
+bootfile_d64_DS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_DS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+			
+bootfile_d64_SS40_32: 	$(BOOTFILE_D64_DS40_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_32)>$@
+
+bootfile_d64_SS40_51: 	$(BOOTFILE_D64_DS40_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS40_51)>$@
+
+bootfile_d64_DS80_32: 	$(BOOTFILE_D64_DS80_32) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_32)>$@
+
+bootfile_d64_DS80_51: 	$(BOOTFILE_D64_DS80_51) $(DEPENDS)
+			$(MERGE) $(BOOTFILE_D64_DS80_51)>$@
+
+#Tano bootfiles
+bootfile_d64tano_DS40_32: 	$(BOOTFILE_D64TANO_DS40_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_32)>$@
+
+bootfile_d64tano_DS40_51: 	$(BOOTFILE_D64TANO_DS40_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS40_51)>$@
+
+bootfile_d64tano_DS80_32: 	$(BOOTFILE_D64TANO_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_32)>$@
+
+bootfile_d64tano_DS80_51: 	$(BOOTFILE_D64TANO_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_D64TANO_DS80_51)>$@
+
+# Dragon Alpha Disk boot
+bootfile_dalpha_SS80_32: 	$(BOOTFILE_DALPHA_SS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_32)>$@
+
+bootfile_dalpha_SS80_51: 	$(BOOTFILE_DALPHA_SS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_SS80_51)>$@
+
+bootfile_dalpha_DS80_32: 	$(BOOTFILE_DALPHA_DS80_32) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_32)>$@
+
+bootfile_dalpha_DS80_51: 	$(BOOTFILE_DALPHA_DS80_51) $(DEPENDS)
+				$(MERGE) $(BOOTFILE_DALPHA_DS80_51)>$@
+
+# Dragon 64 WD2797 Kernel
+kernel_d64: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64)>$@
+		$(PADROM) 4096 $@
+
+# Tano Dragon 64 WD1773 Kernel
+kernel_d64tano:	$(KERNEL_D64TANO) $(DEPENDS)
+		$(MERGE) $(KERNEL_D64TANO)>$@
+		$(PADROM) 4096 $@
+
+# Dragon Alpha WD2797 Kernel
+kernel_dalpha: 	$(KERNEL_D64) $(DEPENDS)
+		$(MERGE) $(KERNEL_DALPHA)>$@
+		$(PADROM) 4096 $@
+
+clean:
+	$(RM) $(ALLOBJS)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/bootlists/standard.bl	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,162 @@
+***************************************
+* NitrOS-9 Level 1 Bootlist
+*
+* $Id$
+*
+* This bootlist is presented as an example for creating custom bootfiles.
+* A module may be excluded from the bootfile if an asterisk (*) is the
+* first character of the line.
+*
+***************************************
+* Kernel/System Section
+*
+* These modules are mandatory.
+../MODULES/SYSMODS/ioman
+*
+***************************************
+* CDF Section (HawkSoft)
+*
+*../MODULES/CDF/cdf.mn
+*
+* CDF descriptors - select as needed
+* SCSI descriptors (IDs 0-6)
+*../MODULES/CDF/sc0.dd
+*../MODULES/CDF/sc1.dd
+*../MODULES/CDF/sc2.dd
+*../MODULES/CDF/sc3.dd
+*../MODULES/CDF/sc4.dd
+*../MODULES/CDF/sc5.dd
+*../MODULES/CDF/sc6.dd
+* IDE descriptors (master/slave)
+*../MODULES/CDF/ic0.dd
+*../MODULES/CDF/ic1.dd
+*
+***************************************
+* RBF Section
+*
+../MODULES/RBF/rbf.mn
+*
+* DriveWire driver (Cloud-9 product)
+*../MODULES/RBF/drivewire.dr
+* DriveWire descriptors - select as needed
+*../MODULES/RBF/ddx0.dd
+*../MODULES/RBF/x0.dd
+*../MODULES/RBF/x1.dd
+*../MODULES/RBF/x2.dd
+*../MODULES/RBF/x3.dd
+*
+* SuperDriver Package (Cloud-9 product)
+*../MODULES/RBF/rbsuper.dr
+* Select Low level SCSI and/or IDE driver
+*../MODULES/RBF/lltc3.dr
+*../MODULES/RBF/llide.dr
+* SuperDriver descriptors - select as needed
+* SCSI descriptors (IDs 0-7)
+*../MODULES/RBF/s0_tc3.dd
+*../MODULES/RBF/s1_tc3.dd
+*../MODULES/RBF/s2_tc3.dd
+*../MODULES/RBF/s3_tc3.dd
+*../MODULES/RBF/s4_tc3.dd
+*../MODULES/RBF/s5_tc3.dd
+*../MODULES/RBF/s6_tc3.dd
+* SCSI HDB-DOS descriptor
+*../MODULES/RBF/sh_ide.dd
+* IDE descriptors (master/slave)
+*../MODULES/RBF/i0_ide.dd
+*../MODULES/RBF/i1_ide.dd
+* IDE HDB-DOS descriptor
+*../MODULES/RBF/ih_ide.dd
+*
+* WD1773 floppy support for Tandy and compatible disk controllers
+../MODULES/RBF/rb1773.dr
+* WD1773 floppy support for Disto Super Controller II
+*../MODULES/RBF/rb1773_scii_ff74.dr
+*../MODULES/RBF/rb1773_scii_ff58.dr
+* Floppy device descriptors
+* DD - default device - choose one if needed
+*../MODULES/RBF/ddd0_35s.dd
+../MODULES/RBF/ddd0_40d.dd
+*../MODULES/RBF/ddd0_80d.dd
+* D0 - drive 0 - choose one if needed
+*../MODULES/RBF/d0_35s.dd
+../MODULES/RBF/d0_40d.dd
+*../MODULES/RBF/d0_80d.dd
+* D1 - drive 1 - choose one if needed
+*../MODULES/RBF/d1_35s.dd
+../MODULES/RBF/d1_40d.dd
+*../MODULES/RBF/d1_80d.dd
+* D2 - drive 2 - choose one if needed
+*../MODULES/RBF/d2_35s.dd
+../MODULES/RBF/d2_40d.dd
+*../MODULES/RBF/d2_80d.dd
+* D3 - drive 3 - choose if needed
+*../MODULES/RBF/d3_35s.dd
+***************************************
+* SCF Section
+*
+../MODULES/SCF/scf.mn
+*
+* Video Terminal I/O driver and subroutine modules
+../MODULES/SCF/vtio.dr
+* Choose from CoVDG (32x16 VDG) or CoHR (Hi-Res 51x24 graphics screen)
+../MODULES/SCF/covdg.io
+*../MODULES/SCF/cohr.io
+*
+* Select only one term descriptor
+../MODULES/SCF/term32.dt
+*../MODULES/SCF/term51.dt
+*../MODULES/SCF/term_bbt.dt
+*../MODULES/SCF/term_sc6551.dt
+*
+* Serial port drivers
+* CoCo Bit-Banger terminal port
+*../MODULES/SCF/scbbt.dr
+*../MODULES/SCF/t1.dd
+* 6551 ACIA
+*../MODULES/SCF/sc6551.dr
+*../MODULES/SCF/t2_sc6551.dd
+*../MODULES/SCF/t3_sc6551.dd
+*
+* Printer drivers
+* ../MODULES/SCF/scbbp.dr
+* ../MODULES/SCF/p.dd
+*
+***************************************
+* Pipe Section
+*
+* Pipes are a useful but optional part of a system.
+../MODULES/PIPE/pipeman.mn
+../MODULES/PIPE/piper.dr
+../MODULES/PIPE/pipe.dd
+*
+***************************************
+* Clock Section
+*
+* Select one clock module depending upon your power line frequency
+* (60Hz = USA/Canada; 50Hz = Europe, Australia)
+../MODULES/CLOCKS/clock_60hz
+*../MODULES/CLOCKS/clock_50hz
+* Select one clock2 module that supports your real-time clock, if any.
+* Besides support for the internal software clock, the following
+* hardware clocks are supported: Burke & Burke, Disto 2-N-1, Disto 4-N-1,
+* Eliminator, Harris, SmartWatch, Cloud-9, the MESS emulator, Jeff
+* Vavasour's CoCo emulator, and DriveWire.
+../MODULES/CLOCKS/clock2_soft
+*../MODULES/CLOCKS/clock2_bnb
+*../MODULES/CLOCKS/clock2_disto2
+*../MODULES/CLOCKS/clock2_disto4
+*../MODULES/CLOCKS/clock2_elim
+*../MODULES/CLOCKS/clock2_harris
+*../MODULES/CLOCKS/clock2_smart
+*../MODULES/CLOCKS/clock2_jvemu
+*../MODULES/CLOCKS/clock2_messemu
+*../MODULES/CLOCKS/clock2_cloud9
+*../MODULES/CLOCKS/clock2_dw
+* 
+***************************************
+* System Kick-Start Module
+*
+* Choose which startup module you wish to use. (sysgo_dd is recommended
+* for most configurations.)
+../MODULES/SYSMODS/sysgo_dd
+*../MODULES/SYSMODS/sysgo_h0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/cmds/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+          use    ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/cmds/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,77 @@
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/cmds:$(3RDPARTY)/packages/basic09
+
+DEPENDS		= ./makefile
+
+BASIC09FILES	= runb.asm gfx.asm inkey.asm syscall.asm
+CMDS		= asm attr backup binex build cmp cobbler copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGONCMDS	= asm attr backup binex build cmp cobbler_dragon copy cputype \
+		date dcheck debug ded deiniz del deldir devs dir dirsort disasm \
+		display dmode dsave dump echo edit error exbin format \
+		free grfdrv help ident iniz irqs link list load login makdir \
+		megaread mdir merge mfree mpi os9gen padrom park printerr procs prompt pwd pxd \
+		rename runb save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+DRAGON525CMDS	= asm attr backup binex build cmp cobbler copy date del deldir \
+		dir display dmode dsave dump echo exbin format free ident link list \
+		load login makdir mdir merge mfree os9gen printerr procs pwd pxd rename \
+		save setime shell_21 sleep tee tmode tsmon unlink verify xmode acia51 dmode        
+
+DRAGON525CMDS2	= cputype dcheck debug ded deiniz devs dirsort disasm edit error \
+		grfdrv help iniz irqs megaread mpi os9gen padrom park printerr prompt \
+		runb shellplus shell_21 touch tuneport 
+
+
+SUBS		= gfx inkey syscall
+ALLOBJS		= $(CMDS) $(DRAGONCMDS) $(SUBS)
+
+all:	$(ALLOBJS)
+
+alldragon: $(DRAGONCMDS) $(SUBS)
+
+
+pwd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPWD=1
+
+xmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aXMODE=1
+
+tmode:	xmode.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aTMODE=1
+
+pxd:	pd.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPXD=1
+	
+cobbler_dragon: cobbler.asm
+	$(AS) $(AFLAGS) $< $(ASOUT)cobbler_dragon -aDRAGON=1
+
+clean:
+	$(RM) $(ALLOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+showallobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcocoobjs:
+	@$(ECHO) $(CMDS) $(SUBS)
+
+showdragonobjs:
+	@$(ECHO) $(CMDS) $(DRAGONCMDS)
+
+showdragon525objs:
+	@$(ECHO) $(DRAGON525CMDS) $(SUBS)
+
+showdragon525objs2:
+	@$(ECHO) $(DRAGON525CMDS2) $(SUBS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/defs/defsfile.asm	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,8 @@
+Level equ 1
+
+ ifp1
+ use /dd/defs/os9defs
+ use /dd/defs/rbfdefs
+ use /dd/defs/scfdefs
+ use /dd/defs/systype
+ endc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/defs/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+
+DEFOPTS		= -ls -x -z -aLevel=1
+DEFSDIR		= ../../../defs
+DEFS		= Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs
+ALLOBJS		= $(DEFS)
+
+all:	$(ALLOBJS)
+
+Defsfile: defsfile.asm
+	$(AS) $(DEFOPTS) -p $< > $@
+
+OS9Defs: $(DEFSDIR)/os9defs
+	$(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@
+
+RBFDefs: $(DEFSDIR)/rbfdefs
+	$(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@
+
+SCFDefs: $(DEFSDIR)/scfdefs
+	$(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@
+
+SysType: $(DEFSDIR)/systype
+	$(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@
+
+VTIODefs: $(DEFSDIR)/vtiodefs
+	$(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@
+
+clean:
+	$(RM) $(DEFS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/modules/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/modules/kernel/defsfile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,1 @@
+         use   ../../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/modules/kernel/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,29 @@
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules/kernel
+
+DEPENDS		= ./makefile
+
+KERNEL		= krn
+KERNELP2	= krnp2
+SYSCALLS	= fcmpnam.asm fprsnam.asm
+
+ALLOBJS		= $(KERNEL) $(KERNELP2)
+
+all:	$(ALLOBJS)
+
+$(KERNEL):	krn.asm $(SYSCALLS)
+
+$(KERNELP2):	krnp2.asm $(SYSCALLS)
+
+clean:
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showcopyobjs:
+	@$(ECHO) $(COPYOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/modules/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,283 @@
+#
+#modules/makefile
+#
+# 2005-04-24, P.Harvey-Smith, 
+#	made descriptors for both 40 & 80 track drives for Dragon 64.
+# 		
+#
+# 2005-05-31, P.Harvey-Smith,
+# 	Steprate now passed in from ../makefile.dragon or ../makefile.dalpha
+#
+# 2005-12-31, P.Harvey-Smith,
+#	Fixed up for renamed video drivers.
+#
+# 2006-01-08, P.Harvey-Smith.
+#	Added descriptors for original Dragon Data single sided 5.25" drives.
+#	Pass step rate to boot_d64, so that boot module steprate set correctly.
+#
+# 2006-01-18, P.Harvey-Smith,
+#	Added ability to build for the Tano Dragon 64, using an RS-DOS
+#	disk controler and a 60Hz clock.
+#
+
+PORT = tano
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(6809L1)/modules
+
+CLOCKELIM       = -aRTCElim=1
+CLOCKDISTO2     = -aRTCDsto2=1
+CLOCKDISTO4     = -aRTCDsto4=1
+CLOCKBNB        = -aRTCBB=1
+CLOCKSMART      = -aRTCSmart=1 -aMPIFlag=1
+CLOCKHARRIS     = -aRTCHarrs=1
+CLOCKCLOUD9     = -aRTCCloud9=1
+CLOCKSOFT       = -aRTCSoft=1
+CLOCKMESSEMU    = -aRTCMessEmu=1
+CLOCKJVEMU      = -aRTCJVEmu=1
+
+DEPENDS		= ./makefile
+TPB		= $(3RDPARTY)/booters
+
+BOOTERS		= boot_d64 boot_1773_tano boot_dalpha
+
+BOOTTRACK	= rel $(BOOTERS) rel_dalpha
+KERNEL		= krn krnp2
+SYSMODS		= ioman init sysgo_dd sysgo_h0
+
+CLOCKS          = clock_60hz clock_50hz \
+		clock2_elim clock2_disto2 clock2_disto4 clock2_bnb \
+                clock2_smart clock2_harris clock2_cloud9 clock2_soft \
+		clock2_messemu clock2_jvemu 
+
+RBF		= rbf.mn \
+		ddisk.dr \
+		ddd0_40d_d64.dd d0_40d_d64.dd d1_40d_d64.dd d2_40d_d64.dd d3_40d_d64.dd \
+		ddd0_40s_d64.dd d0_40s_d64.dd d1_40s_d64.dd d2_40s_d64.dd d3_40s_d64.dd \
+		ddd0_80_d64.dd d0_80_d64.dd d1_80_d64.dd d2_80_d64.dd d3_80_d64.dd \
+		rb1773.dr \
+		ddd0_40d_d64tano.dd d0_40d_d64tano.dd d1_40d_d64tano.dd d2_40d_d64tano.dd d3_40d_d64tano.dd \
+		ddd0_80_d64tano.dd d0_80_d64tano.dd d1_80_d64tano.dd d2_80_d64tano.dd d3_80_d64tano.dd \
+		adisk.dr \
+		ddd0_dalpha.dd d0_dalpha.dd d1_dalpha.dd d2_dalpha.dd d3_dalpha.dd
+		
+SCF		= scf.mn \
+		vrn.dr printer_d64.dr sspak.dr vtio.dr \
+		covdg.io cohr.io\
+		nil.dd p_d64.dd pipe.dd ssp.dd \
+		term_sc6551.dt t1.dd t2_sc6551.dd t3_sc6551.dt \
+		term32.dt term51.dt term80.dt t1_d64.dd p1_d64.dd
+
+PIPE		= pipeman.mn \
+		piper.dr \
+		pipe.dd
+
+ALLOBJS		= $(BOOTTRACK) $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) 
+
+all:	$(ALLOBJS)
+
+# Special cases
+
+# Kernel
+krn krnp2:
+	$(CD) kernel; make $@
+	$(CP) kernel/$@ .
+
+boot_d64:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP)
+
+boot_1773_tano:	boot_1773.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aSTEP=$(STEP)
+
+boot_dalpha:	boot_d64.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aStep=$(STEP) -aDragonAlpha=1
+
+# Clocks
+clock_60hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=60
+
+clock_50hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=50
+
+clock2_bnb: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aBNB=1
+
+clock2_cloud9: clock2_ds1315.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aCLOUD9=1
+
+#Terminals, vtio, is compiled with code to remap keyboad from CoCo to Dragon layout.
+vtio.dr: vtio.asm
+	$(AS) $(ASFLAGS) $(ASOUT)$@ $<  -aDragonIO=1
+
+# Floppy descriptors
+SSDD35		= -aCyls=35 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD40		= -aCyls=40 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+DSDD40		= -aCyls=40 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1
+SSDD80		= -aCyls=80 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+DSDD80		= -aCyls=80 -aSides=2 -aSectTrk=18 -aSectTrk0=18 \
+		-aInterlv=2 -aSAS=8 -aDensity=1 -aD35
+
+#Dragon 64
+#Dragon 64 Drives can be double or single sided, but assume 
+# that /d0 and /d1 are double sided 40 track.
+
+ddd0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#Single sided 40 track drives.
+ddd0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40s_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD40) -aDNum=3 -aStep=$(STEP)
+
+
+ddd0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+#
+#Tano Dragon 64, using rb1773 driver
+# 40 track DS
+ddd0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=0 -aStep=$(STEP)
+
+d1_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=1 -aStep=$(STEP)
+
+d2_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=2 -aStep=$(STEP)
+
+d3_40d_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD40) -aDNum=3 -aStep=$(STEP)
+
+#80track DS
+ddd0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=0 -aStep=$(STEP)
+
+d1_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_80_d64tano.dd: rb1773desc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+
+#Dragon Alpha
+# Internal drives on Alpha are Single Sided 80 track.
+
+ddd0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aDD=1 -aStep=$(STEP)
+
+d0_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=0 -aStep=$(STEP)
+	
+d1_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(SSDD80) -aDNum=1 -aStep=$(STEP)
+
+d2_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=2 -aStep=$(STEP)
+
+d3_dalpha.dd: ddiskdesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -aDNum=3 -aStep=$(STEP)
+
+adisk.dr: ddisk.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDragonAlpha=1
+
+
+rel: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1
+
+rel_dalpha: rel.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDragon64=1 -aDragonAlpha=1
+	
+
+sysgo_dd: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDD=1
+
+sysgo_h0: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+sysgo_d64: sysgo_d64.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+ddisk.dr: ddisk.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ -aUPGRADED32=$(UPGRADED32) $< 
+
+
+clean:
+	$(CD) kernel; make $@
+	$(RM) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
+
+showboottrack:
+	@$(ECHO) $(BOOTTRACK)
+
+showkernel:
+	@$(ECHO) $(KERNEL)
+
+showsysmods:
+	@$(ECHO) $(SYSMODS)
+
+showclocks:
+	@$(ECHO) $(CLOCKS)
+
+showrbf:
+	@$(ECHO) $(RBF)
+
+showscf:
+	@$(ECHO) $(SCF)
+
+showpipe:
+	@$(ECHO) $(PIPE)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/scripts/mb	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,30 @@
+-t
+-x
+tmode .1 pau=0
+echo * NitrOS-9 Level 1 Boot Creation Script
+echo *
+echo * This script creates a bootable floppy disk.
+echo * It assumes two floppy drives.
+echo *
+echo * The resulting disk will boot NitrOS-9 from drive 0.
+echo *
+echo "Please type the destination device (e.g. /d0, /d1)"
+var.1
+prompt Insert a blank disk in %1 and press a key:
+echo *
+echo * Step 1: Format disk in %1
+format %1 "NitrOS-9 Level 1 Boot Disk" r
+echo *
+echo * Step 2: Create a custom boot track
+merge ../MODULES/BOOTTRACK/rel ../MODULES/KERNEL/krn ../MODULES/KERNEL/krnp2 ../MODULES/SYSMODS/init ../MODULES/BOOTTRACK/boot_1773_6ms>-bttemp
+echo *
+echo * Step 3: Create the bootfile and boot track
+os9gen %1 -t=bttemp<../BOOTLISTS/standard.bl
+del bttemp
+echo *
+echo * Step 4: Populate the disk with essential files
+copy ../MODULES/SYSMODS/sysgo_dd %1/sysgo
+makdir %1/CMDS
+copy -w=%1/CMDS ../CMDS/shell
+echo *
+echo * We're done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/sys/errmsg	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,144 @@
+183 - Illegal window type
+184 - Window already defined
+185 - Font Not found
+186 - Stack Overflow
+187 - Illegal Argument
+188 - unused
+189 - Illegal Coordinates
+190 - Internal Integrity check
+191 - Buffer size is too small
+192 - Illegal Command
+193 - Screen or Window Table is Full
+194 - Bad/Undefined buffer number
+195 - Illegal window definition
+196 - Window undefined
+197 - unused
+198 - unused
+199 - unused
+200 - Path Table Full
+201 - Illegal Path Number
+202 - Interrupt Polling Table Full
+203 - Illegal Mode
+204 - Device Table Full
+205 - Illegal Module Header
+206 - Module Directory Full
+207 - Memory Full
+208 - Illegal Service Request
+209 - Module Busy
+210 - Boundary Error
+211 - End of File
+212 - Returning non-allocated memory
+213 - Non-existing Segment
+214 - No Permission
+215 - Bad Path Name
+216 - Path Name Not Found
+217 - Segment List Full
+218 - File Already Exists
+219 - Illegal Block Address
+220 - Phone Hangup-Data Carrier Detect lost
+221 - Module Not Found
+223 - Suicide Attempt
+224 - Illegal Process Number
+226 - No Children
+227 - Illegal SWI Code
+228 - Process Aborted
+229 - Process Table Full
+230 - Illegal Parameter Area
+231 - Known module
+232 - Incorrect Module CRC
+233 - Signal Error
+234 - Non-existent Module
+235 - Bad Name
+236 - Bad Module Header
+237 - RAM Full
+238 - Unknown Process ID
+239 - No task number available
+240 - Unit Error
+241 - Sector Error
+242 - Write Protect
+243 - CRC Error
+244 - Read Error
+245 - Write Error
+246 - Not Ready
+247 - Seek Error
+248 - Media Full
+249 - Wrong Type
+250 - Device Busy
+251 - Disk ID Change
+252 - Record is locked-out
+253 - Non-sharable file busy
+254 - I/O Deadlock Error
+1 - Unconditional Abort
+2 - Keyboard Abort
+3 - Keyboard Interrupt
+10 -- Unrecognized Symbol
+11 -- Excessive Verbage
+12 -- Illegal Statement Construction
+13 -- I-code Overflow
+14 -- Illegal Channel Reference
+15 -- Illegal Mode (read/write/update)
+16 -- Illegal Number
+17 -- Illegal Prefix
+18 -- Illegal Operand
+19 -- Illegal Operator
+20 -- Illegal Record Field Name
+21 -- Illegal Dimension
+22 -- Illegal Literal
+23 -- Illegal Relational
+24 -- Illegal Type Suffix
+25 -- Too-large Dimension
+26 -- Too-large Line Number
+27 -- Missing Assignment Statement
+28 -- Missing Path Number
+29 -- Missing Comma
+30 -- Missing Dimension
+31 -- Missing DO Statement
+32 -- Memory Full
+33 -- Missing GOTO
+34 -- Missing Left Parenthesis
+35 -- Missing Line Reference
+36 -- Missing Operand
+37 -- Missing Right Parenthesis
+38 -- Missing THEN statement
+39 -- Missing TO
+40 -- Missing Variable Reference
+41 -- No Ending Quote
+42 -- Too Many Subscripts
+43 -- Unknown Procedure
+44 -- Multiply-defined Procedure
+45 -- Divide by Zero
+46 -- Operand Type Mismatch
+47 -- String Stack Overflow
+48 -- Unimplemented Routine
+49 -- Undefined Variable
+50 -- Floating Overflow
+51 -- Line with Compiler Error
+52 -- Value out of Range for Destination
+53 -- Subroutine Stack Overflow
+54 -- Subroutine Stack Underflow
+55 -- Subscript out of Range
+56 -- Parameter Error
+57 -- System Stack Overflow
+58 -- I/O Type Mismatch
+59 -- I/O Numeric Input Format Bad
+60 -- I/O Conversion: Number out of Range
+61 -- Illegal Input Format
+62 -- I/O Format Repeat Error
+63 -- I/O Format Syntax Error
+64 -- Illegal Path Number
+65 -- Wrong Number of Subscripts
+66 -- Non-record-type Operand
+67 -- Illegal Argument
+68 -- Illegal Control Structure
+69 -- Unmatched Control Structure
+70 -- Illegal FOR Variable
+71 -- Illegal Expression Type
+72 -- Illegal Declarative Statement
+73 -- Array Size Overflow
+74 -- Undefined Line Number
+75 -- Multiply-defined Line Number
+76 -- Multiply-defined Variable
+77 -- Illegal Input Variable
+78 -- Seek Out of Range
+79 -- Missing Data Statement
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/sys/makefile	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,34 @@
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+HD		= $(6809L1)/sys
+
+SYSFILES	= errmsg motd password
+HELPFILES	= $(HD)/asm.hp $(HD)/attr.hp $(HD)/backup.hp $(HD)/binex.hp $(HD)/build.hp $(HD)/chd.hp \
+		$(HD)/chx.hp $(HD)/cmp.hp $(HD)/cobbler.hp $(HD)/config.hp $(HD)/copy.hp $(HD)/cputype.hp $(HD)/date.hp \
+		$(HD)/dcheck.hp $(HD)/debug.hp $(HD)/ded.hp $(HD)/deiniz.hp $(HD)/del.hp $(HD)/deldir.hp $(HD)/devs.hp \
+		$(HD)/dir.hp $(HD)/dirsort.hp $(HD)/disasm.hp $(HD)/display.hp $(HD)/dmode.hp $(HD)/dsave.hp $(HD)/dump.hp $(HD)/echo.hp \
+		$(HD)/edit.hp $(HD)/error.hp $(HD)/ex.hp $(HD)/exbin.hp $(HD)/format.hp $(HD)/free.hp $(HD)/gfx.hp \
+		$(HD)/help.hp $(HD)/ident.hp $(HD)/iniz.hp $(HD)/inkey.hp $(HD)/irqs.hp $(HD)/kill.hp $(HD)/link.hp \
+		$(HD)/list.hp $(HD)/load.hp $(HD)/login.hp $(HD)/makdir.hp \
+		$(HD)/mdir.hp $(HD)/megaread.hp $(HD)/merge.hp $(HD)/mpi.hp $(HD)/mfree.hp $(HD)/os9gen.hp \
+		$(HD)/padrom.hp $(HD)/park.hp $(HD)/procs.hp $(HD)/prompt.hp $(HD)/pwd.hp $(HD)/pxd.hp \
+	 	$(HD)/rename.hp $(HD)/save.hp $(HD)/setime.hp \
+		$(HD)/setpr.hp $(HD)/shell.hp $(HD)/sleep.hp $(HD)/tee.hp $(HD)/tmode.hp $(HD)/touch.hp $(HD)/tsmon.hp \
+		$(HD)/tuneport.hp $(HD)/unlink.hp $(HD)/verify.hp $(HD)/xmode.hp
+HELPMSG		= helpmsg
+ALLOBJS		= $(SYSFILES) $(HELPMSG)
+
+
+all:	$(ALLOBJS) $(DEPENDS)
+
+alldragon: $(ALLOBJS)
+
+helpmsg: $(HELPFILES)
+	$(MERGE) $(HELPFILES) > $@
+
+clean:
+	$(RM) $(HELPMSG)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/sys/motd	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,3 @@
+
+Welcome to NitrOS-9 Level 1!
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/tano/sys/password	Sat Apr 22 19:18:23 2006 +0000
@@ -0,0 +1,5 @@
+,,0,128,/DD/CMDS,.,SHELL
+USER1,,1,128,.,.,SHELL
+USER2,,2,128,.,.,SHELL
+USER3,,3,128,.,.,SHELL
+USER4,,4,128,.,.,SHELL