[net.micro.6809] OS-9 and double sided disks

sdyer@bbncca.ARPA (Steve Dyer) (11/18/83)

I'm trying to get OS-9 to use all 40 tracks and both sides of my Remex
floppy, and have it seek at the higher 6ms rate.  (Standard R/S disk
is single sided, 35 track, 30ms seek time.)  It seems I've been partially
successful--those with 40tk, fast step-rate drives will find this useful.
I'm also looking for any help with the problem I describe below...

First, I do the following (refer to page 39 of the OS-9 Technical Information
booklet):

OS9: debug      (all numbers in hexadecimal)
L d1            (my Remex is drive 1--use dN where N is your drive #)
. .+14          (select step rate)
= 3             (change from 0 [30ms] to 3 [6ms])
-               (move back to verify change)
. .+4           (select no of tracks)
= 28            (change from 35 tracks [23] to 40 [28])
= 2             (change from 1 side to two sides)
q               (quit the debugger)

A "format /d1" procedes fine until it gets past track 0x27 (which looks like
the last track on the first side.)  At that point, it gets read errors.
Looks like there's some problem accessing the other side.  For the record,
I should state that I'm using a special drive cable from Frank Hogg Labs
which allows me to use their FLEX with a double sided drive.  The only
difference (I think) with this cable and the standard R/S one is that
the controller's "side select" signal is passed to the selected drive, rather
than being used to select drive 3 (as in R/S DOS).

Perhaps the current disk driver ignores side selection, since the R/S
cable doesn't supply it?  Anyone out there have any ideas or suggestions?
Have fun with everything except double-sided drives, though...

/Steve Dyer
decvax!bbncca!sdyer

P.S.: I haven't yet figured out how to save this change.  Will keep you
      posted.

sjt@sb6.UUCP (11/19/83)

 Since Steve Dyer obviously did not get my previous responce on using
 debug to change modules I will post this one as a followup.
 
 After you quit the debug module you have only to SAVE the module that
 you just modified.  This will put an exact copy of the module
 "in memory" onto your current work directory.  Then uset ATTR
 and verify to update the module. The exact sequence should be:
     verify u < module to update > new updated module
     attr new updated module e pe  this sets execute and public execute
 
 After you have formatted a new disk use os9gen to build yourself a new
 boot module.  It will probably be necessary to save all modules out
 of memory and include them one at a time.  Read the book since there
 are several that you do not include in the os9boot.
 
              OS9, OS9P2, INIT, BOOT  <--- don't include

 Frank Hogg also published a letter outlining the mods to make
 in the modules of OS 9 for the COCO.  To paraphrase:
 
              change the CCDisk module and if you are
              game BOOT.

   a)  make changes below as required
         1.
            byte    #1(old value)   #2(new value)
            ====    ============    ============
            0007    81              82              Rev number
            0008    D3              D0              checksum
            01FE    13              10              speed
            10=6ms 11=12ms 12=20ms 13=30ms
            0204    22              08              delay
            0205    2E              8B                "
            0210    04              41              make drive 2 back of d 0
            0211    40              42              make d 3 back of d1
            02DD    43              40              speed
            40=6ms 41=12ms 42=20ms 43=30ms
            02E9    03              00              speed
            00=6ms 01=12ms 02=20ms 03=30ms
            0308    52              43                 crc
            0309    4C              BC                 crc
            030A    EB              6E                 crc

 If you make changes exactly as listed you SHOULD not have to do
 a verify, I do one every time since it is safer to do so.
 
        2.  save the module onto disk and then gen yourself a new
            boot( or since you did a mod to the Rev number just
            have your startup do a load newmodule each time
            you boot and this one will overlay the earlier
            version)
 
  I did modify the modules on the RS OS 9 and it does work!

  This procedure is required since the device descriptors on the
  RS are different from the real OS 9 (which is what I run since
  I do all my development on a SWTPC type system).

  I hope this is of some help as OS 9 is not easy to learn and
  is not as user friendly as it should be.

 Sidney Thompson

emjej@uokvax.UUCP (11/21/83)

#R:bbncca:-32100:uokvax:3500015:000:958
uokvax!emjej    Nov 21 09:49:00 1983

Re side selection on the CoCo: the Frank Hogg method of using double-sided
drives makes each side of a drive look like a separate one-sided drive. The
RS disk controller uses the Western Digital 1793 controller chip, which doesn't
have a side-select pin.

Enough folks are nattering and grommishing (and rightly so, too) about the
current disk driver module, which is tied to the RS disks (it *doesn't* look
at the device descriptors, which would automatically take care of differing
step rates, tracks per side, and the like!) that I think future releases will
do things right (to the extent permitted by the RS controller).

Speaking of the controller--it is a nasty bottleneck, what with programmed data
transfer. If someone would come out with a controller that allowed DMA or kept
a one-sector buffer on-cartridge, or *anything* just to keep from pestering the
6809 every time a byte is transferred, OS-9 would really fly on the CoCo.

					James Jones