changeset 2649:928b4a062979

Atari: Made mods to the kernel to boot with new Liber809 firmware
author Boisy Pitre <boisy.pitre@nuance.com>
date Mon, 02 Apr 2012 20:27:29 -0500
parents 1e9c8238b158
children 538d8fdbaeba
files defs/atari.d defs/drivewire.d level1/atari/bootfiles/makefile level1/atari/modules/vtio.asm level1/modules/kernel/krn.asm level2/coco3/bootfiles/makefile
diffstat 6 files changed, 69 insertions(+), 269 deletions(-) [+]
line wrap: on
line diff
--- a/defs/atari.d	Mon Mar 19 08:25:28 2012 -0500
+++ b/defs/atari.d	Mon Apr 02 20:27:29 2012 -0500
@@ -101,8 +101,7 @@
 G.Cols         equ       40
 G.Rows         equ       24
 G.ScrStart     equ       $0500
-G.DList        equ       G.ScrStart+(G.Cols*G.Rows)
-G.DListSize    equ       64
+G.ScrEnd       equ       G.ScrStart+(G.Cols*G.Rows)
 
 * The Character Set must be aligned to a 4K address.  We can really only
 * guarnatee that in the Krn module, which is always at the end of RAM.  So
--- a/defs/drivewire.d	Mon Mar 19 08:25:28 2012 -0500
+++ b/defs/drivewire.d	Mon Apr 02 20:27:29 2012 -0500
@@ -18,6 +18,8 @@
 BBIN        equ    $FF22
 
 * Opcodes
+OP_NAMEOBJ_MOUNT   equ    $01 Named Object Mount
+OP_NAMEOBJ_CREATE  equ    $02 Named Object Create
 OP_NOP      equ    $00		No-Op
 OP_RESET1   equ    $FE		Server Reset
 OP_RESET2   equ    $FF		Server Reset
--- a/level1/atari/bootfiles/makefile	Mon Mar 19 08:25:28 2012 -0500
+++ b/level1/atari/bootfiles/makefile	Mon Apr 02 20:27:29 2012 -0500
@@ -8,15 +8,15 @@
 
 DEPENDS		= ./makefile
 
-BOOTFILE_P1 = $(MD)/krnp2 $(MD)/init \
-		$(MD)/ioman $(MD)/scf.mn $(MD)/vtio.dr $(MD)/term.dt \
-		$(MD)/sysgo \
-		$(MD)/krn
+# IMPORTANT! KRN MUST BE THE LAST MODULE IN BOOTFILE_P1!!
+BOOTFILE_P1 = $(MD)/krnp2 $(MD)/init $(MD)/ioman $(MD)/sysgo \
+		$(MD)/dw3.sb \
+		$(MD)/clock_60hz $(MD)/clock2_soft \
+          $(MD)/krn
 
-#		$(MD)/clock_60hz $(MD)/clock2_soft \
-
-BOOTFILE_P2 = $(MD)/rbf.mn $(MD)/rbdw3.dr \
-		$(MD)/x0.dd $(MD)/x1.dd $(MD)/dw3.sb \
+BOOTFILE_P2 = $(MD)/scf.mn $(MD)/vtio.dr $(MD)/term.dt \
+		$(MD)/rbf.mn $(MD)/rbdw3.dr \
+		$(MD)/x0.dd $(MD)/x1.dd \
 		$(MD)/scdwp.dr $(MD)/p_scdwp.dd \
 		$(CD)/shell_21
 
@@ -28,12 +28,13 @@
 
 bootfile: $(BOOTFILE_P1) $(BOOTFILE_P2) $(DEPENDS)
 	$(MERGE) $(BOOTFILE_P1)>$@_p1
+	ls -l $@_p1
+	$(PADROM) -b 7168 $@_p1
+	$(PADROM) -b 9216 $@_p1
 	$(MERGE) $(BOOTFILE_P2)>$@_p2
-	$(PADROM) -b 10240 $@_p1
-	$(PADROM) -b 12288 $@_p1
+	ls -l $@_p2
 	$(MERGE) $@_p2 $@_p1>$@
-	$(RM) $@_p2 $@_p1
-	$(PADROM) -b 32768 $@
+	$(PADROM) -b 29696 $@
 
 clean:
 	$(RM) $(ALLOBJS)
--- a/level1/atari/modules/vtio.asm	Mon Mar 19 08:25:28 2012 -0500
+++ b/level1/atari/modules/vtio.asm	Mon Apr 02 20:27:29 2012 -0500
@@ -42,17 +42,17 @@
 * The display list sets up the ANTIC chip to display the main screen. 
 * It is copied to the Atari Screen Area in low memory (see atari.d)
 * The size of this code MUST be <= G.DListSize
-DList
-		fcb	$70,$70,$70	3 * 8 blank scanlines
-		fcb	$42			Mode 2 with LMS (Load Memory Scan).  Mode 2 = 40 column hires text, next 2 bytes L/H determine screen origin
-		fdbs	G.ScrStart+(G.Cols*0)		origin
-		fcb	2,2,2,2,2,2,2,2,2,2
-		fcb	2,2,2,2,2,2,2,2,2,2
-		fcb	2,2,2
+*DList
+*		fcb	$70,$70,$70	3 * 8 blank scanlines
+*		fcb	$42			Mode 2 with LMS (Load Memory Scan).  Mode 2 = 40 column hires text, next 2 bytes L/H determine screen origin
+*		fdbs	G.ScrStart+(G.Cols*0)		origin
+*		fcb	2,2,2,2,2,2,2,2,2,2
+*		fcb	2,2,2,2,2,2,2,2,2,2
+*		fcb	2,2,2
 * 23 extra mode 2 lines for total of 24.  240 scanlines can be used for display area, but a hires line cannot be on scanline 240 due to an Antic bug
-		fcb	$41			this is the end of Display List command JVB (Jump and wait for Vertical Blank)
-         	fdb  $0000
-DListSz	equ	*-DList
+*		fcb	$41			this is the end of Display List command JVB (Jump and wait for Vertical Blank)
+*         	fdb  $0000
+*DListSz	equ	*-DList
 
 * Init
 *
@@ -77,7 +77,7 @@
 		std	V.CurRow,u
 
 * Clear screen memory
-          ldy  #G.DList
+          ldy  #G.ScrEnd
           pshs y
           ldy  #G.ScrStart
           ldd  #$0000
@@ -87,26 +87,26 @@
      	bne	clearLoop@
      	puls	u				G.DList address is aleady in U
      	
-* copy the display list into our memory area to the globa location in low RAM
-		leax	DList,pcr
-		ldy	#DListSz
-dlcopy@
-		ldd	,x++
-		std	,u++
-		leay	-2,y
-		bne	dlcopy@
+* copy the display list into our memory area to the global location in low RAM
+*		leax	DList,pcr
+*		ldy	#DListSz
+*dlcopy@
+*		ldd	,x++
+*		std	,u++
+*		leay	-2,y
+*		bne	dlcopy@
 * patch last word to be address of start of DList (byte swap for ANTIC)
-		leau	-DListSz,u
-		tfr	u,d
-		exg	a,b
-		std	DListSz-2,u
+*		leau	-DListSz,u
+*		tfr	u,d
+*		exg	a,b
+*		std	DListSz-2,u
 		
 * tell the ANTIC where the dlist is
-		std	DLISTL
+*		std	DLISTL
 
 * tell the ANTIC where the character set is (page aligned, currently in Krn)		
-		lda	#G.CharSetAddr>>8
-		sta	CHBASE
+*		lda	#G.CharSetAddr>>8
+*		sta	CHBASE
 		
 * set background color
 		lda	#$00
--- a/level1/modules/kernel/krn.asm	Mon Mar 19 08:25:28 2012 -0500
+++ b/level1/modules/kernel/krn.asm	Mon Apr 02 20:27:29 2012 -0500
@@ -91,7 +91,6 @@
 * OS-9 Genesis!
 
 OS9Cold  equ   *
-
          IFNE  atari
          IFNE	ROM
 * For when NitrOS-9 is in ROM on the Atari.
@@ -187,22 +186,23 @@
          puls  y,x
 
          IFNE  atari
-* for some reason, we need to increment X from $C000 to $C001.  If we do not
-* do this, then the screen background color goes to black at random resets??
-*         leax	1,x			
-		IFNE	ROM
          ldy   #$D000
-         ELSE
-         ldy   #$D000
-         ENDC
+
+         inc   <D.Boot
+         stx   <D.MLIM
+         stx   <D.BTLO
+         ldx	#$FFFF
+         stx   <D.BTHI
+
          ELSE
          ldy	#Bt.Start+Bt.Size
          ENDC
          
          lbsr	ValMods
          IFNE  atari
+
          ldx   #$D800				
-         ldy   #$FF00
+         ldy   #$F400
          lbsr	ValMods
          ENDC
          
@@ -561,6 +561,11 @@
          pshs  x,a
          ldd   M$Name,x
          leax  d,x                     X = addr of name in mod
+         IFNE  ATARI
+* jsr [>$FFE8]
+* lda	#$20
+* jsr [>$FFE4]
+         ENDC
          puls  a
          lbsr  L0443
          puls  x
@@ -657,7 +662,8 @@
 
          use   fcrc.asm
 
-L0443    ldu   #$0000
+L0443
+         ldu   #$0000
          tfr   a,b
          anda  #TypeMask
          andb  #LangMask
@@ -868,178 +874,6 @@
 L05E5    ldb   #E$IForkP
 L05E7    puls  pc,u,x
 
-		IFNE	atari
-* Character Set -- must be aligned on a 1K boundary!
-CharSet
-		fcb	$00,$00,$00,$00,$00,$00,$00,$00	;$00 - space
-		fcb	$00,$18,$18,$18,$18,$00,$18,$00	;$01 - !
-		fcb	$00,$66,$66,$66,$00,$00,$00,$00	;$02 - "
-		fcb	$00,$66,$FF,$66,$66,$FF,$66,$00	;$03 - #
-		fcb	$18,$3E,$60,$3C,$06,$7C,$18,$00	;$04 - $
-		fcb	$00,$66,$6C,$18,$30,$66,$46,$00	;$05 - %
-		fcb	$1C,$36,$1C,$38,$6F,$66,$3B,$00	;$06 - &
-		fcb	$00,$18,$18,$18,$00,$00,$00,$00	;$07 - '
-		fcb	$00,$0E,$1C,$18,$18,$1C,$0E,$00	;$08 - (
-		fcb	$00,$70,$38,$18,$18,$38,$70,$00	;$09 - )
-		fcb	$00,$66,$3C,$FF,$3C,$66,$00,$00	;$0A - asterisk
-		fcb	$00,$18,$18,$7E,$18,$18,$00,$00	;$0B - plus
-		fcb	$00,$00,$00,$00,$00,$18,$18,$30	;$0C - comma
-		fcb	$00,$00,$00,$7E,$00,$00,$00,$00	;$0D - minus
-		fcb	$00,$00,$00,$00,$00,$18,$18,$00	;$0E - period
-		fcb	$00,$06,$0C,$18,$30,$60,$40,$00	;$0F - /
-		
-		fcb	$00,$3C,$66,$6E,$76,$66,$3C,$00	;$10 - 0
-		fcb	$00,$18,$38,$18,$18,$18,$7E,$00	;$11 - 1
-		fcb	$00,$3C,$66,$0C,$18,$30,$7E,$00	;$12 - 2
-		fcb	$00,$7E,$0C,$18,$0C,$66,$3C,$00	;$13 - 3
-		fcb	$00,$0C,$1C,$3C,$6C,$7E,$0C,$00	;$14 - 4
-		fcb	$00,$7E,$60,$7C,$06,$66,$3C,$00	;$15 - 5
-		fcb	$00,$3C,$60,$7C,$66,$66,$3C,$00	;$16 - 6
-		fcb	$00,$7E,$06,$0C,$18,$30,$30,$00	;$17 - 7
-		fcb	$00,$3C,$66,$3C,$66,$66,$3C,$00	;$18 - 8
-		fcb	$00,$3C,$66,$3E,$06,$0C,$38,$00	;$19 - 9
-		fcb	$00,$00,$18,$18,$00,$18,$18,$00	;$1A - colon
-		fcb	$00,$00,$18,$18,$00,$18,$18,$30	;$1B - semicolon
-		fcb	$06,$0C,$18,$30,$18,$0C,$06,$00	;$1C - <
-		fcb	$00,$00,$7E,$00,$00,$7E,$00,$00	;$1D - =
-		fcb	$60,$30,$18,$0C,$18,$30,$60,$00	;$1E - >
-		fcb	$00,$3C,$66,$0C,$18,$00,$18,$00	;$1F - ?
-		
-		fcb	$00,$3C,$66,$6E,$6E,$60,$3E,$00	;$20 - @
-		fcb	$00,$18,$3C,$66,$66,$7E,$66,$00	;$21 - A
-		fcb	$00,$7C,$66,$7C,$66,$66,$7C,$00	;$22 - B
-		fcb	$00,$3C,$66,$60,$60,$66,$3C,$00	;$23 - C
-		fcb	$00,$78,$6C,$66,$66,$6C,$78,$00	;$24 - D
-		fcb	$00,$7E,$60,$7C,$60,$60,$7E,$00	;$25 - E
-		fcb	$00,$7E,$60,$7C,$60,$60,$60,$00	;$26 - F
-		fcb	$00,$3E,$60,$60,$6E,$66,$3E,$00	;$27 - G
-		fcb	$00,$66,$66,$7E,$66,$66,$66,$00	;$28 - H
-		fcb	$00,$7E,$18,$18,$18,$18,$7E,$00	;$29 - I
-		fcb	$00,$06,$06,$06,$06,$66,$3C,$00	;$2A - J
-		fcb	$00,$66,$6C,$78,$78,$6C,$66,$00	;$2B - K
-		fcb	$00,$60,$60,$60,$60,$60,$7E,$00	;$2C - L
-		fcb	$00,$63,$77,$7F,$6B,$63,$63,$00	;$2D - M
-		fcb	$00,$66,$76,$7E,$7E,$6E,$66,$00	;$2E - N
-		fcb	$00,$3C,$66,$66,$66,$66,$3C,$00	;$2F - O
-		
-		fcb	$00,$7C,$66,$66,$7C,$60,$60,$00	;$30 - P
-		fcb	$00,$3C,$66,$66,$66,$6C,$36,$00	;$31 - Q
-		fcb	$00,$7C,$66,$66,$7C,$6C,$66,$00	;$32 - R
-		fcb	$00,$3C,$60,$3C,$06,$06,$3C,$00	;$33 - S
-		fcb	$00,$7E,$18,$18,$18,$18,$18,$00	;$34 - T
-		fcb	$00,$66,$66,$66,$66,$66,$7E,$00	;$35 - U
-		fcb	$00,$66,$66,$66,$66,$3C,$18,$00	;$36 - V
-		fcb	$00,$63,$63,$6B,$7F,$77,$63,$00	;$37 - W
-		fcb	$00,$66,$66,$3C,$3C,$66,$66,$00	;$38 - X
-		fcb	$00,$66,$66,$3C,$18,$18,$18,$00	;$39 - Y
-		fcb	$00,$7E,$0C,$18,$30,$60,$7E,$00	;$3A - Z
-		fcb	$00,$1E,$18,$18,$18,$18,$1E,$00	;$3B - [
-		fcb	$00,$40,$60,$30,$18,$0C,$06,$00	;$3C - \
-		fcb	$00,$78,$18,$18,$18,$18,$78,$00	;$3D - ]
-		fcb	$00,$08,$1C,$36,$63,$00,$00,$00	;$3E - ^
-		fcb	$00,$00,$00,$00,$00,$00,$FF,$00	;$3F - underline
-		
-		fcb	$00,$18,$3C,$7E,$7E,$3C,$18,$00	;$60 - diamond card
-		fcb	$00,$00,$3C,$06,$3E,$66,$3E,$00	;$61 - a
-		fcb	$00,$60,$60,$7C,$66,$66,$7C,$00	;$62 - b
-		fcb	$00,$00,$3C,$60,$60,$60,$3C,$00	;$63 - c
-		fcb	$00,$06,$06,$3E,$66,$66,$3E,$00	;$64 - d
-		fcb	$00,$00,$3C,$66,$7E,$60,$3C,$00	;$65 - e
-		fcb	$00,$0E,$18,$3E,$18,$18,$18,$00	;$66 - f
-		fcb	$00,$00,$3E,$66,$66,$3E,$06,$7C	;$67 - g
-		fcb	$00,$60,$60,$7C,$66,$66,$66,$00	;$68 - h
-		fcb	$00,$18,$00,$38,$18,$18,$3C,$00	;$69 - i
-		fcb	$00,$06,$00,$06,$06,$06,$06,$3C	;$6A - j
-		fcb	$00,$60,$60,$6C,$78,$6C,$66,$00	;$6B - k
-		fcb	$00,$38,$18,$18,$18,$18,$3C,$00	;$6C - l
-		fcb	$00,$00,$66,$7F,$7F,$6B,$63,$00	;$6D - m
-		fcb	$00,$00,$7C,$66,$66,$66,$66,$00	;$6E - n
-		fcb	$00,$00,$3C,$66,$66,$66,$3C,$00	;$6F - o
-		
-		fcb	$00,$00,$7C,$66,$66,$7C,$60,$60	;$70 - p
-		fcb	$00,$00,$3E,$66,$66,$3E,$06,$06	;$71 - q
-		fcb	$00,$00,$7C,$66,$60,$60,$60,$00	;$72 - r
-		fcb	$00,$00,$3E,$60,$3C,$06,$7C,$00	;$73 - s
-		fcb	$00,$18,$7E,$18,$18,$18,$0E,$00	;$74 - t
-		fcb	$00,$00,$66,$66,$66,$66,$3E,$00	;$75 - u
-		fcb	$00,$00,$66,$66,$66,$3C,$18,$00	;$76 - v
-		fcb	$00,$00,$63,$6B,$7F,$3E,$36,$00	;$77 - w
-		fcb	$00,$00,$66,$3C,$18,$3C,$66,$00	;$78 - x
-		fcb	$00,$00,$66,$66,$66,$3E,$0C,$78	;$79 - y
-		fcb	$00,$00,$7E,$0C,$18,$30,$7E,$00	;$7A - z
-		fcb	$00,$18,$3C,$7E,$7E,$18,$3C,$00	;$7B - spade card
-		fcb	$18,$18,$18,$18,$18,$18,$18,$18	;$7C - |
-		fcb	$00,$7E,$78,$7C,$6E,$66,$06,$00	;$7D - display clear
-		fcb	$08,$18,$38,$78,$38,$18,$08,$00	;$7E - display backspace
-		fcb	$10,$18,$1C,$1E,$1C,$18,$10,$00	;$7F - display tab
-
-		fcb	$00,$36,$7F,$7F,$3E,$1C,$08,$00	;$40 - heart card
-		fcb	$18,$18,$18,$1F,$1F,$18,$18,$18	;$41 - mid left window
-		fcb	$03,$03,$03,$03,$03,$03,$03,$03	;$42 - right box
-		fcb	$18,$18,$18,$F8,$F8,$00,$00,$00	;$43 - low right window
-		fcb	$18,$18,$18,$F8,$F8,$18,$18,$18	;$44 - mid right window
-		fcb	$00,$00,$00,$F8,$F8,$18,$18,$18	;$45 - up right window
-		fcb	$03,$07,$0E,$1C,$38,$70,$E0,$C0	;$46 - right slant box
-		fcb	$C0,$E0,$70,$38,$1C,$0E,$07,$03	;$47 - left slant box
-		fcb	$01,$03,$07,$0F,$1F,$3F,$7F,$FF	;$48 - right slant solid
-		fcb	$00,$00,$00,$00,$0F,$0F,$0F,$0F	;$49 - low right solid
-		fcb	$80,$C0,$E0,$F0,$F8,$FC,$FE,$FF	;$4A - left slant solid
-		fcb	$0F,$0F,$0F,$0F,$00,$00,$00,$00	;$4B - up right solid
-		fcb	$F0,$F0,$F0,$F0,$00,$00,$00,$00	;$4C - up left solid
-		fcb	$FF,$FF,$00,$00,$00,$00,$00,$00	;$4D - top box
-		fcb	$00,$00,$00,$00,$00,$00,$FF,$FF	;$4E - bottom box
-		fcb	$00,$00,$00,$00,$F0,$F0,$F0,$F0	;$4F - low left solid
-		
-		fcb	$00,$1C,$1C,$77,$77,$08,$1C,$00	;$50 - club card
-		fcb	$00,$00,$00,$1F,$1F,$18,$18,$18	;$51 - up left window
-		fcb	$00,$00,$00,$FF,$FF,$00,$00,$00	;$52 - mid box
-		fcb	$18,$18,$18,$FF,$FF,$18,$18,$18	;$53 - mid window
-		fcb	$00,$00,$3C,$7E,$7E,$7E,$3C,$00	;$54 - solid circle
-		fcb	$00,$00,$00,$00,$FF,$FF,$FF,$FF	;$55 - bottom solid
-		fcb	$C0,$C0,$C0,$C0,$C0,$C0,$C0,$C0	;$56 - left box
-		fcb	$00,$00,$00,$FF,$FF,$18,$18,$18	;$57 - up mid window
-		fcb	$18,$18,$18,$FF,$FF,$00,$00,$00	;$58 - low mid window
-		fcb	$F0,$F0,$F0,$F0,$F0,$F0,$F0,$F0	;$59 - left solid
-		fcb	$18,$18,$18,$1F,$1F,$00,$00,$00	;$5A - low left window
-		fcb	$78,$60,$78,$60,$7E,$18,$1E,$00	;$5B - display escape
-		fcb	$00,$18,$3C,$7E,$18,$18,$18,$00	;$5C - up arrow
-		fcb	$00,$18,$18,$18,$7E,$3C,$18,$00	;$5D - down arrow
-		fcb	$00,$18,$30,$7E,$30,$18,$00,$00	;$5E - left arrow
-		fcb	$00,$18,$0C,$7E,$0C,$18,$00,$00	;$5F - right arrow
-		
-dump
- pshs d,x
- leax hextable,pcr
- ldb ,s
- andb #$F0
- lsrb
- lsrb
- lsrb
- lsrb
- lda b,x
- sta G.ScrStart+0
- ldb ,s
- andb #$0F
- lda b,x
- sta G.ScrStart+1
-
- ldb 1,s
- andb #$F0
- lsrb
- lsrb
- lsrb
- lsrb
- lda b,x
- sta G.ScrStart+2
- ldb 1,s
- andb #$0F
- lda b,x
- sta G.ScrStart+3
-m jmp m
-
-hextable	fcb $30-$20,$31-$20,$32-$20,$33-$20,$34-$20,$35-$20,$36-$20,$37-$20
-		fcb $38-$20,$39-$20,$41-$20,$42-$20,$43-$20,$44-$20,$45-$20,$46-$20
-
 		IFNE	ROM
 ***********************************************************************
 * Atari initialization code goes here since we have to pad the area due
@@ -1062,8 +896,6 @@
 		rts
 		ENDC
 
-		ENDC
-		
 		use   fsrqmem.asm
          
 		use   fallbit.asm
@@ -1176,32 +1008,6 @@
 
 P2Nam    fcs   /krnp2/
 
-		IFNE	atari
-* This area must be padded so that the Character Set above starts at $F800
-* in ROM
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb	$39,$39,$39,$39,$39,$39
-          IFEQ	ROM
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          fcb  $39,$39,$39,$39,$39,$39,$39,$39,$39,$39,$39
-          ENDC
-
-		ENDC
-		
 		emod
 eom      	equ	*
 
@@ -1211,19 +1017,11 @@
          fdb   SVCIRQ                  IRQ
          fdb   SWI                     SWI
          fdb   SVCNMI                  NMI
-         IFNE  atari
-         fdb   $0000				RESERVED
-		 fdb   $0100				SWI3
-		 fdb   $0103				SWI2
-		 fdb   $010F				FIRQ
-		 fdb   $010C				IRQ
-		 fdb   $0106				SWI
-		 fdb   $0109				NMI
-         IFP2
-         fdb   $10000-eomem+OS9Cold                 RESET         
-         ELSE
-         fdb   $0000
+         
+         
+         IFNE  ATARI
+         fdb	$F3FE-(*-OS9Cold)
          ENDC
-		 ENDC
+         
 eomem    equ   *
          end
--- a/level2/coco3/bootfiles/makefile	Mon Mar 19 08:25:28 2012 -0500
+++ b/level2/coco3/bootfiles/makefile	Mon Apr 02 20:27:29 2012 -0500
@@ -49,15 +49,15 @@
 		$(MD)/term_win80.dt \
 		$(MD)/w.dw $(MD)/w1.dw $(MD)/w2.dw $(MD)/w3.dw $(MD)/w4.dw \
 		$(MD)/w5.dw $(MD)/w6.dw $(MD)/w7.dw \
-		$(MD)/scdwn.dr \
-		$(MD)/n_scdwn.dd $(MD)/n1_scdwn.dd $(MD)/n2_scdwn.dd \
-		$(MD)/n3_scdwn.dd $(MD)/n4_scdwn.dd $(MD)/n5_scdwn.dd \
-		$(MD)/n6_scdwn.dd $(MD)/n7_scdwn.dd $(MD)/n8_scdwn.dd \
-		$(MD)/n9_scdwn.dd $(MD)/n10_scdwn.dd $(MD)/n11_scdwn.dd \
-		$(MD)/n12_scdwn.dd $(MD)/n13_scdwn.dd $(MD)/midi_scdwn.dd \
 		$(MD)/scdwp.dr $(MD)/p_scdwp.dd \
 		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
 		$(MD)/clock_60hz $(MD)/clock2_dw3
+#		$(MD)/scdwn.dr \
+#		$(MD)/n_scdwn.dd $(MD)/n1_scdwn.dd $(MD)/n2_scdwn.dd \
+#		$(MD)/n3_scdwn.dd $(MD)/n4_scdwn.dd $(MD)/n5_scdwn.dd \
+#		$(MD)/n6_scdwn.dd $(MD)/n7_scdwn.dd $(MD)/n8_scdwn.dd \
+#		$(MD)/n9_scdwn.dd $(MD)/n10_scdwn.dd $(MD)/n11_scdwn.dd \
+#		$(MD)/n12_scdwn.dd $(MD)/n13_scdwn.dd $(MD)/midi_scdwn.dd \
 
 # NitrOS-9 disk bootfile to allow booting from DriveWire 3 server
 # Headless mode