I'm trying to work out a set of diskdef entries for the cpm utils. I started with a blank SD card:
#dd if=/dev/zero of=/dev/sdc bs=4M conv=sync
I then put the card in an SC 131 running RomWBW and issued the following commands:
b:pip c:slice0=con:
Slice0
Ctrl-z
b:pip d:=slice1=con:
Slice1
Ctrl-z
etc, for six slices.
I then inspected the result back on the PC:
#dd if=/dev/sdc of=sdcard bs=1M count=65
$ hexdump -C sdcard
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 |................| 000001c0 01 00 2e 0f d0 ff 10 00 00 00 f0 ff 3f 00 00 00 |....Ðÿ....ðÿ?...|
000001d0 c1 ff 06 0f d0 ff 00 00 40 00 00 a0 0f 00 00 00 |Áÿ..Ðÿ..@.. ....|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............Uª| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
00006000 00 53 4c 49 43 45 30 20 20 20 20 20 00 00 00 01 |.SLICE0 ....| 00006010 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006020 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0000e000 53 6c 69 63 65 30 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice0..........| 0000e010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0000e080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0000e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
00806000 00 53 4c 49 43 45 31 20 20 20 20 20 00 00 00 01 |.SLICE1 ....| 00806010 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00806020 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0080e000 53 6c 69 63 65 31 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice1..........| 0080e010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0080e080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0080e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
01006000 00 53 4c 49 43 45 32 20 20 20 20 20 00 00 00 01 |.SLICE2 ....| 01006010 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 01006020 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0100e000 53 6c 69 63 65 31 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice1..........| 0100e010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0100e080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0100e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
0100f000 53 6c 69 63 65 32 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice2..........| 0100f010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0100f080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0100f200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
01806000 00 53 4c 49 43 45 33 20 20 20 20 20 00 00 00 01 |.SLICE3 ....| 01806010 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 01806020 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0180e000 53 6c 69 63 65 33 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice3..........| 0180e010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0180e080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0180e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
02006000 00 53 4c 49 43 45 34 20 20 20 20 20 00 00 00 01 |.SLICE4 ....| 02006010 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 02006020 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0200e000 53 6c 69 63 65 34 0d 1a 1a 1a 1a 1a 1a 1a 1a 1a |Slice4..........| 0200e010 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a |................| *
0200e080 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 |åååååååååååååååå|
*
0200e200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| *
02100000
So the directory entries start ar offset 0x6000, 0x80600, 0x1006000, 0x1806000, etc.
My first observation is that the slices are exactly 8MB (0x80000), not 8MB+128K which is what "Hard Disk Anatomy.pdf" in the RomWBW Docs directory says.:
The size of a RomWBW CP/M slice is fixed. The RomWBW Hard Disk Geometry is: Sector = 512 Bytes
Track = 16 Sectors (8KB per Track)
Cylinder = 16 Tracks (256 Sectors per Cylinder, 128KB per Cylinder)
Total Slice Size is 65 Cylinders or 8,320KB (128KB System Area + 8MB Filesystem)
Looks like each slice is 64 cylinders,not 65.
In any case, how do I convert this to diskdef entries?
It would be useful to specify a diskdef file on the command line for
cpmls et al rather than editing /usr/local/share/diskdefs while
experimenting with diskdefs entries. Can this be done?
Thanks for that info, Larry. I'm afraid it doesn't work for me though; looking at the file it appears it's for hd512 slices not hd1024. Looks like some good information in your file, I need to go over it carefully.on 60-some-odd slices, and the software that comes with RunCPM another 60+ even if there were no duplication. As I said,"because it's possible". Rather than run clrdir x: -y 200+ times, times, I'm looking to somehow automate that. Possibly via a submit
Wayne, it doesn't look like the wbw_hd1k_n entries are working for me either.
My objective is to create an SD card (and/or CF card for my SC126 also running RomWBW) with 255 disk slices. I don't know why other than "because it's possible"; I can't imagine actually requiring that much storage. The entire Walnut Creek CD would fit
It would be useful to specify a diskdef file on the command line for cpmls et al rather than editing /usr/local/share/diskdefs while experimenting with diskdefs entries. Can this be done?
Thanks, Wayne, that gave me the information I needed to make it work.
The file hd1k_prefix.dat allows for 64 slices and a 384MB fat
partition though. So I set up another SD card, this time creating a
2GB RomWBW partition starting at 8:0:1 like hd1k_prefix.dat does,
rather than 0 like my first attempt. I created a file on each of the
first eight slices, and cpmtools can access the slices using
wbw_hd1k_<n>. My next task is to generate the other 251 diskdef
entries. Then work out the seek/seek arguments for a script to dd to
paste together the final part.
Yeti, I don't know how to contact the author.
The idea of a diskdefs.d directory sounds fantastic.
Yeti, I don't know how to contact the author.
The idea of a diskdefs.d directory sounds fantastic.
Thanks, Wayne, that gave me the information I needed to make it work. The file hd1k_prefix.dat allows for 64 slices and a 384MB fat partition though. So I set up another SD card, this time creating a 2GB RomWBW partition starting at 8:0:1 like hd1k_prefix.dat does, rather than 0 like my first attempt. I created a file on each of the first eight slices, and cpmtools can access the slices using wbw_hd1k_<n>. My next task is to generate the other 251 diskdef entries. Then work out the seek/seek
Glad you got it figured out Bob. I am actually pretty interested in your experiment. While the maximum of 256 slices should not be a problem, I am not aware of anyone actually doing it in practice.
Thanks,
Wayne
assign
dir j:| SLICE254
type j:slice254Slice
syscopy c:=b:
On Wednesday, July 26, 2023 at 10:34:49 PM UTC-4, Wayne Warthen wrote:it if I didn't happen to have the other system?
Glad you got it figured out Bob. I am actually pretty interested in your experiment. While the maximum of 256 slices should not be a problem, I am not aware of anyone actually doing it in practice.
There you have it. 255 slices. I should have a 256th, but I'm not sure it won't run into the FAT partition immediately after it.
Something that could have been an issue was making a slice bootable on the SD card. When booting CP/M or Z-System, I get an error:
syscopy c:=b:
SYSCOPY v2.1 for RomWBW CP/M, 15-May-2020 (CP/M 2 Mode)
Copyright 2020, Wayne Warthen, GNU GPL v3
Transfer system image from B: to C: (Y/N)? y
Reading image...
Non-system disk error
I made it bootable by putting the card in my SC126 system, which has an SD card adapter and also a compact flash adapter. I could then boot off the compact flash and syscopy would successfully copy from the CF boot slice to the SD card. How would I do
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 489 |
Nodes: | 16 (2 / 14) |
Uptime: | 56:40:12 |
Calls: | 9,673 |
Calls today: | 4 |
Files: | 13,719 |
Messages: | 6,170,996 |