Can't add slice 8 to my combo CF card

108 views
Skip to first unread message

Randy Merkel

unread,
Aug 9, 2025, 12:37:03 AMAug 9
to retro-comp
I was able to create 2 new slices with dd, but the 3rd fails. For example

1. Starting with a 2G CF card which I successfully copied the combo image to (drives C:-H)...

2. On my Ubuntu laptop I did the following

    $ sudo dd if=hd1k_aztecc.img    of=/dev/sd1c seek=6 bs=1M
    $ sudo dd if=hd1k_bascom.img  of=/dev/sd1c seek=7 bs=1M
    $ sudo dd if=hd1k_cowgol.img    of=/dev/sd1c seek=8 bs=1M

and so on. 

3. Boot into CP/M or Z-System and only drives C:, D:, ..., J: mount (slices 0..7), but not the 8th, 9th, etc.

4. DIR K: returns BDos error/ZSDOS error on K: No Drive.

I was expecting to be able to go as high as P: with CP/M or ZSDOS.

Thoughts/Suggestions?

Thanks in advance.

-- Randy

Randy Merkel

unread,
Aug 9, 2025, 12:50:38 AMAug 9
to retro-comp
I forgot to add this is for my SC974. 

I've been playing around with DDT and ASM, but wanted to use the M80 assembler thats part of the BASCOM package. While I was at it, I figured I might as well add a bunch of other dev tools to my "combo" CF card.

Douglas Miller

unread,
Aug 9, 2025, 6:37:02 AMAug 9
to retro-comp
I assume you mean "SC794", and that you are running RomWBW.

Hopefully, Wayne will chime-in here with the authoritative answer, but I'm pretty sure the CF driver for RomWBW has a hard-coded number of partitions. The various data structures needed by CP/M are probably not dynamically allocated. I have not found the specific parts of the code that do this, but I suspect there is a configuration parameter that specifies the number of partitions, and that it defaults to 8. Be aware, especially for large drives like these, that each drive consumes more memory and likely reduces the TPA (memory available for programs). But my guess is that you would have to change the configuration parameter(s), recompile RomWBW, and burn a new image into your EEPROM. It is possible that going beyond 8 partitions requires more changes to the source code.

Christer Karlsson

unread,
Aug 9, 2025, 9:03:09 AMAug 9
to Douglas Miller, retro-comp
Hi Randy,

It is not clear if you use ASSIGN, if you are using 3.5.0 or later it is a good description in the RomWBW Applications document section 4.1.  Douglas is correct that RomWBW will 'only' automatically assign 1-8 

"In the case of hard disks, 1-8 drive letters will be assigned to the initial 1-8 slices of the disk
drive. The number of drive letters assigned to each hard disk depends on the number of hard
disks in the system:
• 1 Hard Disk: 8 drive letters (slices)
• 2 Hard Disks: 4 drive letters (slices) per disk
• 3+ Hard Disks: 2 drive letters (slices) per diskThis somewhat complicated algorithm is used to try and maximize the limited number of
operating system drive letters available (16) to the available disk devices as evenly as possible." (RomWBW section 3.3.1)

Hope this helps and can solve your problem.

On Sat, Aug 9, 2025 at 4:37 AM Douglas Miller <durga...@gmail.com> wrote:
I assume you mean "SC794", and that you are running RomWBW.

Hopefully, Wayne will chime-in here with the authoritative answer, but I'm pretty sure the CF driver for RomWBW has a hard-coded number of partitions. The various data structures needed by CP/M are probably not dynamically allocated. I have not found the specific parts of the code that do this, but I suspect there is a configuration parameter that specifies the number of partitions, and that it defaults to 8. Be aware, especially for large drives like these, that each drive consumes more memory and likely reduces the TPA (memory available for programs). But my guess is that you would have to change the configuration parameter(s), recompile RomWBW, and burn a new image into your EEPROM. It is possible that going beyond 8 partitions requires more changes to the source code.

--
You received this message because you are subscribed to the Google Groups "retro-comp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to retro-comp+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/retro-comp/e7d1de0b-6c0e-4feb-9aeb-673cd2b1f3f5n%40googlegroups.com.

Wayne Warthen

unread,
Aug 9, 2025, 9:53:15 AMAug 9
to retro-comp
Thanks to Douglas and Christer for providing good answers.  I will just clarify a couple of things.

RomWBW does do dynamic disk buffer allocation.  It will allow drive letters to be assigned from A: to P: as long as it does not run out of buffer space.  The buffer space is fixed, but is typically sufficient to assign all drive letters.  Note that CP/M 3, ZPM3 and Z3PLUS do not have this buffer space constraint and will always allow assigning of all drive letters.

Although the boot process implements a fixed drive letter assignment algorithm, you can use the ASSIGN command to modify these assignments from the CP/M command prompt.  It can add, remove, swap, etc. drive assignments on the fly.  It also has options to "fill" all possible drive letters, such as ASSIGN /B=BAOS which is probably what you want (Mark Pruden added this functionality in v3.5).

You can add ASSIGN command(s) to a PROFILE.SUB file on the drive you are booting from to automate this at every boot.

One last thing.  In your dd commands above, you are using bs=1M.  I think you want bs=8M in this scenario.

Thanks, Wayne

Randy Merkel

unread,
Aug 9, 2025, 7:25:03 PMAug 9
to retro-comp
Yes, it's the SC794 ;) Also my CF card is 2G.

On Saturday, August 9, 2025 at 6:03:09 AM UTC-7 k.chr...@gmail.com wrote:

Randy Merkel

unread,
Aug 9, 2025, 7:29:02 PMAug 9
to retro-comp
Not using ASSIGN, I'll take a look at sections 3.3.1 and 4.1!

I wasn't aware of the 8 hard disk limitation - that explains what I'm seeing!

Randy Merkel

unread,
Aug 9, 2025, 7:37:30 PMAug 9
to retro-comp
I'll take a look at v3.5 and see if ASSIGN will do what I need.

Re:PROFILE.SUB - I've been botting from RomWBW via the C or Z command; that means that my system disk (B:) is a ROM (FLASH) drive, correct? If so, can I add/modify a PROFILE.SUB by setting the write enable on the memory card (SC721) and ed b:PROFILE.SUB?

bs=1M vs 8M. Originally I was using 8M, but I noticed 1M in chapter 6, example 3 of the RomWBW when I first encountered the issue and was frailing about ;)

Thanks all!!

-- Randy

Wayne Warthen

unread,
Aug 9, 2025, 8:45:00 PMAug 9
to retro-comp
On Saturday, August 9, 2025 at 4:37:30 PM UTC-7 slowyb...@gmail.com wrote:
Re:PROFILE.SUB - I've been botting from RomWBW via the C or Z command; that means that my system disk (B:) is a ROM (FLASH) drive, correct? If so, can I add/modify a PROFILE.SUB by setting the write enable on the memory card (SC721) and ed b:PROFILE.SUB?

It is possible to set up a system that can "write" to your ROM, but please don't do that.  You really need to start booting from your CF Card and put stuff like PROFILE.SUB there. 

bs=1M vs 8M. Originally I was using 8M, but I noticed 1M in chapter 6, example 3 of the RomWBW when I first encountered the issue and was frailing about ;)

The 1M in example 3 is being used to skip the 1MB header of a raw disk.  You should be writing to the RomWBW partition -- each slice is exactly 8MB for hd1k disks.

Thanks, Wayne 

Randy Merkel

unread,
Aug 11, 2025, 5:22:39 PMAug 11
to retro-comp
Wayne,

Understood! Thanks again!

-- Randy

Reply all
Reply to author
Forward
0 new messages