Mercurial > hg > Members > kono > nitros9-code
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