Hallo allemaal,
-- "Zoekt en gij zult vinden" (Seek and thou will find)
But the people in those days didn't know Murphy:
-- "Thou will find the answers by thouself AFTER thou have asked other people"
and
-- "Thou will find those things you weren't looking for"
I found two books: "User's manual for CBM 5.24-inch Dual Floppy Disk
Drives" and " Addendum to CBM dual drive floppy manual".
Drive: Tracks: Sectors:
2040/3040
1 to 17 21
18 to 24 20
25 to 30 18
31 to 35 17
4040
1 to 17 21
18 to 24 19
25 to 30 18
31 to 35 17
8050
1 to 39 29
40 to 53 27
54 to 64 25
65 to 77 23
8250
1 to 39 29
40 to 53 27
54 to 64 25
65 to 77 23
78 to 116 29
117 to 130 27
131 to 141 25
142 to 154 23
BAM format 2030/3040
Track 18, sector 0
byte(s): content: defenition:
0 - 1 18, 1 T/S of first directoryblock
2 1 version 1 format
3 0 future use
4 - 143 bitmap available blocks
144 - 161 diskname with shifted spaces
162 - 163 disk ID
164 - 170 160 shifted spaces
171 - 255 0 not used
note: ASCII characters may appear in 180 - 191
BAM format 4040
Track 18, sector 0
byte(s): content: defenition:
0 - 1 18, 1 T/S of first directoryblock
2 65 version A format
3 0 future use
4 - 143 bitmap available blocks
144 - 161 diskname with shifted spaces
162 - 163 50, 65 "2A" = DOS-version and format type
164 - 165 disk ID
166 - 170 160 shifted spaces
171 - 255 0 not used
note: ASCII characters may appear in 180 - 191
BAM format 8050
Track 39, sector 0
byte(s): content: defenition:
0 - 1 38, 0 T/S of first BAM block
2 67 version C format
3 0 future use
4 - 5 unused
6 - 21 diskname with shifted spaces
22 - 23 160 shifted spaces
24 - 25 disk ID
26 160 shifted space
27 - 28 50, 67 "2C" = DOS-version and format type
29 - 32 160 shifted spaces
32 - 255 0 not used
note: ASCII characters may appear in 180 - 191
BAM blocks 8050
Track 38, sector 0
byte(s): content: defenition:
0 - 1 38, 3 T/S of second BAM block
2 67 version C format
3 0 future use
4 1 lowest tracknumber in this block
5 51 highest tracknumber+1 in this block
6 number of sectors unused on track 1
7 - 10 bitmap representation of sectors on
track 1
11 - 255 tracks 2-50, 5 bytes per track
Track 38, sector 3
byte(s): content: defenition:
0 - 1 39, 1 T/S of first directory block
2 67 version C format
3 0 future use
4 1 lowest tracknumber in this block
5 51 highest tracknumber+1 in this block
6 number of sectors unused on track 1
7 - 10 bitmap representation of sectors on
track 51
11 - 140 tracks 52-77, 5 bytes per track
140 - 255 unused
REMARK: the contents of byte 4 and 5 are wrong IMHO, should be 52 and 78.
See also 8250 below.
BAM entry for 8050 and 8250:
byte: defenition:
0 number of available sectors per track
1 bitmap sectors 0 - 7
2 bitmap sectors 8 - 15
3 bitmap sectors 16 - 23
4 bitmap sectors 24 - 31
BAM format 8250
Track 39, sector 0
byte(s): content: defenition:
0 - 1 38, 0 T/S of first BAM block
2 67 version C format
3 0 future use
4 - 5 unused
6 - 21 diskname with shifted spaces
22 - 23 160 shifted spaces
24 - 25 disk ID
26 160 shifted space
27 - 28 50, 67 "2C" = DOS-version and format type
29 - 32 160 shifted spaces
32 - 255 0 not used
note: ASCII characters may appear in 180 - 191
BAM blocks 8250
Track 38, sector 0
byte(s): content: defenition:
0 - 1 38, 3 T/S of second BAM block
2 67 version C format
3 0 future use
4 1 lowest tracknumber in this block
5 51 highest tracknumber+1 in this block
6 number of sectors unused on track 1
7 - 10 bitmap representation of sectors on
track 1
11 - 255 tracks 2-50, 5 bytes per track
Track 38, sector 3
byte(s): content: defenition:
0 - 1 38, 6 T/S of third BAM block
2 67 version C format
3 0 future use
4 51 lowest tracknumber in this block
5 101 highest tracknumber+1 in this block
6 number of sectors unused on track 51
7 - 10 bitmap representation of sectors on
track 51
11 - 255 tracks 52-100, 5 bytes per track
Track 38, sector 6
byte(s): content: defenition:
0 - 1 38, 9 T/S of fourth BAM block
2 67 version C format
3 0 future use
4 101 lowest tracknumber in this block
5 151 highest tracknumber+1 in this block
6 number of sectors unused on track 101
7 - 10 bitmap representation of sectors on
track 101
11 - 255 tracks 102-150, 5 bytes per track
Track 38, sector 9
byte(s): content: defenition:
0 - 1 39, 1 T/S of first directory block
2 67 version C format
3 0 future use
4 151 lowest tracknumber in this block
5 155 highest tracknumber+1 in this block
6 number of sectors unused on track 1
7 - 10 bitmap representation of sectors on
track 151
11 - 25 tracks 152-154, 5 bytes per track
26 - 255 unused
The above answers my doubts about what to do with the BAM blocks of my D16
format: just reserve 19 blocks with the following structure:
byte(s): content: defenition:
0 - 1 T, S T/S of next BAM
2 90 version Z format
3 0 future use
4 1 lowest tracknumber in this block
5 28 highest tracknumber+1 in this block
6 number of sectors unused on track 1
7 - 22 bitmap representation of sectors on
track 1
23 - 244 tracks 2-14, 17 bytes per track
245 - 255 unused
.......
byte(s): content: defenition:
0 - 1 T, S T/S of first directory block
2 90 version Z format
3 0 future use
4 1 lowest tracknumber in this block
5 28 highest tracknumber+1 in this block
6 number of sectors unused on track 253
7 - 22 bitmap representation of sectors on
track 253
23 - 74 tracks 253-255, 17 bytes per track
75 - 255 unused
The question remains which track(s) to use. To remain compatible to D64 in
a certain way, I'm thinking of using 18/1 as the first directory block. In
this way programs who 'hack' the directory in one or another way won't be
disapointed. Programs who hack the BAM table will have problems but I can
live with that.
I need 19 BAM blocks. Considering the fact that A) I will support
subdirectories and B) I will support directory entries on other sectors as
well, I'll use the last 19 sectors of track 18 for this task.
Groetjes, Ruud
-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.
Archive generated by hypermail 2.1.1.