Konamiman / Nextor

A disk operating system for MSX computers, forked from MSX-DOS 2.31
Other
183 stars 35 forks source link

mapdrv incorrect help? #125

Closed eurol closed 1 year ago

eurol commented 1 year ago

Hi!

I use SUNRISE-IDE. Tried to use mapdrv to mount partitions.

a: is first partition, b: is first floppy, second floppy is "turned off" by 200h at 200h. :)

mapdrv c: 2 does not work mapdrv c: 2 1 does not work mapdrv c: 2 1 2 works (slot 2) mapdrv c: 2 1 1 works (slot 1)

mapdrv shows help like

MAPDRV <drive>: <partition> [<device>[-LUN] [<slot>[<subslot>]]]

so I understand that device, slot and subslot are not necessary.

изображение

Konamiman commented 1 year ago

Hi, the documentation is correct. [] refers to optional parameters, and nested [] means that the nested one is optional but you can use it only when the "main" parameter is present. | means that you can choose betwen two or more options.

So in a nutshell, you can execute MAPDRV in the following ways:

MAPDRV <drive>: <partition> - change partition, assume same device controlled by same slot (compared to what's currently mapped). MAPDRV <drive>: <partition> <device> - set partition from the specified device, assume same slot (compared to what's currently mapped). MAPDRV <drive>: <partition> <device>-<LUN> - same as previous but with explicit LUN specification (normally not needed). MAPDRV <drive>: <partition> <device> <slot> - set the specified partition from the specified device controller by the specified slot. MAPDRV <drive>: <partition> <device> <slot>-<subslot> - same as previous but specifying also a subslot. MAPDRV <drive>: <partition> <device> 0 - same as previous but uses the slot number of the primary Nextor controller.

So basically you specify only what you need to change relative to what's currently mapped, but to specify a slot you need to specify a device too, and to specify a device you need to specify a partition number too.

I hope this helps. I'm closing this as there's nothing to fix, but feel free to ask more questions if there's still something that is not entirely clear to you.

eurol commented 1 year ago

Hi! Thank you! So optional parameters are not optional at first run of program. It is confusing.

Konamiman commented 1 year ago

I understand that the usage is not trivial, but it's difficult to come up with a solution that covers all the variables involved (drive letter, partition number, device number, controller slot), yet it's flexible and convenient (you don't need to specify device or slot if you just want to change to a different partition on the same device), and on top of tap simple to understand.

So optional parameters are not optional at first run of program.

It's not "at first run", it depends on what's currently mapped in the drive whose mapping you are changing.