Re: [Freedos-kernel] SDA and SHSUFDRV

2006-09-05 Thread Jason Hood
--- "Arkady V.Belousov" <[EMAIL PROTECTED]> wrote:

>  Then I completely not understand you. "DTA" is a name for area, which
> used for findfirst/findnext. What _you_ name as "DTA"?

My mistake - I was confusing SHSUCDX (the redirector has what is called
a DTA to point to the read address) and the device driver's Read command
which is called XfrAddr (by SHSURDRV).

So to clarify: the kernel asks the device driver to read a sector.  In
order to perform this, FDRV swaps DOS out to perform the read via DOS,
then swaps DOS back in.  However, sometime after 2035a the buffer for the
sector is itself in the SDA, so the newly read sector is overwritten
when DOS gets swapped back.

Jason.
-- 



 
On Yahoo!7 
Check out the new Great Outdoors site with video highlights and more 
http://au.travel.yahoo.com/great-outdoors/index.html

-
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
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] SDA and SHSUFDRV

2006-08-30 Thread Arkady V.Belousov
Hi!

30-Авг-2006 15:55 [EMAIL PROTECTED] (Jason Hood) wrote to
freedos-kernel@lists.sourceforge.net:

>>  Not sure, if I understand your problem, but what prevents you from
>> setting your own address of DTA (INT 21/1A)?
JH> Perhaps I should have been a bit more clear.  The DTA I was referring
JH> to passes the pointer to the buffer for the read request.  It's not the
JH> DTA as used by the find functions.

 Then I completely not understand you. "DTA" is a name for area, which
used for findfirst/findnext. What _you_ name as "DTA"?

JH> I can't change where the kernel wants its data.

-
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
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] SDA and SHSUFDRV

2006-08-29 Thread Jason Hood
--- "Arkady V.Belousov" <[EMAIL PROTECTED]> wrote:

>  Not sure, if I understand your problem, but what prevents you from
> setting your own address of DTA (INT 21/1A)?

Perhaps I should have been a bit more clear.  The DTA I was referring
to passes the pointer to the buffer for the read request.  It's not the
DTA as used by the find functions.  I can't change where the kernel
wants its data.

Jason.

PS: I finally subscribed.  Don't know for how long, though. :)

-- 



 
On Yahoo!7 
Photos: Unlimited free storage – keep all your photos in one place! 
http://au.photos.yahoo.com 


-
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
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] SDA and SHSUFDRV

2006-08-25 Thread Arkady V.Belousov
Hi!

23-Авг-2006 16:11 [EMAIL PROTECTED] (Jason Hood) wrote to
freedos-kernel@lists.sourceforge.net:

JH> I received a bug report about SHSUFDRV not working in FreeDOS, but
JH> it worked fine in MS-DOS; RDRV also worked fine.  After failing to
JH> replicate the problem with the versions of FreeDOS I had, I finally
JH> got the latest boot CDs (beta9-sr2 & 1.0-testing).  These did indeed
JH> fail, so I was able to offer that user a fixed FDRV.
JH> The problem itself is due to the SDA.  It seems sometime between 2035a
JH> and 2036 the (temporary) DTA has moved into the SDA.  This means that
JH> when FDRV reads a sector and then restores the swap data, the sector it
JH> just read gets overwritten with whatever was in the swap.  The fix
JH> simply made the SDA size a fixed 0x7c0 bytes, thus preventing the
JH> overwrite.  To provide a more desirable solution, what should I do?

 Not sure, if I understand your problem, but what prevents you from
setting your own address of DTA (INT 21/1A)?

JH> 1) The SDA is unlikely to change, just leave it fixed at 0x7c0.
JH> 2) Buffer a single sector, write it back after the swap.
JH> 3) Provide a better size to the SDA function (215D06).
JH> 4) Move the DTA back out of the SDA.
JH> 5) Make use of the internal seek/read calls (2F1227/8).
JH> Of course, I would prefer 3 or 4, since that involves no effort
JH> on my part. :)  1 requires separate code for other DOSes (or I could
JH> just make it a fixed 0x7da, that MS-DOS 7.10 returns).  2 requires an
JH> extra 512 bytes for the buffer.  5 would probably be best (no swap
JH> required at all), but unfortunately ROMDOS does not support them, nor
JH> is there a write function (hence using the SDA in the first place).

-
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
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] SDA and SHSUFDRV

2006-08-25 Thread Jason Hood
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
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel