How to get files on Carnivore 2 hd?

By Briqunullus

Master (147)

Briqunullus's picture

04-08-2020, 09:37

In preparation of using the real deal (I have bought a C2 cart and expect to get my old 8235 back in a few weeks time) I decided have a go with Carnivore 2 emulation on openMSX.

When the Carnivore 2 extension is being used for the first time, it creates a hd.dsk file of 100M. It took a few attempts to create a partition on it, the call fdisk would hang after selecting the IDE driver. But after I booted from a Nextor floppy image and returned to basic from there the fdisk program worked fine. I have created a single 100M partition with FAT16.

Now the question is: how to get files on my hd? I can copy from floppy images for sure, but that's quite a tedious job. I tried using the diskmanipulator command from the console, but typing 'diskmanipulator dir hda1' yields a 'no (or invalid) partition table' error.

Where did I go wrong?

Login or register to post comments

By Manuel

Ascended (16864)

Manuel's picture

04-08-2020, 11:18

Diskmanipulator doesn't support FAT16 (yet). That's probably why you get that error. You could add a FAT12 formatted disk as slave and use diskmanipulator to populate it. And then copy to the FAT16 partitions in the MSX.

By Briqunullus

Master (147)

Briqunullus's picture

04-08-2020, 15:33

Ah, thanks, that explains it. Since it's only for playing around I think I just revert back to a FAT12 partition then.

By Briqunullus

Master (147)

Briqunullus's picture

05-08-2020, 12:51

I've got a disk image of 32M now. Used call fdisk again from Nextor and created one partition with FAT12. Confirmed this by viewing the image with a hex editor. Still 'diskmanipulator dir hda1' yields the same error as before.

Also I tried creating a diskimage from diskmanipulator itself. Running 'diskmanipulator create d:\hd.dsk 32M' returns no error, but no file has been created unfortunately.

This proves to be trickier than I had thought...

By sdsnatcher73

Paragon (1095)

sdsnatcher73's picture

05-08-2020, 14:07

Try creating the hard disk image without a direct path (so leave out d:\), openMSX may not have access to d:\ or maybe it expects d:/ as a format. With only the filename I suspect the image (if successfully created) will be in the openMSX data folder Documents\openMSX in your home folder).

By Briqunullus

Master (147)

Briqunullus's picture

05-08-2020, 16:28

Yes! It's the forward slash. Using that, I can create images wherever I'd like. Thanks! They turn up in openMSX root folder if no path is specified by the way.

Have put a few roms on it now, let's run this C2 to the test. Smile

By Manuel

Ascended (16864)

Manuel's picture

05-08-2020, 18:34

Diskmanipulator creates and expects Sunrise IDE partition tables. Could be different from the internal Nextor fdisk?

By Briqunullus

Master (147)

Briqunullus's picture

05-08-2020, 19:00

Yes, they are different. When viewed in a hex editor on pc the nextor image has a leading boot record of some sort (though it's mostly empty). Then nextor image has the bootsector at sector 1, diskmanipulator has it at sector 0. First FAT starts at sector 2 for the nextor image and at sector 1 for the diskmanipulator one. And so on.

I don't know where these differences come from and why and how they matter. And I don't care. I have got it working. :-p

(both images work fine with the emulated C2 btw)

By sdsnatcher73

Paragon (1095)

sdsnatcher73's picture

05-08-2020, 19:08

Probably the image created by diskmanipulator is a raw disk image, as in single partition on one drive (or no actual partition table). Same would be true for a floppy disk (image or not). Nextor allows multiple partitions and fdisk will create a partition table in the first sector and then the first (which can be the only) partition comes after that.

By Manuel

Ascended (16864)

Manuel's picture

06-08-2020, 00:15

Possibly. Try creating multiple partitions with diskmanipulator and compare again.

By Briqunullus

Master (147)

Briqunullus's picture

06-08-2020, 09:54

Spot on. When creating two 32M partitions from diskmanipulator, there is a leading sector as well. The partition tables seem different though, the bytes used are in different places in that sector.

The partition table sector also has a label. Nextor uses 'NEXTOR20', diskmanipulator sets it to 'MSX_IDE '. So I figured I'd change the label and set it to 'MSX_IDE ' at the Nextor image. Now if I do 'diskmanipulator dir hda1' I get a new error 'No partition number 1'. This is true for all partition numbers except hda4, where the error is 'Bad disk image: Illegal number of sides: 0'.

So it's clear Nextor and diskmanipulator use slightly different partition tables. But hey, my original question has been answered, so I'll leave it here.