changeset 2617:b1145d2cb659

Adding atari port folder and modifications to init and krn to accommodate
author Boisy Pitre <boisy.pitre@nuance.com>
date Tue, 21 Feb 2012 08:34:51 -0600
parents b9e8bb5a3796
children e6507f116064
files level1/atari/bootroms/makefile level1/atari/cmds/defsfile level1/atari/cmds/makefile level1/atari/defs/defsfile.asm level1/atari/defs/makefile level1/atari/defsfile level1/atari/makefile level1/atari/modules/defsfile level1/atari/modules/kernel/defsfile level1/atari/modules/kernel/makefile level1/atari/modules/makefile level1/atari/modules/term.asm level1/atari/modules/vtio.asm level1/atari/startup level1/atari/sys/makefile level1/modules/init.asm level1/modules/kernel/krn.asm
diffstat 17 files changed, 896 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/bootroms/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,33 @@
+include $(NITROS9DIR)/rules.mak
+
+# Module directory
+MD		= ../modules
+# Commands directory
+CD		= ../cmds
+
+DEPENDS		= ./makefile
+
+BOOTFILE_ROM	= $(MD)/krnp2 $(MD)/init \
+				$(MD)/ioman $(MD)/scf.mn $(MD)/vtio.dr $(MD)/term.dt \
+				$(MD)/sysgo_dd \
+				$(MD)/krn
+
+BOOTFILE_ROM_OLD	= $(MD)/rominfo $(MD)/ioman \
+		$(MD)/scf.mn $(MD)/vtio.dr \
+		$(MD)/covdg.io \
+		$(MD)/term32.dt \
+		$(MD)/clock_60hz $(MD)/clock2_soft
+
+BOOTROMS	= nos96809l1.rom
+
+ALLROMS		= $(BOOTROMS)
+
+all:	$(ALLROMS)
+
+# Bootfiles
+nos96809l1.rom: $(BOOTFILE_ROM) $(DEPENDS)
+	$(MERGE) $(BOOTFILE_ROM)>$@
+	$(PADROM) -b 10240 $@
+	
+clean:
+	$(RM) $(ALLROMS)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/cmds/defsfile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,1 @@
+          use    ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/cmds/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,59 @@
+PORT = atari
+include $(NITROS9DIR)/rules.mak
+
+vpath %.a $(LEVEL1)/cmds
+vpath %.asm $(LEVEL1)/cmds:$(NITROS9DIR)/3rdparty/packages/basic09
+
+DEPENDS		= ./makefile
+
+AFLAGS		+= -i=$(NITROS9DIR)/3rdparty/packages/basic09
+LFLAGS		+= -l=$(NITROS9DIR)/lib/net.l -l=$(NITROS9DIR)/lib/alib.l -l=$(NITROS9DIR)/lib/sys6809l1.l
+
+BASIC09FILES	= basic09.asm runb.asm gfx.asm inkey.asm syscall.asm
+CMDS		= asm attr backup binex build calldbg 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 save setime shellplus shell_21 sleep \
+		tee tmode touch tsmon tuneport unlink verify xmode
+
+CMDS_D2		= basic09 runb gfx inkey syscall copy del echo format \
+		merge os9gen prompt tmode
+
+CMDS_DW		= inetd telnet dw
+
+SUBS		= gfx inkey syscall
+ALLOBJS		= $(CMDS) $(CMDS_D2) $(CMDS_DW) $(SUBS)
+
+all:	$(ALLOBJS)
+
+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
+	
+clean:
+	$(RM) $(ALLOBJS)
+
+identify:
+	$(IDENT_SHORT) $(ALLOBJS)
+
+showobjs:
+	@$(ECHO) $(CMDS)
+
+showobjs_d2:
+	@$(ECHO) $(CMDS_D2)
+
+showobjs_dw:
+	@$(ECHO) $(CMDS) $(CMDS_DW)
+
+showallobjs:
+	@$(ECHO) $(ALLOBJS)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/defs/defsfile.asm	Tue Feb 21 08:34:51 2012 -0600
@@ -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/atari/defs/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,35 @@
+PORT = coco
+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/atari/defsfile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,6 @@
+Level    equ   1
+
+         use   os9defs
+         use   scfdefs
+         use   rbfdefs
+         use   systype
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,312 @@
+PORT = atari
+include $(NITROS9DIR)/rules.mak
+
+CPU		= 6809
+LEVEL		= 1
+
+# Level 1 - 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_COVDG	= bootfiles/bootfile_covdg
+BOOTFILE_COHR	= bootfiles/bootfile_cohr
+BOOTFILE_COVDG_DS80	= bootfiles/bootfile_covdg_ds80
+BOOTFILE_HEADLESS_DW3_COCO1	= bootfiles/bootfile_headless_dw3_coco1
+BOOTFILE_HEADLESS_DW3_COCO2	= bootfiles/bootfile_headless_dw3_coco2
+BOOTFILE_COVDG_DW3_COCO1	= bootfiles/bootfile_covdg_dw3_coco1
+BOOTFILE_COVDG_DW3_COCO2	= bootfiles/bootfile_covdg_dw3_coco2
+BOOTFILE_COHR_DS80	= bootfiles/bootfile_cohr_ds80
+BOOTFILE_COHR_DW3_COCO1	= bootfiles/bootfile_cohr_dw3_coco1
+BOOTFILE_COHR_DW3_COCO2	= bootfiles/bootfile_cohr_dw3_coco2
+KERNELFILE	= bootfiles/kernel_1773
+KERNELFILE_DW3_COCO1	= bootfiles/kernel_dw3_coco1
+KERNELFILE_DW3_COCO2	= bootfiles/kernel_dw3_coco2
+DIRS		= cmds modules defs sys bootfiles
+
+
+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	= $(WHICHSHELL) del echo format makdir merge os9gen prompt tmode
+
+SYS		= $(shell $(CD) sys; make --no-print-directory showobjs)
+DEFS		= $(shell $(CD) defs; make --no-print-directory showobjs)
+STARTUP		= startup
+STARTUP_DW	= startup.dw
+
+PACKAGENAME	= $(DISTROVER).zip
+DSKDW3COCO1     = $(DISTROVER)1_dw3.dsk
+LDSKDW3COCO1    = $(DISTRONAME)coco1_dw3.dsk
+DSKDW3COCO2     = $(DISTROVER)2_dw3.dsk
+LDSKDW3COCO2    = $(DISTRONAME)coco2_dw3.dsk
+DSK360K_1       = $(DISTROVER)_40d_1.dsk
+LDSK360K_1      = $(DISTRONAME)_40d_1.dsk
+DSK360K_2       = $(DISTROVER)_40d_2.dsk
+LDSK360K_2      = $(DISTRONAME)_40d_2.dsk
+DSK720K         = $(DISTROVER)_80d.dsk
+LDSK720K        = $(DISTRONAME)_80d.dsk
+
+
+DSKS		= $(DSKDW3COCO1) $(DSKDW3COCO2) $(DSK360K_1) $(DSK360K_2) $(DSK720K)
+LDSKS		= $(LDSKDW3COCO1) $(LDSKDW3COCO2) $(LDSK360K_1) $(LDSK360K_2) $(LDSK720K)
+
+# Make all components
+all:
+	@$(ECHO) "**************************************************"
+	@$(ECHO) "*                                                *"
+	@$(ECHO) "*         NitrOS-9/$(CPU) Level 1 CoCo Port        *"
+	@$(ECHO) "*                                                *"
+	@$(ECHO) "**************************************************"
+	$(foreach dir, $(DIRS), ($(CD) $(dir); make);)
+
+# Clean all components
+clean:	dskclean
+	$(foreach dir, $(DIRS), ($(CD) $(dir); make clean);)
+
+dskclean:
+	-$(RM) $(PACKAGENAME) $(DSKS) $(LDSKS)
+
+dsk: all $(PACKAGENAME)
+
+dskcopy: dsk
+	$(CP) $(DSKS) $(DSKDIR)
+
+scp: dsk
+	scp $(PACKAGENAME) boisy@cvs.nitros9.org:/home/nitros9/public_html
+
+$(PACKAGENAME): $(DSKS) ../../ReadMe ../../ChangeLog
+	$(ARCHIVE) $@ $^
+
+$(DSKDW3COCO1):
+	$(RM) $@
+	$(OS9FORMAT_DW3) -q $@ -n"NitrOS-9/$(CPU) Level 1"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COVDG_DW3_COCO1) -t=$(KERNELFILE_DW3_COCO1)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(CD) cmds; $(CP) $(CMDS_DW) ../$@,CMDS
+	$(foreach file, $(CMDS_DW), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(CD) cmds; $(CP) $(CMDS_D2) ../$@,CMDS
+	$(foreach file, $(CMDS_D2), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(OS9RENAME) $@,CMDS/$(WHICHSHELL) shell
+	$(CD) sys; $(CPL) $(SYS) ../$@,SYS
+	$(foreach file, $(SYS), $(OS9ATTR_TEXT) $@,SYS/$(file);)
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(foreach file, $(DEFS), $(OS9ATTR_TEXT) $@,DEFS/$(file);)
+	$(CPL) $(STARTUP_DW) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/6809L1
+	$(MAKDIR) $@,NITROS9/6809L1/CMDS
+	$(CD) cmds; $(CP) $(MODULECMDS) ../$@,NITROS9/6809L1/CMDS
+	$(foreach file, $(MODULECMDS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/CMDS/$(file);)
+	$(OS9RENAME) $@,NITROS9/6809L1/CMDS/$(WHICHSHELL) shell
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(CD) modules; $(CP) $(BOOTTRACK) ../$@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(foreach file, $(BOOTTRACK), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/BOOTTRACK/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/KERNEL
+	$(CD) modules; $(CP) $(KERNEL) ../$@,NITROS9/6809L1/MODULES/KERNEL
+	$(foreach file, $(KERNEL), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/KERNEL/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SYSMODS
+	$(CD) modules; $(CP) $(SYSMODS) ../$@,NITROS9/6809L1/MODULES/SYSMODS
+	$(foreach file, $(SYSMODS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SYSMODS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/CLOCKS
+	$(CD) modules; $(CP) $(CLOCKS) ../$@,NITROS9/6809L1/MODULES/CLOCKS
+	$(foreach file, $(CLOCKS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/CLOCKS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/RBF
+	$(CD) modules; $(CP) $(RBF) ../$@,NITROS9/6809L1/MODULES/RBF
+	$(foreach file, $(RBF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/RBF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SCF
+	$(CD) modules; $(CP) $(SCF) ../$@,NITROS9/6809L1/MODULES/SCF
+	$(foreach file, $(SCF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SCF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/PIPE
+	$(CD) modules; $(CP) $(PIPE) ../$@,NITROS9/6809L1/MODULES/PIPE
+	$(foreach file, $(PIPE), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/PIPE/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/6809L1/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/6809L1/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/6809L1/SCRIPTS
+	$(RM) $(LDSKDW3COCO1)
+	$(SOFTLINK) $@ $(LDSKDW3COCO1)
+
+$(DSKDW3COCO2):
+	$(RM) $@
+	$(OS9FORMAT_DW3) -q $@ -n"NitrOS-9/6809 Level 1"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COVDG_DW3_COCO2) -t=$(KERNELFILE_DW3_COCO2)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(CD) cmds; $(CP) $(CMDS_DW) ../$@,CMDS
+	$(foreach file, $(CMDS_DW), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(CD) cmds; $(CP) $(CMDS_D2) ../$@,CMDS
+	$(foreach file, $(CMDS_D2), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(OS9RENAME) $@,CMDS/$(WHICHSHELL) shell
+	$(CD) sys; $(CPL) $(SYS) ../$@,SYS
+	$(foreach file, $(SYS), $(OS9ATTR_TEXT) $@,SYS/$(file);)
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(foreach file, $(DEFS), $(OS9ATTR_TEXT) $@,DEFS/$(file);)
+	$(CPL) $(STARTUP_DW) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/6809L1
+	$(MAKDIR) $@,NITROS9/6809L1/CMDS
+	$(CD) cmds; $(CP) $(MODULECMDS) ../$@,NITROS9/6809L1/CMDS
+	$(foreach file, $(MODULECMDS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/CMDS/$(file);)
+	$(OS9RENAME) $@,NITROS9/6809L1/CMDS/$(WHICHSHELL) shell
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(CD) modules; $(CP) $(BOOTTRACK) ../$@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(foreach file, $(BOOTTRACK), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/BOOTTRACK/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/KERNEL
+	$(CD) modules; $(CP) $(KERNEL) ../$@,NITROS9/6809L1/MODULES/KERNEL
+	$(foreach file, $(KERNEL), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/KERNEL/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SYSMODS
+	$(CD) modules; $(CP) $(SYSMODS) ../$@,NITROS9/6809L1/MODULES/SYSMODS
+	$(foreach file, $(SYSMODS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SYSMODS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/CLOCKS
+	$(CD) modules; $(CP) $(CLOCKS) ../$@,NITROS9/6809L1/MODULES/CLOCKS
+	$(foreach file, $(CLOCKS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/CLOCKS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/RBF
+	$(CD) modules; $(CP) $(RBF) ../$@,NITROS9/6809L1/MODULES/RBF
+	$(foreach file, $(RBF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/RBF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SCF
+	$(CD) modules; $(CP) $(SCF) ../$@,NITROS9/6809L1/MODULES/SCF
+	$(foreach file, $(SCF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SCF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/PIPE
+	$(CD) modules; $(CP) $(PIPE) ../$@,NITROS9/6809L1/MODULES/PIPE
+	$(foreach file, $(PIPE), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/PIPE/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/6809L1/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/6809L1/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/6809L1/SCRIPTS
+	$(RM) $(LDSKDW3COCO2)
+	$(SOFTLINK) $@ $(LDSKDW3COCO2)
+
+$(DSK360K_1):
+	$(RM) $@
+	$(OS9FORMAT_DS40) -q $@ -n"NitrOS-9/6809 Level 1 Disk 1"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COVDG) -t=$(KERNELFILE)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(CD) cmds; $(CP) $(CMDS) ../$@,CMDS
+	$(foreach file, $(CMDS), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(OS9RENAME) $@,CMDS/$(WHICHSHELL) shell
+	$(CD) sys; $(CPL) $(SYS) ../$@,SYS
+	$(foreach file, $(SYS), $(OS9ATTR_TEXT) $@,SYS/$(file);)
+	$(MAKDIR) $@,DEFS
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(foreach file, $(DEFS), $(OS9ATTR_TEXT) $@,DEFS/$(file);)
+	$(CPL) $(STARTUP) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(RM) $(LDSK360K_1)
+	$(SOFTLINK) $@ $(LDSK360K_1)
+
+$(DSK360K_2):
+	$(RM) $@
+	$(OS9FORMAT_DS40) -q $@ -n"NitrOS-9/6809 Level 1 Disk 2"
+	$(MAKDIR) $@,CMDS
+	$(CD) cmds; $(CP) $(CMDS_D2) ../$@,CMDS
+	$(foreach file, $(CMDS_D2), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/6809L1
+	$(MAKDIR) $@,NITROS9/6809L1/CMDS
+	$(CD) cmds; $(CP) $(MODULECMDS) ../$@,NITROS9/6809L1/CMDS
+	$(foreach file, $(MODULECMDS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/CMDS/$(file);)
+	$(OS9RENAME) $@,NITROS9/6809L1/CMDS//$(WHICHSHELL) shell
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(CD) modules; $(CP) $(BOOTTRACK) ../$@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(foreach file, $(BOOTTRACK), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/BOOTTRACK/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/KERNEL
+	$(CD) modules; $(CP) $(KERNEL) ../$@,NITROS9/6809L1/MODULES/KERNEL
+	$(foreach file, $(KERNEL), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/KERNEL/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SYSMODS
+	$(CD) modules; $(CP) $(SYSMODS) ../$@,NITROS9/6809L1/MODULES/SYSMODS
+	$(foreach file, $(SYSMODS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SYSMODS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/CLOCKS
+	$(CD) modules; $(CP) $(CLOCKS) ../$@,NITROS9/6809L1/MODULES/CLOCKS
+	$(foreach file, $(CLOCKS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/CLOCKS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/RBF
+	$(CD) modules; $(CP) $(RBF) ../$@,NITROS9/6809L1/MODULES/RBF
+	$(foreach file, $(RBF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/RBF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SCF
+	$(CD) modules; $(CP) $(SCF) ../$@,NITROS9/6809L1/MODULES/SCF
+	$(foreach file, $(SCF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SCF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/PIPE
+	$(CD) modules; $(CP) $(PIPE) ../$@,NITROS9/6809L1/MODULES/PIPE
+	$(foreach file, $(PIPE), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/PIPE/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/6809L1/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/6809L1/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/6809L1/SCRIPTS
+	$(RM) $(LDSK360K_2)
+	$(SOFTLINK) $@ $(LDSK360K_2)
+
+$(DSK720K):
+	$(RM) $@
+	$(OS9FORMAT_DS80) -q $@ -n"NitrOS-9/6809 Level 1"
+	$(OS9GEN) $@ -b=$(BOOTFILE_COVDG_DS80) -t=$(KERNELFILE)
+	$(MAKDIR) $@,CMDS
+	$(MAKDIR) $@,SYS
+	$(MAKDIR) $@,DEFS
+	$(CD) cmds; $(CP) $(CMDS) ../$@,CMDS
+	$(foreach file, $(CMDS), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(CD) cmds; $(CP) $(CMDS_D2) ../$@,CMDS
+	$(foreach file, $(CMDS_D2), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
+	$(OS9RENAME) $@,CMDS/$(WHICHSHELL) shell
+	$(CD) sys; $(CPL) $(SYS) ../$@,SYS
+	$(foreach file, $(SYS), $(OS9ATTR_TEXT) $@,SYS/$(file);)
+	$(CD) defs; $(CPL) $(DEFS) ../$@,DEFS
+	$(foreach file, $(DEFS), $(OS9ATTR_TEXT) $@,DEFS/$(file);)
+	$(CPL) $(STARTUP) $@,startup
+	$(OS9ATTR_TEXT) $@,startup
+	$(MAKDIR) $@,NITROS9
+	$(MAKDIR) $@,NITROS9/6809L1
+	$(MAKDIR) $@,NITROS9/6809L1/CMDS
+	$(CD) cmds; $(CP) $(MODULECMDS) ../$@,NITROS9/6809L1/CMDS
+	$(foreach file, $(MODULECMDS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/CMDS/$(file);)
+	$(OS9RENAME) $@,NITROS9/6809L1/CMDS/$(WHICHSHELL) shell
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(CD) modules; $(CP) $(BOOTTRACK) ../$@,NITROS9/6809L1/MODULES/BOOTTRACK
+	$(foreach file, $(BOOTTRACK), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/BOOTTRACK/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/KERNEL
+	$(CD) modules; $(CP) $(KERNEL) ../$@,NITROS9/6809L1/MODULES/KERNEL
+	$(foreach file, $(KERNEL), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/KERNEL/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SYSMODS
+	$(CD) modules; $(CP) $(SYSMODS) ../$@,NITROS9/6809L1/MODULES/SYSMODS
+	$(foreach file, $(SYSMODS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SYSMODS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/CLOCKS
+	$(CD) modules; $(CP) $(CLOCKS) ../$@,NITROS9/6809L1/MODULES/CLOCKS
+	$(foreach file, $(CLOCKS), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/CLOCKS/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/RBF
+	$(CD) modules; $(CP) $(RBF) ../$@,NITROS9/6809L1/MODULES/RBF
+	$(foreach file, $(RBF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/RBF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/SCF
+	$(CD) modules; $(CP) $(SCF) ../$@,NITROS9/6809L1/MODULES/SCF
+	$(foreach file, $(SCF), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/SCF/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/MODULES/PIPE
+	$(CD) modules; $(CP) $(PIPE) ../$@,NITROS9/6809L1/MODULES/PIPE
+	$(foreach file, $(PIPE), $(OS9ATTR_EXEC) $@,NITROS9/6809L1/MODULES/PIPE/$(file);)
+	$(MAKDIR) $@,NITROS9/6809L1/BOOTLISTS
+	$(CD) bootlists; $(CPL) *.bl ../$@,NITROS9/6809L1/BOOTLISTS
+	$(MAKDIR) $@,NITROS9/6809L1/SCRIPTS
+	$(CD) scripts; $(CPL) mb* ../$@,NITROS9/6809L1/SCRIPTS
+	$(RM) $(LDSK720K)
+	$(SOFTLINK) $@ $(LDSK720K)
+
+info:
+	@echo "*** NitrOS-9/6809 Level 1 for the Tandy Color Computer ***" 
+	@$(foreach dsk, $(DSKS), $(ECHO) $(dsk);)
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/modules/defsfile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,1 @@
+         use   ../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/modules/kernel/defsfile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,1 @@
+         use   ../../defsfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/modules/kernel/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,32 @@
+PORT = coco
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(LEVEL1)/modules/kernel
+
+DEPENDS		= ./makefile
+
+KERNEL		= krn
+KERNELP2	= krnp2
+SYSCALLS	= fcmpnam.asm fprsnam.asm
+
+AFLAGS		+= -aATARI=1 -I$(LEVEL1)/modules/kernel
+
+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/atari/modules/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,94 @@
+PORT = atari
+include $(NITROS9DIR)/rules.mak
+
+vpath %.asm $(LEVEL1)/modules
+
+AFLAGS		+= -I$(LEVEL1)/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
+TC3FLAGS        = $(AFLAGS) -aTC3=1 $(FLAGS)
+IDEFLAGS        = $(AFLAGS) -aIDE=1 $(FLAGS)
+
+DEPENDS		= ./makefile
+TPB		= $(3RDPARTY)/booters
+
+BOOTERS		= 
+KERNEL		= krn krnp2
+SYSMODS		= ioman init sysgo_dd sysgo_h0
+CLOCKS      = clock_60hz clock_50hz
+
+RBF		= rbf.mn
+
+SCF		= scf.mn \
+		sc6551.dr vrn.dr scbbp.dr scbbt.dr scdwp.dr vtio.dr \
+		nil.dd \
+		term.dt
+
+PIPE		= pipeman.mn \
+		piper.dr \
+		pipe.dd
+
+ALLOBJS		= $(BOOTTRACK) $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE)
+
+all:	$(ALLOBJS)
+
+# Kernel
+krn krnp2:
+	$(CD) kernel; make $@
+	$(CP) kernel/$@ .
+
+
+sysgo_dd: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aDD=1
+
+sysgo_h0: sysgo.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $<
+
+# Clocks
+clock_60hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=60
+
+clock_50hz: clock.asm
+	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=50
+
+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/atari/modules/term.asm	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,69 @@
+********************************************************************
+* TERM - Screen Device Descriptor
+*
+* $Id$
+*
+* Edt/Rev  YYYY/MM/DD  Modified by
+* Comment
+* ------------------------------------------------------------------
+*          ????/??/??
+* From Tandy OS-9 Level One VR 02.00.00
+
+         nam   TERM
+         ttl   Screen Device Descriptor
+
+* Disassembled 98/08/23 17:19:25 by Disasm v1.6 (C) 1988 by RML
+
+         ifp1
+         use   defsfile
+         use   scfdefs
+	 use   vtiodefs
+         endc
+
+tylg     set   Devic+Objct   
+atrv     set   ReEnt+rev
+rev      set   $00
+
+         mod   eom,name,tylg,atrv,mgrnam,drvnam
+
+         fcb   UPDAT.         mode byte
+         fcb   HW.Page        extended controller address
+         fdb   $C000          physical controller address
+         fcb   initsize-*-1   initilization table size
+         fcb   DT.SCF         device type:0=scf,1=rbf,2=pipe,3=scf
+         fcb   $01            case:0=up&lower,1=upper only
+         fcb   $01            backspace:0=bsp,1=bsp then sp & bsp
+         fcb   $00            delete:0=bsp over line,1=return
+         fcb   $01            echo:0=no echo
+         fcb   $01            auto line feed:0=off
+         fcb   $00            end of line null count
+         fcb   $01            pause:0=no end of page pause
+         fcb   24             lines per page
+         fcb   C$BSP          backspace character
+         fcb   C$DEL          delete line character
+         fcb   C$CR           end of record character
+         fcb   C$EOF          end of file character
+         fcb   C$RPRT         reprint line character
+         fcb   C$RPET         duplicate last line character
+         fcb   C$PAUS         pause character
+         fcb   C$INTR         interrupt character
+         fcb   C$QUIT         quit character
+         fcb   C$BSP          backspace echo character
+         fcb   C$BELL         line overflow character (bell)
+         fcb   ModCoVDG       init value for dev ctl reg
+         fcb   $00            baud rate
+         fdb   name           copy of descriptor name address
+         fcb   $00            acia xon char
+         fcb   $00            acia xoff char
+         fcb   40             (szx) number of columns for display
+         fcb   24             (szy) number of rows for display
+initsize equ   *
+
+name     fcs   /TERM/
+mgrnam   fcs   /SCF/
+drvnam   fcs   /VTIO/
+
+         emod
+eom      equ   *
+         end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/modules/vtio.asm	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,157 @@
+********************************************************************
+* VTIO - NitrOS-9 Level 1 Video Terminal I/O driver for Atari XE/XL
+*
+* $Id$
+*
+* Edt/Rev  YYYY/MM/DD  Modified by
+* Comment
+* ------------------------------------------------------------------
+*  1       2012/02/20  Boisy G. Pitre
+* Started from VTIO for the CoCo
+                         
+         nam   VTIO      
+         ttl   OS-9 Level One V2 CoCo I/O driver
+                         
+         ifp1            
+         use   defsfile  
+         use   scfdefs   
+         use   vtiodefs  
+         endc            
+                         
+tylg     set   Drivr+Objct
+atrv     set   ReEnt+rev 
+rev      set   $00
+edition  set   1
+                         
+         mod   eom,name,tylg,atrv,start,size
+                         
+size     equ   V.Last    
+                         
+         fcb   UPDAT.+EXEC.
+                         
+name     fcs   /VTIO/    
+         fcb   edition   
+                         
+start    lbra  Init      
+         lbra  Read      
+         lbra  Write     
+         lbra  GetStat   
+         lbra  SetStat   
+         lbra  Term      
+                         
+* Init
+*
+* Entry:
+*    Y  = address of device descriptor
+*    U  = address of device memory area
+*
+* Exit:
+*    CC = carry set on error
+*    B  = error code
+*
+Init                     
+***********************************
+ clrb
+cleario
+ ldx   #$D000
+ clr   b,x
+ ldx   #$D200
+ clr   b,x
+ ldx   #$D300
+ clr   b,x
+ ldx   #$D400
+ clr   b,x
+ decb
+ bne   cleario
+ lda   #3
+ sta   $D20F ; set Pokey to active
+
+delay
+ lda   #$E4
+ sta   $D01A  ; set screen color
+* lda   #$A0
+* sta   $D200
+* lda   #$A1
+* sta   $D202  ; set audf1 and audf2
+* lda   #$A8
+* sta   $D201
+* sta   $D203  ; set audc1 and audc2
+wait
+ jmp   wait
+***********************************
+
+                         
+* Term
+*
+* Entry:
+*    U  = address of device memory area
+*
+* Exit:
+*    CC = carry set on error
+*    B  = error code
+*
+Term     pshs  cc        
+         puls  pc,cc     
+                         
+* Read
+*
+* Entry:
+*    Y  = address of path descriptor
+*    U  = address of device memory area
+*
+* Exit:
+*    A  = character read
+*    CC = carry set on error
+*    B  = error code
+*
+Read                     
+L00A3    rts             
+                         
+
+* Write
+*
+* Entry:
+*    A  = character to write
+*    Y  = address of path descriptor
+*    U  = address of device memory area
+*
+* Exit:
+*    CC = carry set on error
+*    B  = error code
+*
+Write
+
+         rts             
+                         
+* GetStat
+*
+* Entry:
+*    A  = function code
+*    Y  = address of path descriptor
+*    U  = address of device memory area
+*
+* Exit:
+*    CC = carry set on error
+*    B  = error code
+*
+GetStat
+         clrb            
+         rts             
+                                                 
+* SetStat
+*
+* Entry:
+*    A  = function code
+*    Y  = address of path descriptor
+*    U  = address of device memory area
+*
+* Exit:
+*    CC = carry set on error
+*    B  = error code
+*
+SetStat
+L055C    rts             
+                         
+         emod            
+eom      equ   *         
+         end             
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/startup	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,7 @@
+* Echo welcome message
+echo * Welcome to NitrOS-9 Level 1 *
+echo *    on the Color Computer    *
+* Start system time from keyboard
+setime </term
+date -t
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/sys/makefile	Tue Feb 21 08:34:51 2012 -0600
@@ -0,0 +1,36 @@
+PORT = coco
+include $(NITROS9DIR)/rules.mak
+
+vpath %.hp	$(LEVEL1)/sys
+
+DEPENDS		= ./makefile
+
+SYSFILES	= ../../sys/errmsg ../../sys/motd ../../sys/password ../../sys/inetd.conf
+HELPFILES	= asm.hp attr.hp backup.hp binex.hp build.hp chd.hp \
+		chx.hp cmp.hp cobbler.hp config.hp copy.hp cputype.hp date.hp \
+		dcheck.hp debug.hp ded.hp deiniz.hp del.hp deldir.hp devs.hp \
+		dir.hp dirsort.hp disasm.hp display.hp dmode.hp dsave.hp dump.hp echo.hp \
+		edit.hp error.hp ex.hp exbin.hp format.hp free.hp gfx.hp \
+		help.hp ident.hp iniz.hp inkey.hp irqs.hp kill.hp link.hp \
+		list.hp load.hp login.hp makdir.hp \
+		mdir.hp megaread.hp merge.hp mpi.hp mfree.hp os9gen.hp \
+		padrom.hp park.hp procs.hp prompt.hp pwd.hp pxd.hp \
+	 	rename.hp save.hp setime.hp \
+		setpr.hp shell.hp sleep.hp tee.hp tmode.hp touch.hp tsmon.hp \
+		tuneport.hp unlink.hp verify.hp xmode.hp
+HELPMSG		= helpmsg
+ALLOBJS		= $(SYSFILES) $(HELPMSG)
+
+
+all:	$(ALLOBJS) $(DEPENDS)
+
+alldragon: $(ALLOBJS)
+
+helpmsg: $(HELPFILES)
+	$(MERGE) $^ > $@
+
+clean:
+	$(RM) $(HELPMSG)
+
+showobjs:
+	@$(ECHO) $(ALLOBJS)
--- a/level1/modules/init.asm	Mon Feb 06 17:33:52 2012 -0600
+++ b/level1/modules/init.asm	Tue Feb 21 08:34:51 2012 -0600
@@ -88,7 +88,7 @@
 * messages !
 *
 
-	IFEQ	dalpha
+	     IFEQ	dalpha
 OSStr    equ   *
          fcc   "NitrOS-9/"
          IFNE  H6309
@@ -122,18 +122,22 @@
          IFNE   dalpha
          fcc    "Dragon Alpha"
          ELSE
+         IFNE   atari
+         fcc    "Atari XL/XE"
+         ELSE
          fcc    "Unknown Machine"
          ENDC
          ENDC
          ENDC
          ENDC
          ENDC
+         ENDC
          fcb   0
-	ELSE
-OSStr    equ   *
+		 ELSE
+		 OSStr    equ   *
 InstStr  equ   *
-	fcb	0
-	ENDC
+		 fcb	0
+		 ENDC
 
          emod  
 eom      equ   *
--- a/level1/modules/kernel/krn.asm	Mon Feb 06 17:33:52 2012 -0600
+++ b/level1/modules/kernel/krn.asm	Tue Feb 21 08:34:51 2012 -0600
@@ -53,6 +53,9 @@
 *
 *  15r1    2004/05/23  Boisy G. Pitre
 * Renamed to 'krn'
+*
+*  16      2004/05/23  Boisy G. Pitre
+* Added changes for Atari port
 
          nam   krn
          ttl   NitrOS-9 Level 1 Kernel
@@ -64,8 +67,8 @@
 
 tylg     set   Systm+Objct
 atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   15
+rev      set   $00
+edition  set   16
 
 ModTop   mod   eom,name,tylg,atrv,OS9Cold,size
 
@@ -192,7 +195,11 @@
          bne   L00C2                   nope, not RAM here!
          std   ,y                      else restore org contents
          leax  >$0100,y                check top of next 256 block
+         IFNE  atari
+         cmpx  #$C000                  stop short of ROM starting at $C000
+         ELSE
          cmpx  #Bt.Start               stop short of boot track mem
+         ENDC
          bcs   ChkRAM
          leay  ,x
 * Here, Y = end of RAM
@@ -217,6 +224,10 @@
          ENDC
          puls  y,x
 
+         IFNE  atari
+         ldx   #$D800                  skip $C000-$D7FF for now...
+         ENDC
+         
 * Validate modules at top of RAM (kernel, etc.)
 L00DB    lbsr  ValMod
          bcs   L00E6
@@ -226,9 +237,16 @@
 L00E6    cmpb  #E$KwnMod
          beq   L00EE
          leax  1,x
+
+L00EC
+         IFNE  atari
+         cmpx  #$FF00
+         ELSE
 * Modification to stop scan into I/O space -- Added by BGP
-L00EC    cmpx  #Bt.Start+Bt.Size
+         cmpx  #Bt.Start+Bt.Size
+         ENDC
          bcs   L00DB
+
 * Copy vectors to system globals
 L00EE    leay  >Vectors,pcr
          leax  >ModTop,pcr
@@ -898,5 +916,19 @@
          fdb   SVCIRQ                  IRQ
          fdb   SWI                     SWI
          fdb   DUMMY                   NMI
-
+         IFNE  atari
+         fdb   $0000
+		 fdb   $0100
+		 fdb   $0103
+		 fdb   $0106
+		 fdb   $0109
+		 fdb   $010C
+		 fdb   $010F
+         IFP2
+         fdb   $10000-eomem+OS9Cold                 RESET         
+         ELSE
+         fdb   $0000
+         ENDC
+		 ENDC
+eomem    equ   *
          end