Re: [Freedos-kernel] SDA and SHSUFDRV
--- "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
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
--- "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
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
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