Schrijver
| SymbOS MSX multitasking operating system - help needed!
|
dvik msx master Berichten: 1289 | Geplaatst: 31 Mei 2006, 23:07   |
No problem. I haven't implemented all ata commands either  but I hope to support all eventually. I'm glad that it wasn't something major. I compared the IDE emulation in both emulators and they look very similar so I figured it was something minor. |
|
manuel msx guru Berichten: 3277 | Geplaatst: 31 Mei 2006, 23:21   |
I wonder what Prodatron needs this feature for, by the way... It seems like an optional feature (mth just told me).
|
|
dvik msx master Berichten: 1289 | Geplaatst: 31 Mei 2006, 23:27   |
I think its for detecting if the disk is present. There are probably other ways of doing it. Maybe this is why the ide detection fails on some real systems?
|
|
manuel msx guru Berichten: 3277 | Geplaatst: 31 Mei 2006, 23:32   |
That's what we are thinking. Older IDE devices may not implement it, so there it can fail. Especially because it's optional.
|
|
mth msx freak Berichten: 189 | Geplaatst: 01 Juni 2006, 00:03   |
dvik: Thanks for telling us that command was the problem. I fixed it in openMSX CVS now. Since the command was easy enough to implement, I did that instead of ignoring the command.
Prodatron: The READ NATIVE MAX ADDRESS command is an optional command, part of the Host Protected Area feature set. It may not be supported on all HDs. If you want to get the maximum sector number, I think it's safer to read words 60 and 61 of the identify block.
By the way, SymbOS is really cool!
|
|
Prodatron msx master Berichten: 1088 | Geplaatst: 01 Juni 2006, 22:55   |
@Manuel/Dvik/Mth: Good, that at least in OpenMSX the problem seems to be solved! The only reason why I am using the #F8 command, is to detect, if the IDE device supports LBA mode or only CHS mode. I was told, that, if the command failes, the device only supports CHS.
Maybe this is wrong?? How else could I detect, if LBA addressing is possible? I removed CHS support in the last version of SymbOS to free some memory for other features. But should I re-integrate it, as there are still devices, which only understand CHS?
During this week I hadn't much time for SymbOS, but I managed to write the first FDC routines. Hope to get them up and running, soon.
|
|
mth msx freak Berichten: 189 | Geplaatst: 01 Juni 2006, 23:16   |
Prodatron: I think that all devices that support command #F8 will also support LBA, but it may not be true the other way around.
You could check word 47 bit 9 of the identify block: this bit is set if LBA is supported.
|
|
Prodatron msx master Berichten: 1088 | Geplaatst: 01 Juni 2006, 23:43   |
Ok, thank you, I will try to change this.
|
|
Prodatron msx master Berichten: 1088 | Geplaatst: 02 Juni 2006, 00:10   |
Seems, that my first FDC routines are working at least in the emulator:

I will test them on my real machine now and need to fix a bug, too. I am not sure, if I can release another preview with working FDC tonight, but tomorrow it should be possible. |
|
dvik msx master Berichten: 1289 | Geplaatst: 02 Juni 2006, 00:20   |
Very cool  I guess this is the Philips Westen Digital FDC, right? Did you also support other WD FDCs? It would be very nice to eventually have support for the TC8566AF FDC used in Panasonic MSX2+ and TR computers.
Maybe its even possible to do some auto detection so that no special configuration is needed? |
|
Prodatron msx master Berichten: 1088 | Geplaatst: 02 Juni 2006, 00:33   |
Yes, it's the first in your list, you sent me  I already checked the document about the Toshiba TC8566AF. It's different to the WD, but I hope it won't be a big problem (the WD is also quite different to the NEC FDC765 used in the Amstrad CPC).
Regarding autodetection: This would be my next question. How is it possible to detect, which FDC is used? Could I try to read some bytes from the disc rom to find out, which FDC is used? |
|
dvik msx master Berichten: 1289 | Geplaatst: 02 Juni 2006, 00:39   |
I wonder if there is any identifier in the disk roms and do all machines with the same FDC use the same disk rom?
Another way could be to try to poke the device and get some known status back. Since the different FDC's are mapped at different addresses, I guess this is a possible way.
|
|
Sonic_aka_T
 msx guru Berichten: 2255 | Geplaatst: 02 Juni 2006, 00:50   |
I guess making a quick checksum of each disk ROM is one way indeed. There aren't that many different disk ROMs around, and it should be fairly easy to match the checksum to the proper FDC driver like that. The only problem would be people who use custom disk ROMs. Another way would be to just poll the driver and see if it indeed returns the expected 'drive ready' or 'disk offline' response. Either would work although the last could cause disk access, which would be less neat. Of course you could combine the two as well: First check the disk ROM for a known checksum, and if that fails try loading each of the drivers to see if one of them reponds as expected.
|
|
spl msx professional Berichten: 712 | Geplaatst: 02 Juni 2006, 02:03   |
Good to see that Floppy Disk routines are working  |
|
Prodatron msx master Berichten: 1088 | Geplaatst: 02 Juni 2006, 02:33   |
@DVik and Sonic_aka_T: Sounds like good solutions!
Does anyone have information about the differences between the WD2793 and the WD1793?
I tried my routines on my real MSX2 VG8235, but now SymbOS only switches off the drive motor and then hangs. Dvik told me, that the port mapping could be different. The FD1793 has the range #7ff8-#7fff, does the FD2793 have another one?
|
|
|
|
|