Sunrise ATA-IDE BIOS improvement?

Page 2/4
1 | | 3 | 4

By jpgrobler

Master (154)

jpgrobler's picture

26-02-2003, 05:54

Hi

Two other ideas - if someone will program them!

1. Add the cd driver to the bios also, and make it auto load in dos if a cd drive was found
2. Add fat16 driver to the bios (as dos command)
(Auto load Fat16 driver if a fat16 partition is accessed, unload if not?)

etc.

JP
PS If I knew how I would have - sorry 8)

By snout

Ascended (15184)

snout's picture

03-03-2003, 23:32

another idea

- Attach drive-letters to partitions in the BIOS

By jpgrobler

Master (154)

jpgrobler's picture

13-03-2003, 06:19

another idea

Hi, some discussion between me and Jon

JP:
1> Does the IDE interface use the Master Boor Record of the HDD?

Jon (the guru):
It only uses the partition info. It doesn't execute any code stored in this
sector 0.
On the PC sector 0 of the hd contains partition info AND code to execute (that's
why it is called master boot record). There is no such thing on MSX.

After init of all cartridges, the MSX disk operating starts and tries to boot
from A:. To do this, sector 0 of A: is loaded and the code is executed. Normally
this code tries to load MSXDOS.SYS. If it fails, MSX Disk Basic is started.

So making a 'bootmanager' can be done in two ways:
1. you intercept the init of the (IDE)cartridges and choose the partition that
is used for A:
2. you modify the bootsector of the partition that is normally mapped to A: in
such a way that it won't try to load MSXDOS.SYS, but that it executes your own
code. In this code, you could remap A: yourselve.

I think 1. is the best.

JP:
> I am thinking about a bootmanager, If the MBR is used for booting then it would not be too difficult?
> Have you maybe given this thought?

Jon:
yes, but as most of the times: is it really needed? you can change which A:
drive to use by disabling/enabling partitions with IDEFDISK. I agree it would be
easier if you could just select this during boot time, but how many people
actually need it? Not many.

There is already something foreseen in IDEFDISK: you could set the bootpartition
with it. In this way you don't need to disable the partitions which are coming
before the bootpartition. However the latest IDEbios doesn't use this info. So a
first step could be to support this setting.

JP:
2> How is the partitions's drivenames allocated?
> Simply the first 5 (if more is active) in sequence of partitiontable position? Can it be manipulated?

Jon:
during boot the driveletters are assigned starting from A:. So the first (=with
the lowest slot number) diskromcartridge starts at A: and uses as many
driveletters as wished (max. 8). The next diskromcartridge (this can be an IDE
cartridge) continues where the previous cartridge stopped.

An IDE cartridge will occupy a maximum of 6 drive letters. This was done so that
in most cases there are still 2 drive letters left for the floppy and ramdisk.
If CTRL is pressed, the floppy diskroms will only create 1 drive. For the IDE:
if DEL is pushed, the IDE diskrom won't create any drives.

When creating drives, the IDE will start with the master IDE device, and next,
if there are still drives left (=less than 6 drives created), it will continue
with the slave IDE device.
For a CDROM or an unpartitioned medium it will create 1 drive. For a partitioned
medium it will create a drive for each partition that is enabled (and this until
a max of 6 drives are created for this interface (or until a total of 8 MSX
drives are created).

So if you could interfere here by letting the user choose which partition to use
for the first drive, then you would have a kind of bootmanager. Note that it is
not guaranteed that this drive will be drive A: !! Because if there is for
example a SCSI cartridge present in a slot before the IDE cartridge, then these
SCSI devices will for example become A:, B: and C:. Then your boot manager in
the IDE will only make a choice for D:, but the boot is done from the SCSI (ASmile.
In case that you only have an IDE interface, it will work of course.

I could try to make something that lets you choose which partition number to
select for the first drive. It would also be nice if I check if that partition
is of FAT12 type and display the volume name if present.
However I don't know if this is going to be easy to put this into the current
code.

Regards,

Jon

JP
> Thanks

By snout

Ascended (15184)

snout's picture

13-03-2003, 11:10

yes, but as most of the times: is it really needed? you can change which A:
drive to use by disabling/enabling partitions with IDEFDISK. I agree it would be
easier if you could just select this during boot time, but how many people
actually need it? Not many.

I think contrary. With the possibility to use compactflash, with Uzix and perhaps DOS3 coming up a think like this becomes quite essential if you want to drag the max out of your MSX

There is already something foreseen in IDEFDISK: you could set the bootpartition
with it. In this way you don't need to disable the partitions which are coming
before the bootpartition. However the latest IDEbios doesn't use this info. So a
first step could be to support this setting.

That would be a nice first step, however I'd like this data to be in some internal program rather than in an external program. My novaxis SCSI interface had a nice setup when pressing DEL during boot. I liked that a lot.

In case that you only have an IDE interface, it will work of course.

OK, I forgot that non-IDE interfaces can interfere with the actual drive letter sequence, but at least it would be cool to be able to arrange them in the IDEBIOS setup.

What kind of puzzles me is that I bought the IDE interface with 512KB flash, because sunrise said 'we can add all kinds of functionality to the IDE interface, thanks to all this flash memory'. However, when the MSX community suggests additions, the programmer of the BIOS (Jon) always says 'no one needs this', 'I think this should be done by an external program' or things like that. I can imagine Jon doesn't want to code this, or doesn't have the time to code it.... (I'd rather see him finishing Compass 2 for that matter Tongue), but I'd really like an optimized, more functional and user-friendly IDE-BIOS.

By sunrise

Paragon (1091)

sunrise's picture

13-03-2003, 19:57

It is all true Snout says above.Jon doesnot probably want to execute what the user want.
If this is question of no time or no interest I donot know.
What I know is that he has no Turbo-r. What indicates that he cannot study to optimize for turbo-r and test it properly.
Yesterday, Tusjikawa sent me an email I which he asked to give Okei a CF-card as a sign of contribution to her work and to stimulate that she wants to continue her work for the fat16. He had also read our interests in improvement.
So I asked promptly to ask Okei if she wants to contribute cause she knows the code.
He saw it as a waist of time for Okei.
But based his opinion on the fact that he thinks that we want to use external programs for it. I told him that the changements had to be done inside the Bios.(meant flashrom)
Furthermore he stated that working with CF-card on windows on PC sometimes files are broken when the size of the card is higher than 64 MB.
I believe this a question that the used USB-reader doesnot accept more than one partition.
So, I still keep on the'negotiation with Okei through Tusjikawa to change her mind to help.
So let finish the discussion for now and let we seek the people to execute what we really want.

By snout

Ascended (15184)

snout's picture

13-03-2003, 23:11

hear hear to Sunrise Wink

By jpgrobler

Master (154)

jpgrobler's picture

14-03-2003, 03:40

HI

Has anybody asked LEO about his hacked version of the sunrise bios. Leo is trying / tried to hack it for msx1. See the thread msx1 & HDD on the Hardware forum. Maybe Leo can help a lot?

JP

By sunrise

Paragon (1091)

sunrise's picture

14-03-2003, 07:54

HI

Has anybody asked LEO about his hacked version of the sunrise bios. Leo is trying / tried to hack it for msx1. See the thread msx1 & HDD on the Hardware forum. Maybe Leo can help a lot?

JP

Sorry hackers are not invited. People can ask if they want something to do.
If there circulates a Bios under our name that doesnot work we get the blame
Okei as well as Jon will not appreciate this and we (Koen, Rob and Peter B even so)

By BiFi

Enlighted (4348)

BiFi's picture

14-03-2003, 08:14

Especially when things are still improving for a product it isn't advisable to hack for it. It's better to give additional support to improve stuff.

I wouldn't be very happy about something I wrote being changed to destroy things (either accidental or on purpose) without the author adding his/her name to the program. Nobody would benefit from an active coder suspending MSX activities just because someone has released another version of the program that works incorrectly.

That would not be good for either the system or the community. So please work with the original developers when there are still active developments for that product.

By snout

Ascended (15184)

snout's picture

14-03-2003, 09:09

there is hacking, and there is hacking

in this case Leo does not try to destroy the ATA-IDE BIOS, but he tries to improve it with the means he has. He is not satisfied with the current ATA-IDE BIOS and -like us- would like to see some improvements. If he is capable of doing that, maybe you should give him a chance, supplying him with the source code of the BIOS (which is a lot saver than disassembling/hacking).

Maybe it's the smartest to have a small group of people look into the code. I know people like GuyveR and Grauw don't have the time to do it all, but I also know they both have quite some impressive optimization tricks up their sleeves. I have seen them at work, and it's amazing what extra speed they can squeeze out of an already impressive sourcecode.

Page 2/4
1 | | 3 | 4