Modifying OS65D

Post Reply
lowrybt1
Posts: 116
Joined: Sun Mar 08, 2015 3:42 pm

Modifying OS65D

Post by lowrybt1 » Tue Apr 17, 2018 6:33 pm

Hello,

I am trying to connect a Shugart 400L to my C1PMF. I've got a home-made data/clock separator following the design Nelson Ingersoll published in Aardvark back in 1981. According to the article, I need to modify OS65D so that it plays friendly with the SA-400's slower stepper motor. The value I need to change is located at $26A3 on track 0. Is there a resource on this forum or elsewhere that lays out the steps I'd need to follow to load track 0, edit the value at the address and writing it back to disk?

Many thanks, Tom
C4PDF w. 24K, 2 x 5.25 MPI B-51 drives
C1P RevB with fully-populated 610 board and A-13. Klyball D-13.
Spares: 600 Rev.D, 610 board, 540A, A-13 with homebuilt data separator, MPI B-51 logic board (w/o data sep module) and mechanicals

dave
Site Admin
Posts: 485
Joined: Tue Sep 09, 2008 5:24 am

Re: Modifying OS65D

Post by dave » Fri Apr 20, 2018 8:46 am

I'm not able to test this out at the moment, but the general idea is to get the system booted (if you don't have access to an MPI drive or similar), then use the track 0 utility.

the disk boot routine from the C/D/W/M prompt will load track 0 to $2200, even if the step rate is off, since the routine will step until track 0 is indicated by a signal asserted by the drive when track 0 is reached. So even you you can't load the rest of the OS and boot normally, track 0 will be in RAM. You can reset and use the monitor "M" to change the value at $26A3, then execute at $2200 to resume the boot.

I see that the v3.3 disk image included with winOSI has the delay stored at $26a3 as expected.

Once you boot, exit BASIC and run the disk utility. Some manuals indicate the location is on track 13, sector 1, and others indicate track 6, sector 4. This may depend on the OS revision. I found it at Track 6, sector 4 on the WinOSI disk image. You'll need to reload it after entering BASIC or the extended monitor, which overwrite the contents of $0200. Also, don't count on modifying the contents of $26A3 and writing track 0 directly from $2200, since BASIC and EM appear to modify the page at $2200.

A* CA 0200=06,4
A* GO 0200

Once in the utility, read track 0 to a safe place (in this example, $5200)
R5200
E

Then enter the extended monitor:
* EM
:@56A3
5200/08 20 (you type 20 and hit return)
:EX

Then re-write track 0:
A* CA 0200=06,4
A* GO 0200
W5200/2200,8 (write 8 pages to track 0 from $5200, with load vector $2200)
E

I'm sure there will be some inaccuracies in the above, but hopefully that's enough to get you going.

lowrybt1
Posts: 116
Joined: Sun Mar 08, 2015 3:42 pm

Re: Modifying OS65D for different drive specs

Post by lowrybt1 » Mon Oct 29, 2018 10:13 pm

Dave,

A little late telling your instructions worked perfectly. And, of course, I have a follow-up. I've picked up a "modern" 5.25" drive from 1987. It is a Panasonic 455-5 which has all the same specs as the Shugart 450:

300 rpm
48 tpi
4ms track-to-track seek time
FM data transfer rate of 125Khz
FM storage capacity per sector of 128
125K unformatted storage
It is jumper-configurable for double-sided operation

Looking at these specs, I'm thinking that I don't need to change anything on track zero of OS65D. Do you think I'm right about that?

Tom
C4PDF w. 24K, 2 x 5.25 MPI B-51 drives
C1P RevB with fully-populated 610 board and A-13. Klyball D-13.
Spares: 600 Rev.D, 610 board, 540A, A-13 with homebuilt data separator, MPI B-51 logic board (w/o data sep module) and mechanicals

dave
Site Admin
Posts: 485
Joined: Tue Sep 09, 2008 5:24 am

Re: Modifying OS65D

Post by dave » Tue Oct 30, 2018 8:14 am

Glad to hear the instructions worked.

I agree, that drive should work with no modifications.

Post Reply