Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rutgers!mit-eddie!genrad!decvax!ucbvax!sdcsvax!sdcc6!loral!dml
From: dml@loral.UUCP (Dave Lewis)
Newsgroups: comp.sys.m6809
Subject: Re: CoCo3 OS-9 Level I Version 2 problems
Message-ID: <1326@loral.UUCP>
Date: Tue, 6-Jan-87 16:12:06 EST
Article-I.D.: loral.1326
Posted: Tue Jan  6 16:12:06 1987
Date-Received: Wed, 7-Jan-87 23:39:35 EST
References: <1484@lsuc.UUCP> <972@midas.UUCP>
Reply-To: dml@loral.UUCP (Dave Lewis)
Distribution: na
Organization: Loral Instrumentation, San Diego
Lines: 97
Keywords: CoCo3, NewDisk
Summary: It's a bug in NewDisk

In article <972@midas.UUCP> neals@midas.UUCP (Neal Sedell) writes:

>
>Like I said before, OS9GEN2 and NEWDISK work great.  With such a complex
>OS it was amazingly painless and rewarding (for a change).  GOOD JOB DAVE!

  I thank you, my CoCo2 thanks you...

>Oh yes, when you do finally get V2 to boot, you get to change the SysGo
>module to replace the /H0 and /H0/CMDS with /D0 and /D0/CMDS so you can
>execute your STARTUP file and have a default cmds directory.  When they
>said that V2 would automatically startup using the hard disk they forgot
>to tell you that it wouldn't startup using a floppy disk anymore ;-)
>
>Neal "I'm trying to have fun in spite of it all" Sedell

  That is due to a bug in NewDisk. I posted a debugged version here last
September; looks like you missed it. It seems that OS9p2 sets up the initial
/D0 and /D0/CMDS paths very soon after it runs Init, and BEFORE SysGo starts
up the Clock. This causes an access to NewDisk. When the DSKSTART subroutine
runs, the F$VIRQ call returns an error because the clock is not running, and
that error gets sent back to the caller. The /D0 and /D0/CMDS paths don't get
established, so SysGo can't find Startup. When things work normally, OS9p2
sets up these paths, then SysGo TRIES to chd and chx to /H0. IF IT FAILS,
SysGo ignores the failure and uses the already established /D0 paths.

  The secret is in DSKSTART. First, throw out the BCS immediately following
the OS9 F$VIRQ call. Then, insert a test-and-branch near the end of DSKSTART
so it looks like this:

	 IFEQ  VERSION-2
	 TST   VI.VAR+1,U  Is the Virtual Interrupt active?
	 BEQ   RETURNOK    Leave it alone if not
	 LDD   #DISKRUN    Restart the Virtual Interrupt
	 STD   VI.VAR,U      counter
	 ELSE
	 LDB   #DISKRUN    Restart the Virtual Interrupt
	 STB   >D.DSKTMR     counter
	 ENDC


  Or send me a good Email path and I'll send you the complete source. Of
course, my offer of a disk full of programs in both source and object form
for $10.00 is still open to everybody. Mail orders to:

  Dave Lewis
  4417 Idaho apt 4
  San Diego CA 92116

Now, a couple of questions for everybody out there:

1. How can a program running on a CoCo3 (or a CoCo2 for that matter) tell if
    the SAM/GIME is running in the high speed (1.8 Mhz) clock mode? Something
    quick and short if possible.

2. What features would you like to see in another completely new OS-9 disk
    driver I'm writing? (Sorry, this one won't be shareware. I don't regret
    releasing NewDisk under those terms, but it wouldn't be a good return
    on the work I'm planning to put into this new one. I'll continue to
    support and distribute NewDisk and the others I've released.) Here are
    some features I've thought of; I'd like some feedback on how important
    you would consider each of them (like, "I WANT it!" or, "Nice, but I can
    do without" or "If you put THAT in I'll patch it out with Debug!"). The
    ones I consider most important/desirable are listed first. If you can
    think of any more features, tell me about them.

  - All the features of NewDisk for starters

  - OS-9 Level 2 support

  - High-speed mode: determine and save current E clock rate, set to normal
     speed (.89 Mhz) for disk access, restore former speed on exit

  - Support the "other" Setstat codes: SS.FRZ, SS.SPT, etc.

  - Double-step 96tpi drive to read 48tpi disks

  - Compensate for ticks missed while interrupts are disabled, so the
     real-time clock doesn't lose time

  - Support single-density, so it can read standard (Gimix format) OS-9 disks

  Mail replies to:

-------------------------------
          Dave Lewis    Loral Instrumentation   San Diego

  hp-sdd --\     ihnp4 --\
  sdcrdcf --\      bang --\   kontron -\
  csndvax ---\   calmasd -->-->!crash --\
  celerity --->------->!sdcsvax!sdcc3 --->--->!loral!dml  (uucp)
  dcdwest ---/                 gould9 --/

 "Hot diggity damn, I'm in the nut hatch and the head looney has
  come to talk to me"

-------------------------------