# HG changeset patch # User boisy # Date 1056825665 0 # Node ID 4e235f21365146f7c14a532ff948e9b84fda1dfa # Parent c2f6949523f624ae058c89f8bae798c2772590b8 Lots of changes: bootscripts and bootlists added, sources massaged... diff -r c2f6949523f6 -r 4e235f213651 level1/ChangeLog --- a/level1/ChangeLog Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/ChangeLog Sat Jun 28 18:41:05 2003 +0000 @@ -1,4 +1,17 @@ OS-9 Level One V03.01.03: +- A pause command has been added to the standard command set. +- os9gen now supports the -t= option which allows one to specify an + alternate boot track file. +- Two new directories have been added: BOOTLISTS and BOOTSCRIPTS. + The former contains bootlist files for building boot disks, while + the latter contains scripts to build boot disks. +- Clock modules for Eliminator, Disto 2-N-1, Disto 4-N-1, Harris, and + SmartWatch have been added (these are all UNTESTED.) Also, the + clock_bb clock module has been renamed to clock_bnb, and clock.60hz + and clock.50hz have been renamed to clock_soft and clock_soft_50hz. +- There are now two booters for booting from a WD1773 based + floppy controller: boot_1773_6ms and boot_1773_30ms for + 6 and 30 millisecond step rates. - The help utility has been enhanced to show help subjects if forked without any command line parameters. diff -r c2f6949523f6 -r 4e235f213651 level1/cmds/deldir.asm --- a/level1/cmds/deldir.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/cmds/deldir.asm Sat Jun 28 18:41:05 2003 +0000 @@ -7,6 +7,7 @@ * ------------------------------------------------------------------ * 3 From Tandy OS-9 Level Two VR 02.00.01 * 4 Updated to add -e instead of e to dir BGP 03/01/14 +* Optimized for size. BGP 03/06/21 nam Deldir ttl Delete a directory @@ -15,6 +16,7 @@ ifp1 use defsfile + use rbfdefs endc tylg set Prgrm+Objct @@ -57,21 +59,21 @@ bcs OpenErr L002B lda u047E,u pshs u tfr y,d subd ,s++ - subd #$047E + subd #u047E clrb std HDGen,pcr else tell user can't do hard drive lbra WritExit + + ENDC + L0276 ldx TempBoot,pcr lda #PDELIM @@ -193,24 +223,25 @@ sta ,x+ bpl L0288 tfr x,d - leax TempBoot,pcr @@ -364,7 +396,7 @@ clrb leax >Rename,pcr ldy Source,pcr ldy #SourceL @@ -702,8 +793,10 @@ ldy #$0001 bsr DoWrite else ring the error bell bsr WriteCR - puls a - bne AskUser + lda ,s +* puls a + bra AskUser2 +* bne AskUser L06F9 bsr WriteCR puls a L06FD puls pc,u,y,x,b,a diff -r c2f6949523f6 -r 4e235f213651 level1/cmds/prompt.asm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/cmds/prompt.asm Sat Jun 28 18:41:05 2003 +0000 @@ -0,0 +1,61 @@ +******************************************************************** +* Prompt - Echo text and wait for a key +* +* $Id$ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 1 Created BGP 03/06/28 + + nam Prompt + ttl Echo text and wait for a key + + ifp1 + use defsfile + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $00 +edition set 1 + + mod eom,name,tylg,atrv,start,size + + org 0 +devopts rmb 32 + rmb 450 +size equ . + +name fcs /Prompt/ + fcb edition + +cr fcb C$CR + +start decb subtract CR from param length + beq readkey if zero, don't print anything + clra clear upper 8 bits + tfr d,y transfer length to Y + lda #$01 stdout + os9 I$Write + bcs exit +readkey ldd #$02*256 stderr +* ldb #SS.Opt get options + leax devopts,u + os9 I$GetStt get 'em + bcs exit + clr (PD.EKO-PD.OPT),x + os9 I$SetStt set 'em + ldy #$0001 one character + os9 I$Read read one char from stderr + clrb + inc (PD.EKO-PD.OPT),x turn on echo + os9 I$SetStt set 'em + leax cr,pcr + lda #$01 to stdout + os9 I$WritLn write it out +exit os9 F$Exit + + emod +eom equ * + end + diff -r c2f6949523f6 -r 4e235f213651 level1/cmds/rename.asm --- a/level1/cmds/rename.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/cmds/rename.asm Sat Jun 28 18:41:05 2003 +0000 @@ -24,53 +24,55 @@ mod eom,name,tylg,atrv,start,size org 0 -u0000 rmb 1 +parmptr rmb 1 u0001 rmb 1 u0002 rmb 2 u0004 rmb 1 -u0005 rmb 2 +nextparm rmb 2 u0007 rmb 1 u0008 rmb 24 -u0020 rmb 26 +pathopts rmb 26 u003A rmb 2 -u003C rmb 405 +u003C rmb 2 + rmb 2 + rmb 401 size equ . name fcs /Rename/ fcb edition -start cmpd #$0004 - lbcs L00A8 - stx FIRQRtn,pcr get our D.FIRQ routine stx PIA.U8+3 + lda >PIA1Base+3 anda #$FC ora #$01 - sta >PIA.U8+3 - lda >PIA.U8+2 + sta >PIA1Base+3 + lda >PIA1Base+2 puls cc lda #$03 sta >MPI.Slct @@ -118,7 +118,7 @@ lda ,x lda $01,x ldb $01,x - ldb >PIA.U8+2 + ldb >PIA1Base+2 ldb $01,x bmi L00FB lda #$02 @@ -389,7 +389,7 @@ rts * ISR -L024E ldb >PIA.U8+2 +L024E ldb >PIA1Base+2 ldx V.PORT,u sta $010A + stx >D.XNMI+1 lda #$7E - sta >$0109 + sta >D.XNMI lda #$08 ENDC sta >DPort diff -r c2f6949523f6 -r 4e235f213651 level1/modules/ccio.asm --- a/level1/modules/ccio.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/ccio.asm Sat Jun 28 18:41:05 2003 +0000 @@ -186,7 +186,7 @@ beq L00B7 lda PIA.U8+2 + lda >PIA1Base+2 anda #$07 ora ,s+ tstb bne L03DE ora PIA.U8+2 +L03DE sta >PIA1Base+2 sta PIA.U4+2 - ldb >PIA.U4 + sta >PIA0Base+2 + ldb >PIA0Base ldy R$X,x get joystick number to poll bne L0481 andb #$01 @@ -644,17 +644,17 @@ beq L0486 L0485 clra L0486 sta R$A,x - lda >PIA.U4+3 + lda >PIA0Base+3 ora #$08 ldy R$X,x bne L0494 anda #$F7 -L0494 sta >PIA.U4+3 - lda >PIA.U4+1 +L0494 sta >PIA0Base+3 + lda >PIA0Base+1 anda #$F7 bsr L04B3 std R$X,x - lda >PIA.U4+1 + lda >PIA0Base+1 ora #$08 bsr L04B3 pshs b,a @@ -664,7 +664,7 @@ clrb puls pc,y,cc -L04B3 sta >PIA.U4+1 +L04B3 sta >PIA0Base+1 lda #$7F ldb #$40 bra L04C7 @@ -677,8 +677,8 @@ clra rts L04C7 pshs b - sta >PIA.U8 - tst >PIA.U4 + sta >PIA1Base + tst >PIA0Base bpl L04D5 adda ,s+ bra L04BC @@ -1034,17 +1034,17 @@ * Ding - tickle CoCo's PIA to emit a sound Ding pshs b,a - lda >PIA.U4+1 - ldb >PIA.U4+3 + lda >PIA0Base+1 + ldb >PIA0Base+3 pshs b,a anda #$F7 andb #$F7 - sta >PIA.U4+1 - stb >PIA.U4+3 - lda >PIA.U8+3 + sta >PIA0Base+1 + stb >PIA0Base+3 + lda >PIA1Base+3 pshs a ora #$08 - sta >PIA.U8+3 + sta >PIA1Base+3 ldb #$0A L07E6 lda #$FE bsr L0800 @@ -1053,13 +1053,13 @@ decb bne L07E6 puls a - sta >PIA.U8+3 + sta >PIA1Base+3 puls b,a - sta >PIA.U4+1 - stb >PIA.U4+3 + sta >PIA0Base+1 + stb >PIA0Base+3 puls pc,b,a -L0800 sta >PIA.U8 +L0800 sta >PIA1Base * some type of settle delay lda #128 L0805 inca diff -r c2f6949523f6 -r 4e235f213651 level1/modules/clock.asm --- a/level1/modules/clock.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/clock.asm Sat Jun 28 18:41:05 2003 +0000 @@ -229,10 +229,10 @@ * ClockIRQ clra tfr a,dp set direct page to zero - lda PIA.U4+3 get hw byte + lda PIA0Base+3 get hw byte bmi L0032 branch if sync flag on jmp [>D.SvcIRQ] -L0032 lda PIA.U4+2 clear interrupt? +L0032 lda PIA0Base+2 clear interrupt? dec SysTbl,pcr os9 F$SSvc - ldx #PIA.U4 + ldx #PIA0Base clra - sta 1,x change PIA.U4 side A to DDR - sta ,x clear PIA.U4 side A - sta 3,x change PIA.U4 side B to DDR + sta 1,x change PIA0Base side A to DDR + sta ,x clear PIA0Base side A + sta 3,x change PIA0Base side B to DDR coma complement A side A - sta 2,x write all 1's to PIA.U4 side B + sta 2,x write all 1's to PIA0Base side B lda #$34 - sta 1,x PIA.U4 side A to I/O reg + sta 1,x PIA0Base side A to I/O reg lda #$3F - sta 3,x PIA.U4 side B to I/O reg + sta 3,x PIA0Base side B to I/O reg lda 2,x IFEQ SOFT diff -r c2f6949523f6 -r 4e235f213651 level1/modules/makefile --- a/level1/modules/makefile Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/makefile Sat Jun 28 18:41:05 2003 +0000 @@ -5,11 +5,14 @@ DEPENDS = ./Makefile TPB = $(3RDPARTY)/booters -BOOTERS = boot_1773 boot_burke boot_idelba boot_rampak boot_wd1002 -BOOTTRACK = oscode $(BOOTERS) os9 os9p2 -KERNEL = +BOOTERS = boot_1773_6ms boot_1773_30ms \ + boot_burke boot_idelba boot_rampak boot_wd1002 +BOOTTRACK = oscode $(BOOTERS) +KERNEL = os9 os9p2 SYSMODS = ioman init sysgo -CLOCKS = clock.60hz clock.50hz clock_tc3 clock_bb +CLOCKS = clock_elim clock_disto2 clock_disto4 clock_bnb \ + clock_smart clock_harris clock_tc3 clock_soft \ + clock_soft_50hz RBF = rbf.mn \ ccdisk.dr cchdisk.dr \ @@ -42,6 +45,12 @@ # Special cases +boot_1773_6ms: boot_1773.asm + $(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aSTEP=0 + +boot_1773_30ms: boot_1773.asm + $(AS) $< $(ASOUT)$@ $(AFLAGS) -aDNum=0 -aSTEP=3 + # Floppy descriptors SSDD35 = -aCyls=35 -aSides=1 -aSectTrk=18 -aSectTrk0=18 \ -aInterlv=3 -aSAS=8 -aDensity=1 @@ -96,11 +105,32 @@ $(AS) $(AFLAGS) $(ASOUT)$@ $< -aDiskGo=1 # Clocks +clock_elim: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCElim=1 -aTPS=60 + +clock_disto2: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCDsto2=1 -aTPS=60 + +clock_disto4: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCDsto4=1 -aTPS=60 + +clock_bnb: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCBB=1 -aTPS=60 + +clock_smart: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCSmart=1 -aTPS=60 + +clock_harris: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCHarrs=1 -aTPS=60 + clock_tc3: clock.asm $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCTC3=1 -aTPS=60 -clock_bb: clock.asm - $(AS) $(AFLAGS) $(ASOUT)$@ $< -aRTCBB=1 -aTPS=60 +clock_soft: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aTPS=60 + +clock_soft_50hz: clock.asm + $(AS) $(AFLAGS) $(ASOUT)$@ $< -aTPS=50 clean: $(RM) $(ALLOBJS) diff -r c2f6949523f6 -r 4e235f213651 level1/modules/oscode.asm --- a/level1/modules/oscode.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/oscode.asm Sat Jun 28 18:41:05 2003 +0000 @@ -25,10 +25,10 @@ fcc /BOOT/ BootMLen equ *-BootMsg -L2620 clr PIA.U4+3 +L2620 clr PIA0Base+3 ifne Dragon64 - clr PIA.U4+1 added for Dragon, works on CoCo + clr PIA0Base+1 added for Dragon, works on CoCo endc sta $FFDF turn off ROM diff -r c2f6949523f6 -r 4e235f213651 level1/modules/piper.asm --- a/level1/modules/piper.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/piper.asm Sat Jun 28 18:41:05 2003 +0000 @@ -56,3 +56,4 @@ emod eom equ * + end diff -r c2f6949523f6 -r 4e235f213651 level1/modules/printer.asm --- a/level1/modules/printer.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/printer.asm Sat Jun 28 18:41:05 2003 +0000 @@ -75,7 +75,7 @@ * Init pshs cc orcc #IntMasks - ldx #PIA.U8 + ldx #PIA1Base clr $01,x ldd PIA.U8 +L007D stb >PIA1Base L0080 pshs b,a ldd PIA.U8+2 + ldb >PIA1Base+2 lda >$FF69 bpl L0126 - lda >PIA.U8+3 + lda >PIA1Base+3 bita #$01 beq L0126 bita #$80 diff -r c2f6949523f6 -r 4e235f213651 level1/modules/rs232.asm --- a/level1/modules/rs232.asm Fri Jun 27 13:30:22 2003 +0000 +++ b/level1/modules/rs232.asm Sat Jun 28 18:41:05 2003 +0000 @@ -66,7 +66,7 @@ * Init pshs cc orcc #IntMasks - ldx #PIA.U8 + ldx #PIA1Base clr $01,x ldd PIA.U8+2 +L006E lda >PIA1Base+2 lsra pshs x,a lda >$FF69 bpl L0091 - lda >PIA.U8+3 + lda >PIA1Base+3 bita #$01 beq L0091 bita #$80 @@ -133,7 +133,7 @@ clra bsr L00DA L009A bsr L00D3 - ldb >PIA.U8+2 + ldb >PIA1Base+2 lsrb rora dec $01,s @@ -160,7 +160,7 @@ puls a L00CD orcc #Carry rts -L00D0 stb >PIA.U8 +L00D0 stb >PIA1Base L00D3 pshs b,a ldd = boot track file to use