🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.os.msdos.4dos
5 messages
5 total messages Started by Jan-Pieter Cornet Sat, 08 Aug 1992 18:01
Patches to make BC++ 3.0 generated code 4DOS-aware
#2
Author: Jan-Pieter Cornet
Date: Sat, 08 Aug 1992 18:01
37 lines
2304 bytes
I've patched the setargv.asm that comes with BC++ 3.0 to be "4DOS-aware".
What it effectively means is that the extended (256 char) command line
length of 4DOS is recognised by the program. This adds about 100 bytes
to your program, and of course leaves it 100% "non-4DOS" compatible...
 
What it doesn't (yet) do, is supply 4DOS-like wildcards expanded on the
command line. I reckon that because of the TAB/F8/F9/F10 functions in
4DOS there is no big need for this. (Oh, BTW, 4DOS-people, there wouldn't
happen to be some undocumented 4DOS replacement for DOS's find-first,
find-next directory browsing calls?? That'd really help, I guess.)

OK, now comes the tough part ;)... I've studied Borland's license agreement
on the source code, and I think that it means that:
 - the modified setargv.asm file is still (C)opyright Borland, Inc., and I
   cannot distribute it as source.
 - I still can do whatever I want with my own code, so I will be able to
   distribute this thing as a patchfile to be applied to your own copy
   of setargv.asm
 - Distributing compiled binaries isn't forbidden, so I guess I can also
   send people the various .OBJ files for different memory models to
   include in their libs.

Was I correct on this? I sure hope so... (Sidney? Still out there? ;)

If you are interested in this, I can send you this, in either or both of
the following ways:
 - a "diff -c" file that can be applied to setargv.asm via "patch"
 - a bundle of .OBJs for various memory models.
 
I doubt whether this is general enough to warrant an upload to the major
ftp sites, but if the interest is big enough, who knows...

Regards,
-- Jan-Pieter
cornet@duteca.et.tudelft.nl

 
Re: Patches to make BC++ 3.0 generated code 4DOS-aware
#3
Author: Tony Porczyk
Date: Sat, 08 Aug 1992 22:37
13 lines
1034 bytes
cornet@zen.et.tudelft.nl (Jan-Pieter Cornet) writes:

>(Oh, BTW, 4DOS-people, there wouldn't happen to be some undocumented
>4DOS replacement for DOS's find-first, find-next directory browsing
>calls?? That'd really help, I guess.)

findfirst() and findnext() have nothing to do with the shell.  They
are DOS interrupts (21/4E & 21/4F, respectively).  Unless you are
willing to invoke shell to search for each file, which would be
pathetically slow, there is nothing JP Software can do for you. 
You may use FCBs if you wish, they're faster... not any better though.

t.
Re: Patches to make BC++ 3.0 generated code 4DOS-aware
#4
Author: Nevo Y Hed
Date: Sun, 09 Aug 1992 15:45
20 lines
1454 bytes
>findfirst() and findnext() have nothing to do with the shell.  They
>are DOS interrupts (21/4E & 21/4F, respectively).  Unless you are
>willing to invoke shell to search for each file, which would be
>pathetically slow, there is nothing JP Software can do for you. 
>You may use FCBs if you wish, they're faster... not any better though.

BorlandC  has it's own, non-dos findfirst find-next.  I didn't do any
reading on the difference.

I think the original poster was looking for a OBJ or LIB file that
provides the 4dos wildcard capability [e.g. "*y*.*" is legal while
dos' has only y*.*].


	Nevo

-- 
Nevo Y.	 Hed              nyh@wpi.wpi.edu
++1-508-754-2491          CS student, Worcester Polytechnic Institute.
"I like my cigar too, but I take it out of my mouth from time to time" G.Marx
Re: Patches to make BC++ 3.0 generated code 4DOS-aware
#5
Author: Kenneth Falck
Date: Sun, 09 Aug 1992 15:52
16 lines
1222 bytes
In article <b8zmck_.messina@netcom.com> messina@netcom.com (Tony Porczyk) writes:
>
>findfirst() and findnext() have nothing to do with the shell.  They
>are DOS interrupts (21/4E & 21/4F, respectively).  Unless you are
>willing to invoke shell to search for each file, which would be
>pathetically slow, there is nothing JP Software can do for you. 
>You may use FCBs if you wish, they're faster... not any better though.

Well.. Couldn't the 4DOS shell simply just replace the DOS-0x21 vector
with another one that checks for 0x4E or 0x4F, and redirect the calls
to findfirst/findnext to a 4DOS-routine, and all other calls to the
original DOS-vector?

-- 
kennu@mits.mdata.fi
<here's where the dumb quote is supposed to be>
Re: Patches to make BC++ 3.0 generated code 4DOS-aware
#6
Author: Philip Smolen
Date: Thu, 13 Aug 1992 19:01
25 lines
1760 bytes
In article <Bsq3rs.Dz0@wpi.WPI.EDU> nyh@wpi.WPI.EDU (Nevo Y Hed) writes:
>>findfirst() and findnext() have nothing to do with the shell.  They
>>are DOS interrupts (21/4E & 21/4F, respectively).  Unless you are
>>willing to invoke shell to search for each file, which would be
>>pathetically slow, there is nothing JP Software can do for you. 
>>You may use FCBs if you wish, they're faster... not any better though.
>
>BorlandC  has it's own, non-dos findfirst find-next.  I didn't do any
>reading on the difference.
>

That's not quite correct.  I was just looking at the source
code for firstfirst, findnext, _dos_findfirst, _dos_findnext.
Each one makes calls to the appropriate dos call (21/4e or
21/4f).  The only thing that they do on top of that is set
the DTA, restore the DTA, and translate the error message.
The only difference between the _dos_find's and the find's
is that they call different functions to translate from DOS's
error code to their own return values.

I don't know why they use different structure definitions
for the two types of functions.  They pass each structure
directly to DOS, then directly back to the caller.

					--Phil
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads