[comp.binaries.ibm.pc.d] EXE2BIN

v067qklp@ubvmsb.cc.buffalo.edu (Danielle T Mazzotta) (11/13/90)

Hi.  I wrote a utility in Shareware First Modula-2 Compiler to capture the 
screen and either dump it to a file or retrieve from the file a saved screen 
and then redraw the screen.  However, I'd like to convert this EXE to a binary 
file which I could keep loaded while in DBASE-III+.

EXE2BIN always seems to return the message "Can't convert file."  Does anyone 
know what EXE2BIN is looking for?

Thanks in advance..
--Danielle

timur@seas.gwu.edu (The Time Traveler) (11/13/90)

In article <45890@eerie.acsu.Buffalo.EDU> v067qklp@ubvmsb.cc.buffalo.edu writes:
>Hi.  I wrote a utility in Shareware First Modula-2 Compiler to capture the 
>screen and either dump it to a file or retrieve from the file a saved screen 
>and then redraw the screen.  However, I'd like to convert this EXE to a binary 
>file which I could keep loaded while in DBASE-III+.
>
>EXE2BIN always seems to return the message "Can't convert file."  Does anyone 
>know what EXE2BIN is looking for?

EXE2BIN can only be used on .EXE files which were meant to be .COM.  
Typically, this only applies to assembly programs which follow strict
memory-model rules (the tiny model).

TT

------------------------------------------------------------ The Time Traveler
Your daddy works in porno
Now that mommy's not around                                 timur@seas.gwu.edu
She used to love her heroin                               HE891C@GWUVM.GWU.EDU
But now she's underground              - Guns N' Roses

roelofs@nas.nasa.gov (Cave Newt) (11/13/90)

In article <45890@eerie.acsu.Buffalo.EDU> v067qklp@ubvmsb.cc.buffalo.edu writes:

>Hi.  I wrote a utility in Shareware First Modula-2 Compiler to capture the 
>screen and either dump it to a file or retrieve from the file a saved screen 
>and then redraw the screen.  However, I'd like to convert this EXE to a binary 
>file which I could keep loaded while in DBASE-III+.
>
>EXE2BIN always seems to return the message "Can't convert file."  Does anyone 
>know what EXE2BIN is looking for?

EXE2BIN wants an executable which lives entirely within a single segment.
Compilers, in general, don't produce such executables--aside from assemblers,
the only compilers (that I know of) which do are Microsoft's and Borland's
C compilers, and only in the "tiny" model.

As for the rest, it sounds as though you're trying to create a memory-
resident program which accesses the disk.  This is, as they say, highly
non-trivial, and it will almost certainly result in the destruction of
the data on your disk, unless you know EXACTLY what you're doing.  Has to
do with non-reentrancy of DOS and similar uglinesses.  It *can* be done,
of course--screen-capturing TSRs exist--but I've never seen source code
to do so.  Your best bet would be to check Simtel for a couple of PC 
Magazine utilities called XDIR and SNIPPER (both assembly language)--I
think the latter was posted here about a year ago, but I could be mistaken.
Neither does precisely what you want, but they both fool with the disk
while another application is active, which should give you some idea of
what you're getting into.

SNIPPER is in pd1:[msdos.screen]snippr22.zip; XDIR is in pd2:[msdos2.pcmag]
vol6n07.arc.

With regard to doing this in Modula-2...heh heh heh.

Greg

sonny@charybdis.harris-atd.com (Bob Davis) (11/13/90)

In article <45890@eerie.acsu.Buffalo.EDU> v067qklp@ubvmsb.cc.buffalo.edu writes:
>Hi.  I wrote a utility in Shareware First Modula-2 Compiler to capture the 
>screen and either dump it to a file or retrieve from the file a saved screen 
>and then redraw the screen.  However, I'd like to convert this EXE to a binary 
>file which I could keep loaded while in DBASE-III+.
>
>EXE2BIN always seems to return the message "Can't convert file."  Does anyone 
>know what EXE2BIN is looking for?
>
	One cannot convert an arbitrary .EXE file to a .COM file. A .EXE
file which is convertible to .COM by EXE2BIN will have been compiled with
a common code and data segment and no stack segment. Further, such a
 .EXE file is not even executable WITHOUT conversion to .COM by EXE2BIN.
	You evidently have a bonafide executable .EXE file -- one that
CANNOT be converted.

	YOU CAN'T CONVERT AN ARBITRARY .EXE FILE TO A .COM FILE.

	Best,
______________________________________________________________________________
Bob Davis, UofALA'66   \\ INTERNET : sonny@trantor.harris-atd.com  |  _   _  |
Harris Corporation, ESS \\    UUCP : ...!uunet!x102a!trantor!sonny |_| |_| | |
Advanced Technology Dept.\\ AETHER : K4VNO          |==============|_/\/\/\|_|
PO Box 37, MS 3A/1912     \\ VOICE : (407) 727-5886 | I SPEAK ONLY | |_| |_| |
Melbourne, FL 32902        \\  FAX : (407) 729-2537 | FOR MYSELF.  |_________|

wfp5p@euclid.acc.Virginia.EDU (William F. Pemberton) (11/13/90)

In article <4855@trantor.harris-atd.com> sonny@trantor.harris-atd.com (Bob Davis) writes:
>In article <45890@eerie.acsu.Buffalo.EDU> v067qklp@ubvmsb.cc.buffalo.edu writes:
>>Hi.  I wrote a utility in Shareware First Modula-2 Compiler to capture the 
>>screen and either dump it to a file or retrieve from the file a saved screen 
>>and then redraw the screen.  However, I'd like to convert this EXE to a binary 
>>file which I could keep loaded while in DBASE-III+.
>>
>>EXE2BIN always seems to return the message "Can't convert file."  Does anyone 
>>know what EXE2BIN is looking for?
>>
>	One cannot convert an arbitrary .EXE file to a .COM file. A .EXE
>file which is convertible to .COM by EXE2BIN will have been compiled with
>a common code and data segment and no stack segment. Further, such a
> .EXE file is not even executable WITHOUT conversion to .COM by EXE2BIN.

Close to correct, but not quite.  An .EXE that could be converted to .COM
does not HAVE to be converted to run, it will run just fine.  Such an .EXE
is any program written with Turbo's (or MS) tiny memory model.  No 
conversion to .COM is required!!!!

+-----------------------------------------------------------------------------+
| Bill Pemberton         |    flash@virginia.edu  -OR- wfp5p@virginia.edu     |
| University of Virginia |                                                    |
| (804) 971-1894         |     "Itch me, but please don't scratch me."        |
+-----------------------------------------------------------------------------+

sonny@charybdis.harris-atd.com (Bob Davis) (11/14/90)

In article <1990Nov13.152028.26874@murdoch.acc.Virginia.EDU> wfp5p@euclid.acc.Virginia.EDU (William F. Pemberton) writes:
>In article <4855@trantor.harris-atd.com> sonny@trantor.harris-atd.com (Bob Davis) writes:
	[DELETIONS]
>>	One cannot convert an arbitrary .EXE file to a .COM file. A .EXE
>>file which is convertible to .COM by EXE2BIN will have been compiled with
>>a common code and data segment and no stack segment. Further, such a
>> .EXE file is not even executable WITHOUT conversion to .COM by EXE2BIN.
>
>Close to correct, but not quite.  An .EXE that could be converted to .COM
>does not HAVE to be converted to run, it will run just fine.  Such an .EXE
>is any program written with Turbo's (or MS) tiny memory model.  No 
>conversion to .COM is required!!!!
>
	Certainly, I hang my machine when I try to run the .EXE file
	that results from assembling and linking an assembly language
	program destined to be a .COM program (Single segment, no stack
	segment). I have to perform the EXE2BIN before I obtain a functional 
	command.

	Any further discussion on this should be moved to 
	comp.os.msdos.programmer.

Peace,
______________________________________________________________________________
Bob Davis, UofALA'66   \\ INTERNET : sonny@trantor.harris-atd.com  |  _   _  |
Harris Corporation, ESS \\    UUCP : ...!uunet!x102a!trantor!sonny |_| |_| | |
Advanced Technology Dept.\\ AETHER : K4VNO          |==============|_/\/\/\|_|
PO Box 37, MS 3A/1912     \\ VOICE : (407) 727-5886 | I SPEAK ONLY | |_| |_| |
Melbourne, FL 32902        \\  FAX : (407) 729-2537 | FOR MYSELF.  |_________|

del@fnx.UUCP (Dag Erik Lindberg) (11/15/90)

In article <1990Nov13.092030.10586@nas.nasa.gov> roelofs@nas.nasa.gov (Cave Newt) writes:
>
>EXE2BIN wants an executable which lives entirely within a single segment.
>Compilers, in general, don't produce such executables--aside from assemblers,
>the only compilers (that I know of) which do are Microsoft's and Borland's
>C compilers, and only in the "tiny" model.
>
Zortech C also can produce this "tiny" model.


-- 
del AKA Erik Lindberg                             uunet!pilchuck!fnx!del
                          Who is John Galt?

del@fnx.UUCP (Dag Erik Lindberg) (11/15/90)

In article <4855@trantor.harris-atd.com> sonny@trantor.harris-atd.com (Bob Davis) writes:
>a common code and data segment and no stack segment. Further, such a
> .EXE file is not even executable WITHOUT conversion to .COM by EXE2BIN.

This is not correct.  You must be doing something wrong in generating
your EXE's such that they cannot run without being converted to COM files.
Here is a simple EXE that will run by itself, or can be converted to a
COM file and then run.  Of course, this is not limited to *simple* EXE's,
during debug I have run EXE's almost as large as 64k that could also be
converted to COM files.

begin 664 hello.exe
M35I$  D    "  ( __\          0  '                           
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                        ZP&0^KAZ#04/ +D$ -/HC,D#P8[8C 9: 2:+
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
M&LTABU8RN08 M$[-(7(,BU8<BT8:@\0L'UW#HUX!&\"9Z_*+W(M? K@ 1,TA
M]7,?BL*8BL3#B]RX $.+5P+-(7(-]D<$ G2.T.ESBK@% .N"58GE5E>+=@2+
M1 8E)@"#^ )U.(-\! !U!H-\# !T+(L\BT0$*_AT%O]T#%=0_W0(Z/'^@\0(
M.\=T!(!,!B"+1 J)1 *+1 2)!.L%QT0"  #V1 8@= 6X___K C' 7UY=PP!5
MB^R+3@KC%597C-B.7@2+=@:.P(M^"/.DCMA?7EW#58OLBTX*XP]65XY&!(M^
M!HMV"/.D7UY=PU6+[(M>!+1(S2%S!:-> 3/ 7<-5B^S_=@3HY/^+Y0O ="Q7
MB]B.P(M.!.,?@>'_#W4#N0 0*4X$T>'1X='A,_^+Q_.KC, % !#KVE^+PUW#
M58OLCD8$M$G-(7,#HUX!&\!=PU6+[,1>!+1*S2%S Z-> 8O#7<-5B^Q65QZ.
M1@2.7@:+7@B+R^,G@>'_#W4#N0 0*]G1X='AT>$S_S/V\Z6,P 4 $([ C-@%
M !".V.O5'U]>7<-5B^R[__^T2,TA<@V.P+1)S2$>![O__^L*/0@ = 6C7@$S
MVXO#,]*Y! #1X-'2XOI=PP        !%4E)/4CH@3E5,3"!P;VEN=&5R %IO
M<G1E8V@@0R R+C P(&QI8G)A<GDL($-O<'ER:6=H=" H0RD@,3DX."PQ.3@Y
M(%,L('=R:71T96X@8GD@5V%L=&5R($)R:6=H=   8                   
M                                                            
M                        #0I3=&%C:R!/=F5R9FQO=PT*) T*3F]T(&5N
M;W5G:"!M96UO<GD-"B0-"D)A9"!S=&%C:R!S:7IE('!A<F%M971E<@T*) T*
M1$]3(#$N>'@@;F]T('-U<'!O<G1E9 T*) T*36%X(&]F(#,R(&%R9W,@86QL
M;W=E9 T*) T*3E5,3"!F=6YC=&EO;B!P;VEN=&5R#0HD         $AE;&QO
M(%=O<FQD+@H                          " ! ' !  !P 0T*2&5A<"!I
M<R!C;W)R=7!T960-"B0        ! 0   0            (! 0 !        
M    !@$"  $           "  0,  0            (!!  !            
M                                                            
M                                                            
M                                                            
M                                                            
8                                
 
end
-- 
del AKA Erik Lindberg                             uunet!pilchuck!fnx!del
                          Who is John Galt?