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 |