I received a bug report about SHSUFDRV not working in FreeDOS, but
it worked fine in MS-DOS; RDRV also worked fine.  After failing to
replicate the problem with the versions of FreeDOS I had, I finally
got the latest boot CDs (beta9-sr2 & 1.0-testing).  These did indeed
fail, so I was able to offer that user a fixed FDRV.

The problem itself is due to the SDA.  It seems sometime between 2035a
and 2036 the (temporary) DTA has moved into the SDA.  This means that
when FDRV reads a sector and then restores the swap data, the sector it
just read gets overwritten with whatever was in the swap.  The fix
simply made the SDA size a fixed 0x7c0 bytes, thus preventing the
overwrite.  To provide a more desirable solution, what should I do?

1) The SDA is unlikely to change, just leave it fixed at 0x7c0.
2) Buffer a single sector, write it back after the swap.
3) Provide a better size to the SDA function (215D06).
4) Move the DTA back out of the SDA.
5) Make use of the internal seek/read calls (2F1227/8).

Of course, I would prefer 3 or 4, since that involves no effort
on my part. :)  1 requires separate code for other DOSes (or I could
just make it a fixed 0x7da, that MS-DOS 7.10 returns).  2 requires an
extra 512 bytes for the buffer.  5 would probably be best (no swap
required at all), but unfortunately ROMDOS does not support them, nor
is there a write function (hence using the SDA in the first place).

Jason.

PS: I am still not subscribed, please CC me.
PPS: I probably won't be back online until next week.

-- 



                
____________________________________________________ 
On Yahoo!7 
360°: Your own space to share what you want with who you want! 
http://www.yahoo7.com.au/360

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freedos-kernel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to