changeset 3144:1402bb974f85

Add build tree for Gary Becker's CoCo3FPGA project This adds the tree of makefiles and definitions for building disk images for the CoCo3FPGA port.
author Bill Pierce <merlinious999@gmail.com>
date Sat, 04 Feb 2017 18:33:07 +0100
parents c860ff48e09c
children 0c5b16b0b65d
files level2/coco3fpga/bootfiles/makefile level2/coco3fpga/bootlists/standard.bl level2/coco3fpga/cmds/defsfile level2/coco3fpga/cmds/makefile level2/coco3fpga/defs/Defsfile level2/coco3fpga/defs/makefile level2/coco3fpga/defsfile level2/coco3fpga/makefile level2/coco3fpga/modules/defsfile level2/coco3fpga/modules/kernel/defsfile level2/coco3fpga/modules/kernel/makefile level2/coco3fpga/modules/makefile level2/coco3fpga/port.mak level2/coco3fpga/scripts/mb.dw level2/coco3fpga/scripts/mb.floppy level2/coco3fpga/startup.fpga level2/coco3fpga/startup.fpgadw level2/coco3fpga/sys/makefile level2/coco3fpga/wwwroot/makefile
diffstat 19 files changed, 815 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/bootfiles/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+include ../../coco3/bootfiles/makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/bootlists/standard.bl	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,301 @@
+***************************************
+* NitrOS-9 Level 2 CoCo 3 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/KERNEL/krnp2
+*../MODULES/KERNEL/krnp3_perr
+*../MODULES/KERNEL/krnp4_regdump
+../MODULES/SYSMODS/ioman
+../MODULES/SYSMODS/init
+*
+***************************************
+* 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
+*../MODULES/RBF/rbdw.dr
+*../MODULES/RBF/dwio.sb
+* 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
+*../MODULES/RBF/llcocosdc.dr
+* Coco3FPGA ONLY
+*../MODULES/RBF/llcoco3fpga.dr
+* SuperDriver descriptors - select as needed
+* TC^3 SCSI DD descriptor (ID 0)
+*../MODULES/RBF/dds0_tc3.dd
+* TC^3 SCSI descriptors (IDs 0-6)
+*../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
+* TC^3 SCSI HDB-DOS descriptor
+*../MODULES/RBF/sh_tc3.dd
+* IDE DD descriptor (Master)
+*../MODULES/RBF/ddi0_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
+* Cocosdc SD DD descriptor
+*../MODULES/RBF/ddsd0_cocosdc.dd
+* CocoSDC Sd descriptors
+*../MODULES/RBF/sd0_cocosdc.dd
+*../MODULES/RBF/sd1_cocosdc.dd
+* Coco3FPGA SD DD descriptor (Coco3FPGA ONLY)
+*../MODULES/RBF/ddsd0_coco3fpga.dd
+* Coco3FPGA SD descriptors (Coco3FPGA ONLY)
+*../MODULES/RBF/sd0_coco3fpga.dd
+*../MODULES/RBF/sd1_coco3fpga.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
+*
+* RAMDisk driver
+*../MODULES/RBF/rammer.dr
+* RAMDisk descriptors - select as needed
+*../MODULES/RBF/ddr0_8k.dd
+*../MODULES/RBF/ddr0_96k.dd
+*../MODULES/RBF/ddr0_128k.dd
+*../MODULES/RBF/ddr0_192k.dd
+*../MODULES/RBF/r0_8k.dd
+*../MODULES/RBF/r0_96k.dd
+*../MODULES/RBF/r0_128k.dd
+*../MODULES/RBF/r0_192k.dd
+* Memory device descriptor
+*../MODULES/RBF/md.dd
+* MyRam RamDisk driver
+*../MODULES/RBF/mram.dr
+* MyRam descriptors
+*../MODULES/RBF/mr0.dd
+* RamD Ramdisk driver (Coco3FPGA ONLY)
+*../MODULES/RBF/ramd.dr
+* RamD DD descriptor
+*../MODULES/RBF/ddr0_ramd_coco3fpga.dd
+* RamD descriptor
+*../MODULES/RBF/r0_ramd_coco3fpga.dd
+***************************************
+* SCF Section
+*
+../MODULES/SCF/scf.mn
+*
+* CoCo 3 I/O sub-drivers
+* Keyboard modules: choose cc3 for CoCo 3 keyboard
+../MODULES/SCF/vtio.dr
+../MODULES/SCF/keydrv_cc3.sb
+* Sound module: CoCo 3 built-in sound generator
+../MODULES/SCF/snddrv_cc3.sb
+* Joystick modules: choose joy for hi-res joystick adapter or
+* (M)icrosoft or (L)ogitech mouse using 6551 or 6552 ACIA
+../MODULES/SCF/joydrv_joy.sb
+*../MODULES/SCF/joydrv_6551M.sb
+*../MODULES/SCF/joydrv_6552M.sb
+*../MODULES/SCF/joydrv_6551L.sb
+*../MODULES/SCF/joydrv_6552L.sb
+*
+* CoGrf/CoWin subroutine module
+* Use CoWin with Multi-Vue; use CoGrf
+* for basic text and graphic window support..
+* Select only one.
+*../MODULES/SCF/cogrf.io
+../MODULES/SCF/cowin.io
+*
+* CoVDG I/O subroutine module
+* Select one or both
+*../MODULES/SCF/covdg.io
+*../MODULES/SCF/covdg_small.io
+*
+* Select only one term descriptor
+*../MODULES/SCF/term_vdg.dt
+*../MODULES/SCF/term_win40.dt
+../MODULES/SCF/term_win80.dt
+*../MODULES/SCF/term_scbbt.dt
+*../MODULES/SCF/term_sc6551.dt
+*
+* Select as many window descriptors as needed
+../MODULES/SCF/w.dw
+../MODULES/SCF/w1.dw
+../MODULES/SCF/w2.dw
+../MODULES/SCF/w3.dw
+../MODULES/SCF/w4.dw
+../MODULES/SCF/w5.dw
+../MODULES/SCF/w6.dw
+../MODULES/SCF/w7.dw
+../MODULES/SCF/w8.dw
+../MODULES/SCF/w9.dw
+../MODULES/SCF/w10.dw
+../MODULES/SCF/w11.dw
+../MODULES/SCF/w12.dw
+../MODULES/SCF/w13.dw
+../MODULES/SCF/w14.dw
+../MODULES/SCF/w15.dw
+*
+* Select as many VDG window descriptors as needed
+*../MODULES/SCF/v1.dw
+*../MODULES/SCF/v2.dw
+*../MODULES/SCF/v3.dw
+*../MODULES/SCF/v4.dw
+*../MODULES/SCF/v5.dw
+*../MODULES/SCF/v6.dw
+*../MODULES/SCF/v7.dw
+*
+* Serial port drivers
+* CoCo Bit-Banger terminal port
+*../MODULES/SCF/scbbt.dr
+*../MODULES/SCF/t1_scbbt.dd
+* 6551 ACIA
+*../MODULES/SCF/sc6551.dr
+*../MODULES/SCF/t2_sc6551.dd
+*../MODULES/SCF/t3_sc6551.dd
+* Tandy Modem Pak
+*../MODULES/SCF/modpak.dr
+*../MODULES/SCF/m1.dd
+*../MODULES/SCF/m2.dd
+*
+* Printer drivers
+* ../MODULES/SCF/scbbp.dr
+* ../MODULES/SCF/p_scbbp.dd
+*
+* DriveWire 3 Printer drivers
+* ../MODULES/SCF/scdwp.dr
+* ../MODULES/SCF/p_scdwp.dd
+*
+* DriveWire Virtual Channel Driver
+*../MODULES/SCF/scdwv.dr
+*../MODULES/SCF/term_scdwv.dt
+*../MODULES/SCF/n_scdwv.dd
+*../MODULES/SCF/n1_scdwv.dd
+*../MODULES/SCF/n2_scdwv.dd
+*../MODULES/SCF/n3_scdwv.dd
+*../MODULES/SCF/n4_scdwv.dd
+*../MODULES/SCF/n5_scdwv.dd
+*../MODULES/SCF/n6_scdwv.dd
+*../MODULES/SCF/n7_scdwv.dd
+*../MODULES/SCF/n8_scdwv.dd
+*../MODULES/SCF/n9_scdwv.dd
+*../MODULES/SCF/n10_scdwv.dd
+*../MODULES/SCF/n11_scdwv.dd
+*../MODULES/SCF/n12_scdwv.dd
+*../MODULES/SCF/n13_scdwv.dd
+*../MODULES/SCF/midi_scdwv.dd
+*../MODULES/SCF/term_z_scdwv.dt
+*../MODULES/SCF/z1_scdwv.dd
+*../MODULES/SCF/z2_scdwv.dd
+*../MODULES/SCF/z3_scdwv.dd
+*../MODULES/SCF/z4_scdwv.dd
+*../MODULES/SCF/z5_scdwv.dd
+*../MODULES/SCF/z6_scdwv.dd
+*../MODULES/SCF/z7_scdwv.dd
+*
+* VRN is a driver module used by certain games, including King's Quest III,
+* Leisure Suit Larry and Flight Simulator II.  A /nil descriptor is also
+* supported.
+../MODULES/SCF/vrn.dr
+../MODULES/SCF/vi.dd
+../MODULES/SCF/ftdd.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 (SuperIDE), 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.)
+* 
+* Alternatively, this module can reside in the root directory of the
+* boot device, saving precious system RAM.
+../MODULES/SYSMODS/sysgo_dd
+*../MODULES/SYSMODS/sysgo_h0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/cmds/defsfile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+          use    ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/cmds/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,2 @@
+include ../../coco3/cmds/makefile
+AFLAGS          +=  -DH6309=0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/defs/Defsfile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,8 @@
+Level    equ   2         
+
+         ifp1            
+         use   /dd/defs/os9.d
+         use   /dd/defs/rbf.d
+         use   /dd/defs/scf.d
+         use   /dd/defs/coco3.d
+         endc            
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/defs/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,32 @@
+PORT = coco3fpga
+include $(NITROS9DIR)/rules.mak
+
+DEPENDS		= ./makefile
+
+DEFOPTS		= --preprocess -DLevel=2
+PERMDEFS	= Defsfile
+DEFS		= os9defs rbfdefs scfdefs cocodefs vtiodefs
+ALLOBJS		= $(DEFS) $(PERMDEFS)
+
+all:	$(ALLOBJS)
+
+os9defs: $(DEFSDIR)/os9.d
+	$(AS) $(AFLAGS) $(DEFOPTS) -DOS9.D=0 $< > $@
+
+rbfdefs: $(DEFSDIR)/rbf.d
+	$(AS) $(AFLAGS) $(DEFOPTS) -DRBF.D=0 $< > $@
+
+scfdefs: $(DEFSDIR)/scf.d
+	$(AS) $(AFLAGS) $(DEFOPTS) -DSCF.D=0 $< > $@
+
+cocodefs: $(DEFSDIR)/coco.d
+	$(AS) $(AFLAGS) $(DEFOPTS) -DCOCO.D=0 $< > $@
+
+vtiodefs: $(DEFSDIR)/cocovtio.d
+	$(AS) $(AFLAGS) $(DEFOPTS) -DCOCOVTIO.D=0 $< > $@
+
+clean:
+	$(RM) $(DEFS)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/defsfile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,6 @@
+Level    equ   2
+
+         use   os9.d
+         use   scf.d
+         use   rbf.d
+         use   coco.d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,299 @@
+
+include port.mak
+
+# Level 2 - Specify which shell should be used
+#WHICHSHELL	= shellplus
+#WHICHSHELL	= shell_21
+
+DISTRO		= $(CPU)L$(LEVEL)
+DISTRONAME	= nos9$(CPU)l$(LEVEL)
+DISTROVER	= $(DISTRONAME)$(NITROS9VER)$(PORT)
+BOOTFILE_COCO3FPGA = bootfiles/bootfile_coco3fpga
+BOOTFILE_COCO3FPGA_SD = bootfiles/bootfile_coco3fpga_sd
+BOOTFILE_COCO3FPGA_ROM = bootfiles/bootfile_coco3fpga_rom
+BOOTFILE_COCO3FPGA_ROM_DW = bootfiles/bootfile_coco3fpga_rom_dw
+KERNELFILE_BECKER	= bootfiles/kernel_becker
+DIRS		= cmds modules defs sys bootfiles wwwroot
+
+CMDS		= $(shell $(CD) cmds; make --no-print-directory showobjs)
+CMDS_D2		= $(shell $(CD) cmds; make --no-print-directory showobjs_d2)
+CMDS_DW		= $(shell $(CD) cmds; make --no-print-directory showobjs_dw)
+BOOTTRACK	= $(shell $(CD) modules; make --no-print-directory showboottrack)
+KERNEL		= $(shell $(CD) modules; make --no-print-directory showkernel)
+SYSMODS		= $(shell $(CD) modules; make --no-print-directory showsysmods)
+CLOCKS		= $(shell $(CD) modules; make --no-print-directory showclocks)
+RBF		= $(shell $(CD) modules; make --no-print-directory showrbf)
+SCF		= $(shell $(CD) modules; make --no-print-directory showscf)
+PIPE		= $(shell $(CD) modules; make --no-print-directory showpipe)
+MODULECMDS	= shell grfdrv del echo format makdir merge os9gen prompt tmode
+
+DEFS		= $(shell $(CD) defs; make --no-print-directory showobjs)
+SYSBIN		= $(shell $(CD) sys; make --no-print-directory showbinobjs)
+SYSTEXT		= $(shell $(CD) sys; make --no-print-directory showtextobjs)
+SYSGOSYSTEXT		= $(shell $(CD) sys; make --no-print-directory showsysgotextobjs)
+STARTUP		= startup
+STARTUP_DW	= startup.dw
+STARTUP_FPGA	= startup.fpga
+STARTUP_FPGADW	= startup.fpgadw
+SYSGO		= sysgo_dd
+SYSGOBD		= sysgo_bd
+CCBKRN		= ccbkrn
+
+DSKCOCO3FPGADW	= $(DISTROVER)_becker.dsk
+DSKCOCO3FPGADWSD	= $(DISTROVER)_becker_sd.dsk
+DSKCOCO3FPGAROM	= $(DISTROVER)_bootrom.dsk
+DSKCOCO3FPGAROMDW	= $(DISTROVER)_bootrom_becker.dsk
+LDSKCOCO3FPGADW	= $(DISTRONAME)_becker.dsk
+LDSKCOCO3FPGADWSD	= $(DISTRONAME)_becker_sd.dsk
+LDSKCOCO3FPGAROM	= $(DISTRONAME)_bootrom.dsk
+LDSKCOCO3FPGAROMDW	= $(DISTRONAME)_bootrom_becker.dsk
+
+DSKS		=  $(DSKCOCO3FPGADW) $(DSKCOCO3FPGADWSD) \
+		$(DSKCOCO3FPGAROM) $(DSKCOCO3FPGAROMDW)
+LDSKS	=  $(LDSKCOCO3FPGADW) $(LDSKCOCO3FPGADWSD) \
+		$(LDSKCOCO3FPGAROM) $(LDSKCOCO3FPGAROMDW)
+
+# Make all components
+all:
+	@$(ECHO) "************************************************************"
+	@$(ECHO) "*"
+	@$(ECHO) "*      NitrOS-9/$(CPU) Level $(LEVEL) $(MACHINE) ($(PORT))"
+	@$(ECHO) "*"
+	@$(ECHO) "************************************************************"
+	$(MAKE) -C $(NITROS9DIR)/lib
+	$(foreach dir,$(DIRS),$(MAKE) -C $(dir) &&) :
+
+# Clean all components
+clean: dskclean
+	$(foreach dir,$(DIRS),$(MAKE) -C $(dir) clean &&) :
+
+dskclean:
+	$(RM) $(DSKS) $(LDSKS)
+
+dsk: all $(DSKS)
+
+dskcopy: $(DSKS)
+	$(CP) $(DSKS) $(DSKDIR)
+
+$(DSKCOCO3FPGADW):
+	$(RM) $@
+	$(OS9FORMAT_DW) -q $@ -n"NitrOS-9/$(CPU) Level $(LEVEL)"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COCO3FPGA) -t=$(KERNELFILE_BECKER)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(OS9COPY) modules/$(SYSGOBD) $@,sysgo
+	$(OS9ATTR_EXEC) $@,sysgo
+	$(CD) cmds; $(OS9COPY) $(CMDS_DW) ../$@,CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(CMDS_DW),$@,CMDS/$(file))
+	$(CD) sys; $(OS9COPY) $(SYSBIN) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(SYSBIN),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSTEXT)),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSGOSYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSGOSYSTEXT)),$@,SYS/$(file))
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(OS9ATTR_TEXT) $(foreach file,$(DEFS),$@,DEFS/$(file))
+	$(CPL) $(STARTUP_FPGADW) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/CMDS
+	$(CD) cmds; $(OS9COPY) $(MODULECMDS) ../$@,NITROS9/CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(MODULECMDS),$@,NITROS9/CMDS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES
+	$(MAKDIR) $@,NITROS9/MODULES/BOOTTRACK
+	$(CD) modules; $(OS9COPY) $(BOOTTRACK) ../$@,NITROS9/MODULES/BOOTTRACK
+	$(OS9ATTR_EXEC) $(foreach file,$(BOOTTRACK),$@,NITROS9/MODULES/BOOTTRACK/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/KERNEL
+	$(CD) modules; $(OS9COPY) $(KERNEL) ../$@,NITROS9/MODULES/KERNEL
+	$(OS9ATTR_EXEC) $(foreach file,$(KERNEL),$@,NITROS9/MODULES/KERNEL/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SYSMODS
+	$(CD) modules; $(OS9COPY) $(SYSMODS) ../$@,NITROS9/MODULES/SYSMODS
+	$(OS9ATTR_EXEC) $(foreach file,$(SYSMODS),$@,NITROS9/MODULES/SYSMODS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/CLOCKS
+	$(CD) modules; $(OS9COPY) $(CLOCKS) ../$@,NITROS9/MODULES/CLOCKS
+	$(OS9ATTR_EXEC) $(foreach file,$(CLOCKS),$@,NITROS9/MODULES/CLOCKS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/RBF
+	$(CD) modules; $(OS9COPY) $(RBF) ../$@,NITROS9/MODULES/RBF
+	$(OS9ATTR_EXEC) $(foreach file,$(RBF),$@,NITROS9/MODULES/RBF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SCF
+	$(CD) modules; $(OS9COPY) $(SCF) ../$@,NITROS9/MODULES/SCF
+	$(OS9ATTR_EXEC) $(foreach file,$(SCF),$@,NITROS9/MODULES/SCF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/PIPE
+	$(CD) modules; $(OS9COPY) $(PIPE) ../$@,NITROS9/MODULES/PIPE
+	$(OS9ATTR_EXEC) $(foreach file,$(PIPE),$@,NITROS9/MODULES/PIPE/$(file))
+	$(MAKDIR) $@,NITROS9/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/SCRIPTS
+	$(RM) $(LDSKBECKER)
+	$(SOFTLINK) $@ $(LDSKCOCO3FPGADW)
+
+$(DSKCOCO3FPGADWSD):
+	$(RM) $@
+	$(OS9FORMAT_DW) -q $@ -n"NitrOS-9/$(CPU) Level $(LEVEL)"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COCO3FPGA_SD) -t=$(KERNELFILE_BECKER)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(OS9COPY) modules/$(SYSGOBD) $@,sysgo
+	$(OS9ATTR_EXEC) $@,sysgo
+	$(CD) cmds; $(OS9COPY) $(CMDS_DW) ../$@,CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(CMDS_DW),$@,CMDS/$(file))
+	$(CD) sys; $(OS9COPY) $(SYSBIN) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(SYSBIN),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSTEXT)),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSGOSYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSGOSYSTEXT)),$@,SYS/$(file))
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(OS9ATTR_TEXT) $(foreach file,$(DEFS),$@,DEFS/$(file))
+	$(CPL) $(STARTUP_FPGADW) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/CMDS
+	$(CD) cmds; $(OS9COPY) $(MODULECMDS) ../$@,NITROS9/CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(MODULECMDS),$@,NITROS9/CMDS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES
+	$(MAKDIR) $@,NITROS9/MODULES/BOOTTRACK
+	$(CD) modules; $(OS9COPY) $(BOOTTRACK) ../$@,NITROS9/MODULES/BOOTTRACK
+	$(OS9ATTR_EXEC) $(foreach file,$(BOOTTRACK),$@,NITROS9/MODULES/BOOTTRACK/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/KERNEL
+	$(CD) modules; $(OS9COPY) $(KERNEL) ../$@,NITROS9/MODULES/KERNEL
+	$(OS9ATTR_EXEC) $(foreach file,$(KERNEL),$@,NITROS9/MODULES/KERNEL/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SYSMODS
+	$(CD) modules; $(OS9COPY) $(SYSMODS) ../$@,NITROS9/MODULES/SYSMODS
+	$(OS9ATTR_EXEC) $(foreach file,$(SYSMODS),$@,NITROS9/MODULES/SYSMODS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/CLOCKS
+	$(CD) modules; $(OS9COPY) $(CLOCKS) ../$@,NITROS9/MODULES/CLOCKS
+	$(OS9ATTR_EXEC) $(foreach file,$(CLOCKS),$@,NITROS9/MODULES/CLOCKS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/RBF
+	$(CD) modules; $(OS9COPY) $(RBF) ../$@,NITROS9/MODULES/RBF
+	$(OS9ATTR_EXEC) $(foreach file,$(RBF),$@,NITROS9/MODULES/RBF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SCF
+	$(CD) modules; $(OS9COPY) $(SCF) ../$@,NITROS9/MODULES/SCF
+	$(OS9ATTR_EXEC) $(foreach file,$(SCF),$@,NITROS9/MODULES/SCF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/PIPE
+	$(CD) modules; $(OS9COPY) $(PIPE) ../$@,NITROS9/MODULES/PIPE
+	$(OS9ATTR_EXEC) $(foreach file,$(PIPE),$@,NITROS9/MODULES/PIPE/$(file))
+	$(MAKDIR) $@,NITROS9/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/SCRIPTS
+	$(RM) $(LDSKBECKER)
+	$(SOFTLINK) $@ $(LDSKCOCO3FPGADWSD)
+
+$(DSKCOCO3FPGAROM):
+	$(RM) $@
+	$(OS9FORMAT_DW) -q $@ -n"NitrOS-9/$(CPU) Level $(LEVEL)"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COCO3FPGA_ROM) -t=$(KERNELFILE_BECKER)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(OS9COPY) modules/$(CCBKRN) $@,$(CCBKRN)
+	$(OS9COPY) modules/$(SYSGOBD) $@,sysgo
+	$(OS9ATTR_EXEC) $@,sysgo
+	$(CD) cmds; $(OS9COPY) $(CMDS_DW) ../$@,CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(CMDS_DW),$@,CMDS/$(file))
+	$(CD) sys; $(OS9COPY) $(SYSBIN) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(SYSBIN),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSTEXT)),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSGOSYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSGOSYSTEXT)),$@,SYS/$(file))
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(OS9ATTR_TEXT) $(foreach file,$(DEFS),$@,DEFS/$(file))
+	$(CPL) $(STARTUP_FPGA) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/CMDS
+	$(CD) cmds; $(OS9COPY) $(MODULECMDS) ../$@,NITROS9/CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(MODULECMDS),$@,NITROS9/CMDS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES
+	$(MAKDIR) $@,NITROS9/MODULES/BOOTTRACK
+	$(CD) modules; $(OS9COPY) $(BOOTTRACK) ../$@,NITROS9/MODULES/BOOTTRACK
+	$(OS9ATTR_EXEC) $(foreach file,$(BOOTTRACK),$@,NITROS9/MODULES/BOOTTRACK/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/KERNEL
+	$(CD) modules; $(OS9COPY) $(KERNEL) ../$@,NITROS9/MODULES/KERNEL
+	$(OS9ATTR_EXEC) $(foreach file,$(KERNEL),$@,NITROS9/MODULES/KERNEL/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SYSMODS
+	$(CD) modules; $(OS9COPY) $(SYSMODS) ../$@,NITROS9/MODULES/SYSMODS
+	$(OS9ATTR_EXEC) $(foreach file,$(SYSMODS),$@,NITROS9/MODULES/SYSMODS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/CLOCKS
+	$(CD) modules; $(OS9COPY) $(CLOCKS) ../$@,NITROS9/MODULES/CLOCKS
+	$(OS9ATTR_EXEC) $(foreach file,$(CLOCKS),$@,NITROS9/MODULES/CLOCKS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/RBF
+	$(CD) modules; $(OS9COPY) $(RBF) ../$@,NITROS9/MODULES/RBF
+	$(OS9ATTR_EXEC) $(foreach file,$(RBF),$@,NITROS9/MODULES/RBF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SCF
+	$(CD) modules; $(OS9COPY) $(SCF) ../$@,NITROS9/MODULES/SCF
+	$(OS9ATTR_EXEC) $(foreach file,$(SCF),$@,NITROS9/MODULES/SCF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/PIPE
+	$(CD) modules; $(OS9COPY) $(PIPE) ../$@,NITROS9/MODULES/PIPE
+	$(OS9ATTR_EXEC) $(foreach file,$(PIPE),$@,NITROS9/MODULES/PIPE/$(file))
+	$(MAKDIR) $@,NITROS9/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/SCRIPTS
+	$(RM) $(LDSKBECKER)
+	$(SOFTLINK) $@ $(LDSKCOCO3FPGAROM)
+
+$(DSKCOCO3FPGAROMDW):
+	$(RM) $@
+	$(OS9FORMAT_DW) -q $@ -n"NitrOS-9/$(CPU) Level $(LEVEL)"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COCO3FPGA_ROM_DW) -t=$(KERNELFILE_BECKER)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(OS9COPY) modules/$(CCBKRN) $@,$(CCBKRN)
+	$(OS9COPY) modules/$(SYSGOBD) $@,sysgo
+	$(OS9ATTR_EXEC) $@,sysgo
+	$(CD) cmds; $(OS9COPY) $(CMDS_DW) ../$@,CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(CMDS_DW),$@,CMDS/$(file))
+	$(CD) sys; $(OS9COPY) $(SYSBIN) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(SYSBIN),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSTEXT)),$@,SYS/$(file))
+	$(CD) sys; $(CPL) $(SYSGOSYSTEXT) ../$@,SYS
+	$(OS9ATTR_TEXT) $(foreach file,$(notdir $(SYSGOSYSTEXT)),$@,SYS/$(file))
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(OS9ATTR_TEXT) $(foreach file,$(DEFS),$@,DEFS/$(file))
+	$(CPL) $(STARTUP_FPGADW) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/CMDS
+	$(CD) cmds; $(OS9COPY) $(MODULECMDS) ../$@,NITROS9/CMDS
+	$(OS9ATTR_EXEC) $(foreach file,$(MODULECMDS),$@,NITROS9/CMDS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES
+	$(MAKDIR) $@,NITROS9/MODULES/BOOTTRACK
+	$(CD) modules; $(OS9COPY) $(BOOTTRACK) ../$@,NITROS9/MODULES/BOOTTRACK
+	$(OS9ATTR_EXEC) $(foreach file,$(BOOTTRACK),$@,NITROS9/MODULES/BOOTTRACK/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/KERNEL
+	$(CD) modules; $(OS9COPY) $(KERNEL) ../$@,NITROS9/MODULES/KERNEL
+	$(OS9ATTR_EXEC) $(foreach file,$(KERNEL),$@,NITROS9/MODULES/KERNEL/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SYSMODS
+	$(CD) modules; $(OS9COPY) $(SYSMODS) ../$@,NITROS9/MODULES/SYSMODS
+	$(OS9ATTR_EXEC) $(foreach file,$(SYSMODS),$@,NITROS9/MODULES/SYSMODS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/CLOCKS
+	$(CD) modules; $(OS9COPY) $(CLOCKS) ../$@,NITROS9/MODULES/CLOCKS
+	$(OS9ATTR_EXEC) $(foreach file,$(CLOCKS),$@,NITROS9/MODULES/CLOCKS/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/RBF
+	$(CD) modules; $(OS9COPY) $(RBF) ../$@,NITROS9/MODULES/RBF
+	$(OS9ATTR_EXEC) $(foreach file,$(RBF),$@,NITROS9/MODULES/RBF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/SCF
+	$(CD) modules; $(OS9COPY) $(SCF) ../$@,NITROS9/MODULES/SCF
+	$(OS9ATTR_EXEC) $(foreach file,$(SCF),$@,NITROS9/MODULES/SCF/$(file))
+	$(MAKDIR) $@,NITROS9/MODULES/PIPE
+	$(CD) modules; $(OS9COPY) $(PIPE) ../$@,NITROS9/MODULES/PIPE
+	$(OS9ATTR_EXEC) $(foreach file,$(PIPE),$@,NITROS9/MODULES/PIPE/$(file))
+	$(MAKDIR) $@,NITROS9/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/SCRIPTS
+	$(RM) $(LDSKBECKER)
+	$(SOFTLINK) $@ $(LDSKCOCO3FPGAROMDW)
+
+info:
+	@$(ECHO) "*** NitrOS-9/$(CPU) Level $(LEVEL) for the $(MACHINE) ***"
+	@$(foreach dsk, $(DSKS), $(ECHO) $(dsk);)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/modules/defsfile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+         use   ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/modules/kernel/defsfile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+         use   ../../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/modules/kernel/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,42 @@
+PORT = coco3fpga
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(LEVEL2)/modules/kernel:$(LEVEL1)/modules/kernel
+
+DEPENDS		= ./makefile
+AFLAGS		+= -DH6309=0 -I$(LEVEL2)/modules/kernel -I$(LEVEL1)/modules/kernel
+
+KERNEL		= krn
+KERNEL_CCB	= ccbkrn
+KERNELP2	= krnp2
+SYSCALLS	= fallimg.asm fallram.asm falltsk.asm faproc.asm fcmpnam.asm \
+		fcpymem.asm fdatlog.asm fdelram.asm ffmodul.asm ffreehb.asm \
+		fld.asm fldabx.asm flink.asm fmove.asm fnproc.asm fprsnam.asm \
+		fdebug.asm fssvc.asm fvmodul.asm \
+		fallbit.asm fallprc.asm fchain.asm fclrblk.asm fcrcmod.asm \
+		fdelimg.asm fexit.asm ffind64.asm ffork.asm fgblkmp.asm \
+		fgcmdir.asm fgmoddr.asm fgprdsc.asm fgprocp.asm ficpt.asm \
+		fid.asm fmapblk.asm fmem.asm fsend.asm fsleep.asm fsprior.asm \
+		fsswi.asm fstime.asm fsuser.asm funlink.asm funload.asm
+
+ALLOBJS		= $(KERNEL) $(KERNELP2) $(KERNEL_CCB)
+
+all:	$(ALLOBJS)
+
+$(KERNEL):	krn.asm $(SYSCALLS) fsrqmem.asm
+
+$(KERNEL_CCB):	ccbkrn.asm $(SYSCALLS) ccbfsrqmem.asm
+
+$(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/level2/coco3fpga/modules/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,2 @@
+include ../../coco3/modules/makefile
+AFLAGS		+=  -DH6309=0 -DCC3FPGA=1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/port.mak	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,9 @@
+PORT = coco3fpga
+MACHINE = Coco3FPGA FPGA based Computer
+CPU = 6809
+LEVEL = 2
+TELNET_PORT = 6810
+HTTPD_PORT = 8810
+
+include $(NITROS9DIR)/rules.mak
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/scripts/mb.dw	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,31 @@
+-t
+-x
+tmode .1 pau=0
+echo * NitrOS-9 Level 2 Boot Creation Script
+echo *
+echo * This script creates a bootable DriveWire 3 disk image
+echo * using the dw.bl bootlist file.
+echo *
+echo * The resulting disk will boot NitrOS-9 from DriveWire disk 0.
+echo *
+echo "Please type the destination device (e.g. /x0, /x1)"
+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 2 Boot Disk" r
+ynn
+echo *
+echo * Step 2: Create a custom boot track
+merge ../MODULES/BOOTTRACK/rel_80 ../MODULES/BOOTTRACK/boot_dw ../MODULES/BOOTTRACK/krn>-bttemp
+echo *
+echo * Step 3: Create the bootfile and boot track
+os9gen %1 -t=bttemp<../BOOTLISTS/dw.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 ../CMDS/grfdrv
+echo *
+echo * We're done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/scripts/mb.floppy	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,30 @@
+-t
+-x
+tmode .1 pau=0
+echo * NitrOS-9 Level 2 Boot Creation Script
+echo *
+echo * This script creates a bootable floppy disk
+echo * using the standard.bl bootlist file.
+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 2 Boot Disk" r
+echo *
+echo * Step 2: Create a custom boot track
+merge ../MODULES/BOOTTRACK/rel_80 ../MODULES/BOOTTRACK/boot_1773_6ms ../MODULES/BOOTTRACK/krn>-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 ../CMDS/grfdrv
+echo *
+echo * We're done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/startup.fpga	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,23 @@
+x
+* Echo welcome message
+echo 
+echo 
+echo 
+echo *******************************
+echo * Welcome to NitrOS-9 Level 2 *
+echo *        Version 3.3.0        *
+echo *  Special Coco3FPGA Edition  *
+echo *  on Gary Becker's Coco3FPGA *
+echo *******************************
+echo 
+* Lock shell and std utils into memory
+link shell
+load utilpak1
+* Merging system fonts, patterns and pointers
+merge /dd/sys/stdfonts /dd/sys/stdptrs /dd/sys/stdpats_2 /dd/sys/stdpats_4 /dd/sys/stdpats_16
+* Creating a 2nd and 3rd window
+shell i=/w&
+shell i=/w&
+date -t
+-x
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/startup.fpgadw	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,24 @@
+x
+* Echo welcome message
+echo 
+echo 
+echo 
+echo *******************************
+echo * Welcome to NitrOS-9 Level 2 *
+echo *        Version 3.3.0        *
+echo *  Special Coco3FPGA Edition  *
+echo *      with DriveWire 4       *
+echo *  on Gary Becker's Coco3FPGA *
+echo *******************************
+echo 
+* Lock shell and std utils into memory
+link shell
+load utilpak1
+* Merging system fonts, patterns and pointers
+merge /dd/sys/stdfonts /dd/sys/stdptrs /dd/sys/stdpats_2 /dd/sys/stdpats_4 /dd/sys/stdpats_16
+* Creating a 2nd and 3rd window
+shell i=/w&
+shell i=/w&
+date -t
+-x
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/sys/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+include ../../coco3/sys/makefile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level2/coco3fpga/wwwroot/makefile	Sat Feb 04 18:33:07 2017 +0100
@@ -0,0 +1,1 @@
+include ../../../level1/wwwroot/makefile