• Please review our updated Terms and Rules here

Need help to build DOS/32 DOS Extender from sources

Ruud

Veteran Member
Joined
Nov 30, 2009
Messages
856
Location
Heerlen, NL
The source files contain C and H files as well so Watcom is needed as well. The ASM files look to be MASM or TASM style. I think the various directories contain each a tool which needs to be assembled or compiled.

If you only want DOS/32, go to the src\dos32a directory and assemble dos32a.asm. This file includes all other needed ASM files.

I hope this helps a bit.
 

george

Experienced Member
Joined
Apr 1, 2011
Messages
410
Yes, I only need the DOS32A from all the tools there to be built and it has no C at all in it, only asm. C was probably used in other supporting utilities that are of no interest to me to be modified. Before opening this topic I had tried to assemble dos32a.asm with TASM 5 and the result was many errors due to inability to find dependencies (most likely) ;( During my teenage years I used a lot TASM 3.X for my own programs and the BC 3.1 IDE as well. But assembling this dos32a seems to be very difficult to me nowadays.
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,784
Location
Pacific Northwest, USA
The source files contain C and H files as well so Watcom is needed as well. The ASM files look to be MASM or TASM style. I think the various directories contain each a tool which needs to be assembled or compiled.

Definitely not MASM--various pseudo-ops aren't in MASM. They are in TASM, however. Note that you need to use the appropriate "include" files found in the "text" directory.
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,784
Location
Pacific Northwest, USA
They're all the same error. The symbol "EXEC_TYPE" needs to be defined on the TASM command line. Possible values seem to be zero and nonzero. So, add /dEXEC_TYPE=0 to your TASM command line. (cf. Page 11 on the TASM 5.0 manual here )
 

george

Experienced Member
Joined
Apr 1, 2011
Messages
410
That worked, thank you! You are great as usual Chuck(G)! Now the linker complains about definitions from kernel.asm
 
Last edited:

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,784
Location
Pacific Northwest, USA
Easy--note that this is a multi-module executable. So you need to assemble each of the modules dos32a, kernel, loader, loadc, loadpe to .obj files and then, using tlink, link them all together.
 

george

Experienced Member
Joined
Apr 1, 2011
Messages
410
Well, kernel fails to assemble the way dos32a did...
 
Last edited:

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,784
Location
Pacific Northwest, USA
"SELZERO" and "selzero" in this situation are two different symbols. By default, TASM treats uppercase = lowercase; that is, the BASIC way, not the C way. Try adding /ml to the TASM command line to enforce case sensitivity.
 

george

Experienced Member
Joined
Apr 1, 2011
Messages
410
Thanks, that came to my mind too and solved the problem.
 
Last edited:

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,784
Location
Pacific Northwest, USA
Looks like loadpe etc. are included in one of the other modules: a grep on "include" on dos32a.asm yields:

Code:
include TEXT\include.asm
include TEXT\oemtitle.asm
include TEXT\CLIENT\config.asm
include TEXT\CLIENT\strings.asm
include TEXT\CLIENT\misc.asm
include TEXT\CLIENT\debug.asm
include TEXT\CLIENT\int10h.asm
include TEXT\CLIENT\int21h.asm
include TEXT\CLIENT\int33h.asm
include loader.asm
include loadlc.asm
include loadpe.asm
include TEXT\CLIENT\data.asm
include TEXT\testbeta.asm

So those modules (loader, loadc, loadpe) aren't assembled separately. So it's just dos32a.asm and kernel.asm that need to be assembled and linked.
 

george

Experienced Member
Joined
Apr 1, 2011
Messages
410
Thank you Chuck(G)! This worked like a charm! You gave me a perfect and very needed impulse. I am focusing now on my idea(s). Will report back when positive results achieved or if I need further help.
 

BloodyCactus

Experienced Member
Joined
Oct 18, 2015
Messages
246
Location
Lexington VA
tasm /ml /m5 /DEXEC_TYPE=0 dos32a.asm
tasm /ml /m5 /DEXEC_TYPE=0 kernel.asm
tlink /3 dos32a kernel,dos32a.exe

should be no errors, no warnings.
 

BloodyCactus

Experienced Member
Joined
Oct 18, 2015
Messages
246
Location
Lexington VA
I thought he was still having issues. atleast correct build instructions are posted now and nobody else need to try and figure it out.
 
Top