changeset 2633:41313184bd78

Expanded makefile... aded TODO, merged sysgo.asm into level1/modules file
author Boisy Pitre <boisy.pitre@nuance.com>
date Sun, 26 Feb 2012 23:34:13 -0600
parents 9356ea0bf67a
children a34c08cdfcb2
files level1/atari/TODO level1/atari/cmds/makefile level1/atari/modules/makefile level1/atari/modules/sysgo.asm level1/modules/sysgo.asm
diffstat 5 files changed, 88 insertions(+), 247 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/atari/TODO	Sun Feb 26 23:34:13 2012 -0600
@@ -0,0 +1,17 @@
+Things that need to be done:
+
+Kernel:
+- D.BTLO and D.BTHI need to be set.  This is usually done in KrnP2's JmpBoot,
+but the Atari port doesn't have a boot module.  We need to rethink how this will get
+done  in this port as well as the CoCo port as CoCoBoot moves forward.
+
+VTIO:
+- SS.KySns needs to be implemented
+
+dw3.sb:
+- Currently branch to init serial VIRQ is commented out.  Had system reliability
+troubles with it uncommented.
+
+Other:
+- CoCoBoot needs to be ported to the Atari.
+
--- a/level1/atari/cmds/makefile	Sun Feb 26 22:42:43 2012 -0600
+++ b/level1/atari/cmds/makefile	Sun Feb 26 23:34:13 2012 -0600
@@ -47,9 +47,6 @@
 showobjs:
 	@$(ECHO) $(CMDS)
 
-showobjs_d2:
-	@$(ECHO) $(CMDS_D2)
-
 showobjs_dw:
 	@$(ECHO) $(CMDS) $(CMDS_DW)
 
--- a/level1/atari/modules/makefile	Sun Feb 26 22:42:43 2012 -0600
+++ b/level1/atari/modules/makefile	Sun Feb 26 23:34:13 2012 -0600
@@ -12,21 +12,25 @@
 
 BOOTERS		= 
 KERNEL		= krn krnp2
-SYSMODS		= ioman init sysgo
+SYSMODS		= ioman init sysgo sysgo_rom
 CLOCKS      = clock_60hz clock_50hz clock2_soft clock2_dw3
 
-RBF		= rbf.mn rbdw3.dr ddx0.dd x0.dd x1.dd x2.dd x3.dd
+RBF		= rbf.mn rbdw3.dr dw3.sb ddx0.dd x0.dd x1.dd x2.dd x3.dd
 
 SCF		= scf.mn \
 		vrn.dr vtio.dr \
 		nil.dd \
-		term.dt
+		term.dt \
+		scdwp.dr p_scdwp.dd \
+		scdwn.dr term_scdwn.dt n_scdwn.dd n1_scdwn.dd n2_scdwn.dd \
+		n3_scdwn.dd n4_scdwn.dd n5_scdwn.dd n6_scdwn.dd n7_scdwn.dd \
+		n8_scdwn.dd n9_scdwn.dd n10_scdwn.dd n11_scdwn.dd n12_scdwn.dd \
+		n13_scdwn.dd midi_scdwn.dd
 
 PIPE		= pipeman.mn \
 		piper.dr \
 		pipe.dd
 
-DW		= scdwp.dr p_scdwp.dd dw3.sb
 
 ALLOBJS		= $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) $(DW)
 
@@ -38,7 +42,7 @@
 	$(CP) kernel/$@ .
 
 
-sysgo: sysgo.asm
+sysgo_rom: sysgo.asm
 	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aROM=1
 
 # DriveWire 3 RBF descriptors
@@ -57,6 +61,55 @@
 x3.dd: dwdesc.asm
 	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=3
 
+# DriveWire 3 SCF descriptors
+term_scdwn.dt: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=0
+
+n_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=255
+
+n1_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=1
+
+n2_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=2
+
+n3_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=3
+
+n4_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=4
+
+n5_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=5
+
+n6_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=6
+
+n7_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=7
+
+n8_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=8
+
+n9_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=9
+
+n10_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=10
+
+n11_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=11
+
+n12_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=12
+
+n13_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=13
+
+midi_scdwn.dd: scdwndesc.asm
+	$(AS) $< $(ASOUT)$@ $(AFLAGS) -aAddr=14
+
 # Clocks
 clock_60hz: clock.asm
 	$(AS) $(AFLAGS) $(ASOUT)$@ $< -aPwrLnFrq=60
--- a/level1/atari/modules/sysgo.asm	Sun Feb 26 22:42:43 2012 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-********************************************************************
-* SysGo - Kickstart program module
-*
-* $Id$
-*
-* Edt/Rev  YYYY/MM/DD  Modified by
-* Comment
-* ------------------------------------------------------------------
-*   5      1998/10/12  Boisy G. Pitre
-* Taken from OS-9 L2 Tandy distribution and modified banner for V3.
-*
-*   5r2    2003/01/08  Boisy G. Pitre
-* Fixed fork behavior so that if 'shell startup' fails, system doesn't
-* jmp to Crash, but tries AutoEx instead.  Also changed /DD back to /H0
-* for certain boot floppy cases.
-*
-*          2003/09/04  Boisy G. Pitre
-* Back-ported to OS-9 Level One.
-*
-*   5r3    2003/12/14  Boisy G. Pitre
-* Added SHIFT key check to prevent startup/autoex from starting if
-* held down.  Gene Heskett, this Bud's for you.
-
-         nam   SysGo
-         ttl   Kickstart program module
-
-         IFP1
-         use   defsfile
-         ENDC
-
-tylg     set   Prgrm+Objct
-atrv     set   ReEnt+rev
-rev      set   $03
-edition  set   $05
-
-         mod   eom,name,tylg,atrv,start,size
-
-
-         org   0
-InitAddr rmb   2
-         rmb   250
-size     equ   .
-
-name     fcs   /SysGo/
-         fcb  edition
-
-* Default process priority
-DefPrior set   128         
-
-Banner   equ   *
-         fcc   /(C) 2012 The NitrOS-9 Project/
-CrRtn    fcb   C$CR,C$LF
-         IFNE  NOS9DBG
-         fcc   "**   DEVELOPMENT BUILD   **"
-         fcb   C$CR,C$LF
-         fcc   "** NOT FOR DISTRIBUTION! **"
-         fcb   C$CR,C$LF
-         ENDC
-         dts   
-         fcb   C$CR,C$LF
-         fcc   !http://www.nitros9.org!
-         fcb   C$CR,C$LF
-         fcb   C$LF
-BannLen  equ   *-Banner
-
-         IFEQ  ROM
-DefDev   equ   *
-         IFNE  DD
-         fcc   "/DD"
-         ELSE
-         fcc   "/H0"
-         ENDC
-         fcb   C$CR
-HDDev    equ   *
-         IFNE  DD
-         fcc   "/DD/"
-         ELSE
-         fcc   "/H0/"
-         ENDC
-ExecDir  fcc   "CMDS"
-         fcb   C$CR
-         ENDC
-
-Shell    fcc   "Shell"
-         fcb   C$CR
-AutoEx   fcc   "AutoEx"
-         fcb   C$CR
-AutoExPr fcc   ""
-         fcb   C$CR
-AutoExPrL equ  *-AutoExPr
-
-         IFEQ  ROM
-Startup  fcc   "startup -p"
-         fcb   C$CR
-StartupL equ  *-Startup
-         ENDC
-
-ShellPrm equ   *
-         IFGT  Level-1
-         fcc   "i=/1"
-         ENDC
-CRtn     fcb   C$CR
-ShellPL  equ   *-ShellPrm
-
-* Default time packet
-DefTime  dtb
-
-Init     fcs   /Init/
-
-* Entry: X = pointer to start of nul terminated string
-* Exit:  D = length of string
-strlen   pshs  x
-         ldd   #-1
-go@      addd  #$0001
-         tst   ,x+
-         bne   go@
-         puls  x,pc
-
-WriteCR  pshs  y
-         leax  CrRtn,pcr
-         ldy   #$0001
-         os9   I$WritLn
-         puls  y,pc
-         
-* SysGo Entry Point
-start
-         leax  >IcptRtn,pcr
-         os9   F$Icpt
-* Set priority of this process
-         os9   F$ID
-         ldb   #DefPrior
-         os9   F$SPrior
-
-* Write OS name and Machine name strings
-         leax  Init,pcr
-         clra
-         pshs  u
-         os9   F$Link
-         bcs   SignOn
-         stx   <InitAddr
-         ldd   OSName,u					point to OS name in INIT module
-         leax  d,u						point to install name in INIT module
-         bsr   strlen         
-         tfr   d,y
-         lda   #$01
-         os9   I$Write
-         bsr   WriteCR
-         ldd   InstallName,u
-         leax  d,u						point to install name in INIT module
-         bsr   strlen         
-         tfr   d,y
-         lda   #$01
-         os9   I$Write
-         bsr   WriteCR
-         
-* Show rest of banner
-SignOn
-         puls  u
-         leax  >Banner,pcr
-         ldy   #BannLen
-         lda   #$01                    standard output
-         os9   I$Write                 write out banner
-
-* Set default time
-         leax  >DefTime,pcr
-         os9   F$STime                 set time to default
-         IFEQ  ROM
-* Change EXEC and DATA dirs
-         leax  >ExecDir,pcr
-         lda   #EXEC.
-         os9   I$ChgDir                change exec. dir
-         leax  >DefDev,pcr
-* Made READ. so that no write occurs at boot (Boisy on Feb 5, 2012)
-*         lda   #READ.+WRITE.
-         lda   #READ.
-         os9   I$ChgDir                change data dir.
-         bcs   L0125
-         leax  >HDDev,pcr
-         lda   #EXEC.
-         os9   I$ChgDir                change exec. dir to HD
-         ENDC
-
-L0125    equ   *
-         pshs  u,y
-         IFEQ  ROM
-* Fork shell startup here
-* Added 12/14/03: If SHIFT is held down, startup is not run
-         lda   #$01			standard output
-         ldb   #SS.KySns
-         os9   I$GetStt
-         bcs   DoStartup
-         bita  #SHIFTBIT		SHIFT key down?
-         bne   L0186			Yes, don't to startup or autoex
-DoStartup leax  >Shell,pcr
-         leau  >Startup,pcr
-         ldd   #256
-         ldy   #StartupL
-         os9   F$Fork
-         bcs   DoAuto
-         os9   F$Wait
-         ENDC
-* Fork AutoEx here
-DoAuto   leax  >AutoEx,pcr
-         leau  >AutoExPr,pcr
-         ldd   #$0100
-         ldy   #AutoExPrL
-         os9   F$Fork
-         bcs   L0186
-         os9   F$Wait
-*         bra   DoAuto
-L0186    equ   *
-         puls  u,y
-FrkShell leax  >ShellPrm,pcr
-         leay  ,u
-         ldb   #ShellPL
-L0190    lda   ,x+
-         sta   ,y+
-         decb
-         bne   L0190
-* Fork final shell here
-         leax  >Shell,pcr
-         lda   #$01		D = 256 (B already 0 from above)
-         ldy   #ShellPL
-         os9   F$Fork
-         bcs   DeadEnd
-         os9   F$Wait
-         bcc   FrkShell
-DeadEnd  bra   DeadEnd
-
-IcptRtn  rti
-
-         emod
-eom      equ   *
-         end
--- a/level1/modules/sysgo.asm	Sun Feb 26 22:42:43 2012 -0600
+++ b/level1/modules/sysgo.asm	Sun Feb 26 23:34:13 2012 -0600
@@ -26,7 +26,6 @@
 
          IFP1
          use   defsfile
-         use   scfdefs
          ENDC
 
 tylg     set   Prgrm+Objct
@@ -49,7 +48,7 @@
 DefPrior set   128         
 
 Banner   equ   *
-         fcc   /(C) 2009 The NitrOS-9 Project/
+         fcc   /(C) 2012 The NitrOS-9 Project/
 CrRtn    fcb   C$CR,C$LF
          IFEQ  ROM
          IFNE  NOS9DBG
@@ -88,6 +87,9 @@
          fcb   C$CR
 AutoEx   fcc   "AutoEx"
          fcb   C$CR
+AutoExPr fcc   ""
+         fcb   C$CR
+AutoExPrL equ  *-AutoExPr
 
          IFEQ  ROM
 Startup  fcc   "startup -p"
@@ -105,8 +107,9 @@
 * Default time packet
 DefTime  dtb
 
+         IFEQ  atari
          IFEQ  Level-1
-* BASIC reset code      
+* BASIC reset code (CoCo port only)
 BasicRst fcb   $55
          neg   <$0074
          nop
@@ -117,6 +120,7 @@
          jmp   >Bt.Start+2      jump to boot
 BasicRL  equ   *-BasicRst
          ENDC
+         ENDC
 
 Init     fcs   /Init/
 
@@ -192,10 +196,11 @@
          os9   I$ChgDir                change exec. dir to HD
          ENDC
 
-* Setup BASIC code
 L0125    equ   *
          pshs  u,y
+         IFEQ  atari
          IFEQ  Level-1
+* Setup BASIC code (CoCo port only)
          leax  >BasicRst,pcr
          ldu   #D.CBStrt
          ldb   #BasicRL
@@ -228,16 +233,19 @@
          decb
          bpl   L0151
          ENDC
+         ENDC
 
          IFEQ  ROM
 * Fork shell startup here
-* Added 12/14/03: If SHIFT is held down, startup is not run
+		IFEQ	atari
+* Added 12/14/03: If SHIFT is held down, startup is not run (CoCo only)
          lda   #$01			standard output
          ldb   #SS.KySns
          os9   I$GetStt
          bcs   DoStartup
          bita  #SHIFTBIT		SHIFT key down?
          bne   L0186			Yes, don't to startup or autoex
+     	ENDC
 DoStartup leax  >Shell,pcr
          leau  >Startup,pcr
          ldd   #256