Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
awik

01.02.2024, 13:39
 

Borland 32RTM.EXE (Miscellaneous)

Hi all,

I'm having problems running Borland DOS 32-bit extended programs under plain DOS on a Win98 VMware virtual machine.

I think the error is with the 32RTM.EXE program.

The errors are as follows.

First, I get this:
32loader error: 'C:\BC5\BIN\BCC32.EXE'
Invalid import references:
- module 'KERNEL32.dll' entrypoint 'IsDBCSLeadByteEx'
Do you want to attempt running this program (Y/N)?

If I answer "N", I get:
(Load error 84)
ERROR: The program can not be loaded

If I answer 'Y', the program runs, but crashes before it has the chance to terminate normally. I get this:
Fatal: Internal compiler error

and then the following (hand-copied manually, except for the hex register dump):
32loader runtime error: Unhandled exception
Exception 0E at 0197:00007880 error code 00000007
The invalid instruction was executed at 00007880
The instruction referenced illegal address 00028086

The program(s) runs fine in a Win98 DOS box. It also runs fine under plain DOS with the help of Japhet's HX DOS extender. I guess the reason for this is that the Borland programs are in PE format, and both Win98 and HX bypass the 32RTM.EXE DOS extender and load the the program in the same way as any other PE executable.

Is there a patch for these problems? I was unable to find one.

Cheers,
Albert Wik.

Ringding

01.02.2024, 18:47

@ awik
 

Borland 32RTM.EXE

> Hi all,
>
> I'm having problems running Borland DOS 32-bit extended programs under
> plain DOS on a Win98 VMware virtual machine.
>
> I think the error is with the 32RTM.EXE program.
>
> The errors are as follows.
>
> First, I get this:
> 32loader error: 'C:\BC5\BIN\BCC32.EXE'
> Invalid import references:
> - module 'KERNEL32.dll' entrypoint 'IsDBCSLeadByteEx'
> Do you want to attempt running this program (Y/N)?

I tried it on my qemu DOS installation, and it is at least able to show the command line help.

Did Borland ever claim that it can run under plain DOS?

awik

02.02.2024, 11:08

@ Ringding
 

Borland 32RTM.EXE

> > Hi all,
> >
> > I'm having problems running Borland DOS 32-bit extended programs under
> > plain DOS on a Win98 VMware virtual machine.
> >
> > I think the error is with the 32RTM.EXE program.
> >
...
>
> I tried it on my qemu DOS installation, and it is at least able to show the
> command line help.

Yes, it does for me too, but then it crashes with "Internal error".

>
> Did Borland ever claim that it can run under plain DOS?

I can't cite any particular claim on Borland's part, but it is pretty obvious that they intended it. Otherwise, they wouldn't be adding a DOS loader stub to their EXE-files.

Ringding

02.02.2024, 16:35

@ awik
 

Borland 32RTM.EXE

> > Did Borland ever claim that it can run under plain DOS?
>
> I can't cite any particular claim on Borland's part, but it is pretty
> obvious that they intended it. Otherwise, they wouldn't be adding a DOS
> loader stub to their EXE-files.

Not necessarily. Version 4.5 was intended to work like this (from DOS), and they may not have cleaned out enough of their build infrastructure for version 5, which is how the loader stub might accidentally have been left in there, but never used, because the product was supposed to be operated from 32-bit Windows.

awik

03.02.2024, 12:22

@ Ringding
 

Borland 32RTM.EXE

> > > Did Borland ever claim that it can run under plain DOS?
> >
> > I can't cite any particular claim on Borland's part, but it is pretty
> > obvious that they intended it. Otherwise, they wouldn't be adding a DOS
> > loader stub to their EXE-files.
>
> Not necessarily. Version 4.5 was intended to work like this (from DOS), and
> they may not have cleaned out enough of their build infrastructure for
> version 5, which is how the loader stub might accidentally have been left
> in there, but never used, because the product was supposed to be operated
> from 32-bit Windows.

Hypothetically, that is possible. However, I think the INSTALL.TXT file would mention an inability to run under DOS, especially considering that it mentions the ability to *create* DOS programs.

Moreover, with a little help, the BC++ 5.x compiler can create 32-bit DOS executables just fine:

C:\tmp>bcc32 -WX -Lc:\bc45\lib tmp.c
Borland C++ 5.2 for Win32 Copyright (c) 1993, 1997 Borland International
tmp.c:
Warning tmp.c 4: Call to function 'printf' with no prototype in function main
Turbo Link Version 2.0.68.0 Copyright (c) 1993,1997 Borland International

C:\tmp>tmp.exe
Hello World!

For 32-bit DOS, an add-on called "PowerPack for DOS" is required for BC++ 4.x. It includes DPMI32.LIB and a batch of other files. This add-on is not fully compatible with BC++ version 5.x, but if you link with the version 4 libraries, and after copying copying 32STUB.EXE to the BIN directory, it works fine. If you link with the version 5.x libraries, you get unresolved externals upon linking.

Anyway, whether or not Borland intended BC++ 5.x to run under DOS, the same problem occurs with version 4.x.

-Albert.

Ringding

03.02.2024, 14:40

@ awik
 

Borland 32RTM.EXE

> Anyway, whether or not Borland intended BC++ 5.x to run under DOS, the same
> problem occurs with version 4.x.

Not for me

awik

03.02.2024, 15:00

@ Ringding
 

Borland 32RTM.EXE

> > Anyway, whether or not Borland intended BC++ 5.x to run under DOS, the
> same
> > problem occurs with version 4.x.
>
> Not for me

Do you have the same version?

C:\bc45\BIN>md5sum bcc32.exe 32rtm.exe
b3d8583c5aabb288e45485fb1ff54580 *bcc32.exe
ee90c3b6230fe1b4c4bda498979dcbd2 *32rtm.exe

-Albert

Ringding

03.02.2024, 18:01

@ awik
 

Borland 32RTM.EXE

> > > Anyway, whether or not Borland intended BC++ 5.x to run under DOS, the
> > same
> > > problem occurs with version 4.x.
> >
> > Not for me
>
> Do you have the same version?

Apparently not. I downloaded the 4.5 CD version from winworld. 4.52 would not install for some reason (installer crashes), but I can still run bcc32 from the CD. This seems to be the version you have (the bcc32.exe md5 hash matches what is on the CD). But 32rtm.exe is different.

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 137 users online (2 registered, 135 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum