|
From: Luca A. <luc...@em...> - 2003-07-11 08:03:39
|
Hi Paul,
I am a little bit confused by all these messages that I am receiving
from the ml, anyway... ;-)
readdemo uses DOS_*, that in turn use X_callBIOS()... This function
switches back to RM to call the bios functions.
On the other hand, diskdemo uses vm86_callBIOS(), that tries to use the
vm86 mode instead or switching back to RM.
Hence, we can say that there is a problem in the vm86 code...
[...]
> reset finished.
> Drives: 0
It finds 0 drives??? I'd say that we are in big trouble ;-)
> Drive type: 0x32
The drive type is also looking very strange...
> Cylingers: 519
> Sectors: 9
...and this is definitly one of the most funny floppy geometries that
I've ever seen ;-)
I am suspecting that there is some bug in the code that copies back the
return values from the cpu registers... It is working well for me, but
maybe it is just a case ;-)
I'll try to have a better look at vm86_return() in xlib/vm86.c. In the
meanwhile, you can try to enable debugging and to see if the returned
values make any sense...
Also, I am not sure if the bios services are called in the proper way (I
will have to check if the buffers are properly aligned, if all the
registers are filled with the correct values, and so on...).
Finally, can you try to change vm86_callBIOS() with X_callBIOS() in
diskdemo.c, and to see the result? Just to verify that the problem
actually is in vm86_callBIOS().
Thanks,
Luca
--
_____________________________________________________________________________
Copy this in your signature, if you think it is important:
N O W A R ! ! !
--
Email.it, the professional e-mail, gratis per te: http://www.email.it/f
Sponsor:
Con KLM puoi risparmiare fino a 20 Euro sul tuo biglietto aereo prenotando on line per Usa, Europa e il resto del mondo
Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=1259&d=11-7
|