Hello all,
I have reached my limits and need urgent help. I would like to implement some special disk formats in CPM 2.2. like this:
# robotron PC1715 SCP 624k (80*2* 16,256 8 OFS 4k DIR) 5.25"
# setfdprm /dev/fd1 ds dd ssize=256 cyl=80 sect=16 head=2 dtr=1 fm=0
diskdef scp624
seclen 256
tracks 160
sectrk 16
blocksize 2048
maxdir 128
skew 0
boottrk 4
os 2.2
libdsk:format scp640
end
# robotron PC1715 SCP 780k (80*2* 5,1024 8 OFS 4k DIR) 5.25"
# setfdprm /dev/fd1 ds dd ssize=1024 cyl=80 sect=5 head=2 dtr=1 fm=0
diskdef scp780
seclen 1024
tracks 160
sectrk 5
blocksize 2048
maxdir 128
skew 0
boottrk 4
os 2.2
libdsk:format scp800
end
# robotron PC1715 SCP 800k (80*2* 5,1024 0 OFS 4k DIR) 5.25"
# setfdprm /dev/fd1 ds dd ssize=1024 cyl=80 sect=5 head=2 dtr=1 fm=0
diskdef scp800
seclen 1024
tracks 160
sectrk 5
blocksize 2048
maxdir 128
skew 0
boottrk 0
os 2.2
libdsk:format scp800
end
Ideally, I would like to have a separate drive assigned for each of these special formats. Or alternatively some kind of overloading, if that is possible. As I read on the web, it should be possible to overload drivers in CP/M.
1. where should I start with the implementation? HBIOS should be able to handle the hardware and sector sizes. However, I don't think it can handle 1k sectors at this time. FCD_N is set to 2, for 1k it should be 3.
2. where should the number of directory entries and the location of the directory respectively the number of boot tracks be implemented? In the CBIOS?
3. how to manage the drive mapping like
A> 624k format
B> 780k format
C> 800k format
I would greatly appreciate any input and help to realize my project.
Cheers
Laszlo