Mike_Z
Veteran Member
Today, I was curious whether or not my CP/M 2.2 system was loading fast enough. I have a 2 track system on an 8 inch floppy. My CBIOS has a SecTran call and translation table like this
This seems to imply that one track should we read in 7 revolutions of the disk. Therefore, 2 tracks should take 14 revolution plus the seek time to move from track 0 to track 1. I have the head unload set at 240 mSec, the head load at 254 mSec and the step rate at 8 mSec. Total equal to 502 mSec.
I believe the floppy rotates at 360 RPM or 167 mSec per turn.
Ignoring computer time,
14 revolutions times 167 mSec per turn plus 502 mSec = 2.84 seconds
I measured 9 2/3 seconds on my system. I first got my CP/M 2.2 system working on my homemade 8080 computer with two Shugart SA800 drives about 6 years ago. I was very ignorant of most things needed to do this and tried many things. The summer of 2015 I got a system that worked. Since then I have used the system quite a bit and never really thought about how long it should take to load the system.
The first disk's I formatted and all the ones since, I set the interweave to 1:1. Today I formatted a test disk with the same parameters but had an interweave of 7:1. Then copied my system and some files from a 1:1 disk to this 7:1 disk. This worked and the load time measured dropped to 3.2 seconds.
My CBIOS has a SECTRAN: routine, but what calls it? I'm a little confused at how to handle this? Seems the SECTRAN maybe a software method to speed up disk access, but I do not think my software is using it. When I format a disk with a 7:1 interweave, system loading time is cut by 2/3's. Mike
Code:
SECTRAN: ;HL=TABLE+BC OFFSET (DE)
XCHG ;HL=TRANS
DAD B
MOV L,M
MVI H,0H
RET
;SECTOR TRANSLATION TABLE
TRANS: DB 1,7,13,19 ;SECTORS 1,2,3,4
DB 25,5,11,17 ;SECTORS 5,6,7,8
DB 23,3,9,15 ;SECTORS 9,10,11,12
DB 21,2,8,14 ;SECTORS 13,14,15,16
DB 20,26,6,12 ;SECTORS 17,18,19,20
DB 18,24,4,10 ;SECTORS 21,22,23,24
DB 16,22 ;SECTORS 25,26
This seems to imply that one track should we read in 7 revolutions of the disk. Therefore, 2 tracks should take 14 revolution plus the seek time to move from track 0 to track 1. I have the head unload set at 240 mSec, the head load at 254 mSec and the step rate at 8 mSec. Total equal to 502 mSec.
I believe the floppy rotates at 360 RPM or 167 mSec per turn.
Ignoring computer time,
14 revolutions times 167 mSec per turn plus 502 mSec = 2.84 seconds
I measured 9 2/3 seconds on my system. I first got my CP/M 2.2 system working on my homemade 8080 computer with two Shugart SA800 drives about 6 years ago. I was very ignorant of most things needed to do this and tried many things. The summer of 2015 I got a system that worked. Since then I have used the system quite a bit and never really thought about how long it should take to load the system.
The first disk's I formatted and all the ones since, I set the interweave to 1:1. Today I formatted a test disk with the same parameters but had an interweave of 7:1. Then copied my system and some files from a 1:1 disk to this 7:1 disk. This worked and the load time measured dropped to 3.2 seconds.
My CBIOS has a SECTRAN: routine, but what calls it? I'm a little confused at how to handle this? Seems the SECTRAN maybe a software method to speed up disk access, but I do not think my software is using it. When I format a disk with a 7:1 interweave, system loading time is cut by 2/3's. Mike