Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
danielnice(R)

24.01.2017, 16:51
 

EDR-DOS "patch" tool (Developers)

I have downloaded all of the sources and patches from EDR-DOS and successfully built it to match the existing binaries:
https://web.archive.org/web/20151223075815/http://www.drdosprojects.de/index.cgi/download.htm

I am trying to fix a problem with EDR-DOS and SHARE which may be related to "FAT+" where a file can exceed 2gb.

Since none of my applications need "record locking", I am ok with using SHARE only to enforce whether or not a file can be opened. Therefore, for testing, I just commented out the call to SHARE during file read/write.

I would like to make this into a "patch" file same as Udo did, but I do not fully understand the format of these patch files. There is no documentation for that PATCH program, nor is there any command-line help.

Two questions:
(1) Does anyone know more about the PATCH program or have documentation?
(2) Does anyone have source code for DR-DOS SHARE?

Laaca(R)

Homepage

Czech republic,
24.01.2017, 21:14

@ danielnice
 

EDR-DOS "patch" tool

I am sorry I can't help you but I am glad that somebody didn't forgot about EDR-DOS and even tries to improve it somehow.
So, I have never been a user of this system but I give my thumbs up.

---
DOS-u-akbar!

rr(R)

Homepage E-mail

Berlin, Germany,
24.01.2017, 21:40

@ danielnice
 

EDR-DOS "patch" tool

> Two questions:
> (1) Does anyone know more about the PATCH program or have documentation?

Patch is vanilla DJGPP patch.

$ PATCH.EXE -v
patch 2.5.3
Copyright 1984-1988 Larry Wall
Copyright 1989-1998 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall with lots o' patches by Paul Eggert


Patch is used for applying patches only.
To create patches you need its companion Diff. Try something like:
diff -aprNU5 origfolder myfolder > my.diff.

IIRC, you can use KDiff3 or WinMerge for that task too, if you're working on Windows.

danielnice(R)

24.01.2017, 22:13

@ rr
 

EDR-DOS "patch" tool

> Patch is vanilla DJGPP patch.
>

Thanks for the info on PATCH.

My next problem is that I can't find where DR-DOS calls SHARE.
I found where is says it is calling it, but removing this did not prevent SHARE from being called during read/write.

Oddly enough, DR-DOS seems to enter SHARE at the same point no matter which DOS function is being called (Open, Close, Read).

I wrote a test where I fill SHARE's memory with Int 03h (debug breakpoint) instructions. Then I call DOS to open a file and see where I end up.

I want to make it NOT call SHARE during read/write but to still call it for Open, Close. This way, file locking still is enforced, but record locking is not.

If anyone is familiar with the DR-DOS source code and has some ideas, that would be much appreciated.

Torsten(R)

23.04.2017, 22:41

@ danielnice
 

EDR-DOS "patch" tool

Hi Daniel

On Tue, 24 Jan 2017 16:51, danielnice wrote:
>I have downloaded all of the sources and patches from EDR-DOS and
>successfully built it to match the existing binaries: (URL)

Compliments! Which assembler version (executable's dates?) and which
compiler did you use? Do your binaries match Udo Kuhnt's ones *exactly*?

I have played quite long with the sources and tried dozens of assembler /
compiler combinations, but none of my builds exactly matched the originals
(except DRBIO.SYS which is created by the included RASM86.EXE only).

BTW, a snapshot of Udo Kuhnt's drdosprojects.de site (as of 18/08/2013) is
available at [http://mirrors.pdp-11.ru/www.drdosprojects.de.tar.gz] (10 MB).

The sources are somewhat unhandy, as all patches have to be applied
subsequently. I have created a new build tree with patches up to
7.01.08 WIP (21.7.2011) applied, with source file time stamps set to
the latest respectively applied patch (a minor own path is included as
well). If you wish, I can make this 752 KB archive available somewhere.

I am less enthousiastic about EDR-DOS than before, however. It's FAT32
support seems incomplete: FAT32-aware tools won't work properly, SCANDISK
reports errors on definitely intact partitions and would damage FAT32
structures if permitted to "fix" such presumed errors under EDR-DOS.
Andrew Schulman's tool FILES.EXE (searches the system file table and
shows the program segment prefix of the first respective programs)
reports "size based on _osmajor looks wrong" and finds an orphaned
(second!) NUL device handle.

Finally, due to compatibility issues, DR-DOS' / EDR-DOS' main feature,
it's Task Manager is of little use. Udo's patches to TASKMGR.EXE binaries
fix EDR-DOS' "dumb console problem" up to 7.01.08 WIP (6.12.2005) only.
Though it may start in MultiTasker mode, TASKMGR works very unstable with
EDR-DOS 7.01.08 WIP (21.7.2011). In Task Manager mode, applications may
be started "blindly" (i.e. without console control), but DPMI apps are
prone to crash the system. - While EDR-DOS optimizes HMA usage and gains
about 7 KB of DOS memory compared to FreeDOS build 2042, it sacrifices
compatibility and stability.

Regards, Torsten

danielnice(R)

24.04.2017, 19:34

@ Torsten
 

EDR-DOS "patch" tool

Torsen,

I used the MAKE.BAT file included with the original Caldera kit.
It invokes the rasm86 assembler which is also included.

I make a batch file which applies all the patches from Udo in sequence if you want it...

However, I found that my issue with SHARE required SHARE itself to be patched. In this case, I simply found the record locking calls and replaced them with "RETF" instructions in SHARE.EXE without having source code.

I agree that there are issues with FAT32 in DR-DOS, but FreeDOS caused a lot of problems last time I tried to use it as well.

-Daniel Nice

> Hi Daniel
>
> On Tue, 24 Jan 2017 16:51, danielnice wrote:
> >I have downloaded all of the sources and patches from EDR-DOS and
> >successfully built it to match the existing binaries: (URL)
>
> Compliments! Which assembler version (executable's dates?) and which
> compiler did you use? Do your binaries match Udo Kuhnt's ones *exactly*?
>
> I have played quite long with the sources and tried dozens of assembler /
> compiler combinations, but none of my builds exactly matched the originals
> (except DRBIO.SYS which is created by the included RASM86.EXE only).
>
> BTW, a snapshot of Udo Kuhnt's drdosprojects.de site (as of 18/08/2013) is
> available at [http://mirrors.pdp-11.ru/www.drdosprojects.de.tar.gz] (10
> MB).
>
> The sources are somewhat unhandy, as all patches have to be applied
> subsequently. I have created a new build tree with patches up to
> 7.01.08 WIP (21.7.2011) applied, with source file time stamps set to
> the latest respectively applied patch (a minor own path is included as
> well). If you wish, I can make this 752 KB archive available somewhere.
>
> I am less enthousiastic about EDR-DOS than before, however. It's FAT32
> support seems incomplete: FAT32-aware tools won't work properly, SCANDISK
> reports errors on definitely intact partitions and would damage FAT32
> structures if permitted to "fix" such presumed errors under EDR-DOS.
> Andrew Schulman's tool FILES.EXE (searches the system file table and
> shows the program segment prefix of the first respective programs)
> reports "size based on _osmajor looks wrong" and finds an orphaned
> (second!) NUL device handle.
>
> Finally, due to compatibility issues, DR-DOS' / EDR-DOS' main feature,
> it's Task Manager is of little use. Udo's patches to TASKMGR.EXE binaries
> fix EDR-DOS' "dumb console problem" up to 7.01.08 WIP (6.12.2005) only.
> Though it may start in MultiTasker mode, TASKMGR works very unstable with
> EDR-DOS 7.01.08 WIP (21.7.2011). In Task Manager mode, applications may
> be started "blindly" (i.e. without console control), but DPMI apps are
> prone to crash the system. - While EDR-DOS optimizes HMA usage and gains
> about 7 KB of DOS memory compared to FreeDOS build 2042, it sacrifices
> compatibility and stability.
>
> Regards, Torsten

Torsten(R)

26.04.2017, 20:44

@ danielnice
 

EDR-DOS "patch" tool

Thank you for your reply, Daniel!

I'm not clear about SHARE's record locking issue you mention. Does it
occur with DR-DOS 8.1's SHARE.EXE R2.06 as well? This one works with
EDR-DOS 7.01.08, just as SHARE R2.02 from Udo's site. I prefer R2.06.

As to EDR-DOS' DRBIO.SYS, DRDOS.SYS and COMMAND.COM:
please, indicate the exact sizes of the binaries you created.
Which versions of the Library Manager (LIB.EXE), the Executable Linker
(LINK.EXE) and Macro Assembler did you use? Which Watcom C release, 7.0,
10.0, 10.0a (as used by Udo), 11.0c, or perhaps Open Watcom? Which one?

Solely DRDOS.SYS builds with the Digital Research RASM-86 Assembler v1.4a
provided in Calderas package alone (36597 bytes). DRBIO.SYS and COMMAND.COM
require the indicated MS and, in case of the latter, Watcom tools.
What are the sizes of your DRBIO.SYS and COMMAND.COM? Do they differ from the
7.01.08 WIP (21.7.2011) originals, or does COMP report their identicalness?

On Sun, 24 Jan 2017 19:34, danielnice wrote:
>I used the MAKE.BAT file [...] it invokes the rasm86 assembler [...]
Yes, obviously. And many more tools as well ... (see above).

Regards, Torsten (pas confondre)

danielnice(R)

09.05.2017, 17:07

@ Torsten
 

EDR-DOS "patch" tool

Torsen,

It has been a little while since I looked at this stuff but apparently I only rebuilt DRDOS.SYS because that was the only references I found to SHARE.

So I have no tried to rebuild COMMAND.COM which is more complicated since it involves non-provided tools.

I do not have a copy of SHARE R2.06 -- Where can I get it?

-Daniel Nice

> Thank you for your reply, Daniel!
>
> I'm not clear about SHARE's record locking issue you mention. Does it
> occur with DR-DOS 8.1's SHARE.EXE R2.06 as well? This one works with
> EDR-DOS 7.01.08, just as SHARE R2.02 from Udo's site. I prefer R2.06.
>
> As to EDR-DOS' DRBIO.SYS, DRDOS.SYS and COMMAND.COM:
> please, indicate the exact sizes of the binaries you created.
> Which versions of the Library Manager (LIB.EXE), the Executable Linker
> (LINK.EXE) and Macro Assembler did you use? Which Watcom C release, 7.0,
> 10.0, 10.0a (as used by Udo), 11.0c, or perhaps Open Watcom? Which one?
>
> Solely DRDOS.SYS builds with the Digital Research RASM-86 Assembler v1.4a
> provided in Calderas package alone (36597 bytes). DRBIO.SYS and
> COMMAND.COM
> require the indicated MS and, in case of the latter, Watcom tools.
> What are the sizes of your DRBIO.SYS and COMMAND.COM? Do they differ from
> the
> 7.01.08 WIP (21.7.2011) originals, or does COMP report their
> identicalness?
>
> On Sun, 24 Jan 2017 19:34, danielnice wrote:
> >I used the MAKE.BAT file [...] it invokes the rasm86 assembler [...]
> Yes, obviously. And many more tools as well ... (see above).
>
> Regards, Torsten (pas confondre)

Torsten(R)

21.05.2017, 23:54

@ danielnice
 

EDR-DOS "patch" tool

Hi Daniel

On Tue, 9 May 2017 17:07, danielnice wrote:
>apparently I only rebuilt DRDOS.SYS [...]
I see. This is in fact the very only code of EDR-DOS which
generates a binary identical to Udo's one.
Your original statement (as of Jan 24, 2017 16:51)
>and successfully built it to match the existing _binaries_
(in plural) was thus somewhat euphemistic ...

>a copy of SHARE R2.06 -- Where can I get it?
It is part of the DR-DOS 8.1 distribution, which had been
withdrawn. I avoid posting obscure URLs here. Just a hint: do a
Mamont FTP search for "DDRL702", the name of the DR-DOS 7.02 Lite
package (i.e. www.mmnt.ru/int/get?st=DDRL702). On one of the
indicated sites, you'll find virtually any DR-DOS version which
had been released (several redundant copies on this site, be
aware). Good luck!

Once again: do *not* mix up my name, please ...
Bye, Torsten

Back to index page
Thread view  Board view
15192 Postings in 1365 Threads, 250 registered users, 13 users online (1 registered, 12 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum