Hi Dave, I was checking on this over the weekend and read my N* manual on system software.
It is true that you can mix densities on a N* OS disk on a file by file basis (insane in
my mind, but...). N* specifically talks about 256 byte blocks and indicates that a DD disk
contains 2 blocks per sector.
The starting disk address has to be independent of density. There would be no way for the
controller to check previous tracks or sectors to make the starting address dependent on
previous disk info. I would have to check that specifically when I get home tonight.
The CP/M variation is all DD and I am sure would not allow any mixed densities as N*
allows in their OS. If you want, have the guy send me a couple of 10 sector disks and I
will send him back a 52K and 56K CP/M system disks. All he needs to do is cover postage.
By the way, I booted up my N* OS and CP/M over the weekend sucessfully after I recreated
the Intel ISIS monitor on my N* chassis.
Email me offline for address, etc.
best regards, Steve Thatcher
-----Original Message-----
From: Dave Dunfield <dave04a(a)dunfield.com>
Sent: Jun 29, 2004 7:51 AM
To: cctalk(a)classiccmp.org
Subject: NorthStar Double Density - DOS low level DCOM function
Hi Guys,
I am trying to help someone with a NorthStar Horizon that has the double
density controller obtain a copy of CP/M for his system. I have located
someone with the software - not it's just a matter of figuring out how to
move it.
My plan is to write a little utility that will allow the one person to read
the disk image into a file on a PC which can be transferred by email, and
then the other guy can write it out to a diskette - this is somewhat complicated
by the fact that NorthStar allows mixed single/double density on a diskette
(I don't know if CP/M does this or not) - my idea is to read it a sector at a
time, and include a density flag for each sector - this will allow copying of
an single, double or mixed mode disk.
I am very familier with the N* single density controller (and have a system
running one), however I have never owned the DD controller.
The N* software manual fairly consistantly refers to SECTORS as either 256 or
512 byte depending on density, and FILE BLOCKS as 256 bytes - there are two
file blocks to physical sector on the DD controller.
My question is this: On page4 H-1 of the NorthStar System Software Manual,
the DCOM (Disk Command) subroutine is documented to have these parameters:
ACC=NUMBER OF BLOCKS
B=COMMAND(0=WRITE, 1=READ, 2=VERIFY, -1=SING-INIT -2=DBL-INIT)
C=UNIT NUMBER, Bit7=DOUBLE DENSITY BIT
DE=STARTING RAM ADRESS HL=STARTING DISK ADDRESS
My concern is that ACC indicates BLOCKS, not SECTORS - does this mean that the DD
controller can read/write 1/2 sectors, must always begin on an even block number,
or is this a typo and it really refers to 512 byte physical SECTORS.
The question also applies to the HL parameter - is this the starting address in 256
byte BLOCKS, or 512 byte SECTORS?
I would have assumed that the low-level command would only work on SECTORS, however
as noted at the beginning of my message, the manual is fairly consistant elseware
to use BLOCKS for 256 byte units, and SECTORS of physical disk units - the use of BLOCKS
here would imply 256 byte logical units.
This was never an issue on my SD system as BLOCK=SECTOR=256 bytes - both are
interchangable.
Can anyone with expereience on the N* DD system help clairify this issue? As I do not
have a DD system to test on, it would save me considerable time.
Thanks,
Dave
--
dave04a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Vintage computing equipment collector.
http://www.parse.com/~ddunfield/museum/index.html