Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problem starting BC.Exe in DOS 5.02
#1
We are trying to run certain .exe programs on a IBM 486 running DOS 5.02 to make sure they are backwards compatible. When attempting to compile an QBasic 4.5 program with BC.EXE we get the following error and would like to know how to solve it.: 

Code: (Select All)
runtime error R6002
- floating point not loaded
Note: This is not a Windows error and we have all the necessary drivers loaded.
Reply
#2
Umm...  I believe this is a little outdated for QB64PE.  We're currently Vista up compatible.
Reply
#3
Interesting to see Microsoft still maintaining legacy docs.

https://learn.microsoft.com/en-us/cpp/er...w=msvc-170

But yeah, it seems like the 486 does not have an FPU and needs an FPU emulation library.
Reply
#4
(06-08-2023, 04:55 AM)eoredson Wrote: We are trying to run certain .exe programs on a IBM 486 running DOS 5.02 to make sure they are backwards compatible. When attempting to compile an QBasic 4.5 program with BC.EXE we get the following error and would like to know how to solve it.: 

Code: (Select All)
runtime error R6002
- floating point not loaded
Note: This is not a Windows error and we have all the necessary drivers loaded.

You might have to seek out BASIC PDS v7.1 for this one, since that might offer an emulation of the math coprocessor.

But QB64 was never meant to work for MS-DOS. At one time Galleon and his friends wanted it to work for Windows98 but not any earlier. Only Freebasic could help you but it requires a 32-bit extended memory emulation. For some people with ancient PC's like that it's too much hassle to set things up, because Freebasic cannot create 16-bit executables, cannot even create the "protected mode" executables like PDS could that were preferred by Windows v3 and by OS/2.
Reply
#5
(06-08-2023, 04:55 AM)eoredson Wrote: We are trying to run certain .exe programs on a IBM 486 running DOS 5.02 to make sure they are backwards compatible. When attempting to compile an QBasic 4.5 program with BC.EXE we get the following error and would like to know how to solve it.: 

Code: (Select All)
runtime error R6002
- floating point not loaded
Note: This is not a Windows error and we have all the necessary drivers loaded.
Are you attempting to execute a QB64 program on your 486 or do you have old QuickBasic software you are trying to compile?

If it's QB64 then it's not going to work. QB64 was never meant for DOS.

If it's original QuickBasic (Qbasic) source then the error is associated with the FPU (math co-processor). Do you have a 486SX or 486DX? The 486SX does not have a built in FPU but the 486DX does. Here are some switches for the basic compiler that may help to get rid of the error:

https://jeffpar.github.io/kbarchive/kb/043/Q43090/

There are a few switches that deal with floating point and FPU emulation.

You may also have a corrupt compiler. Here is the download for QuickBasic 4.5:

https://winworldpc.com/product/quickbasic/45

And the Microsoft Basic Compiler:

https://winworldpc.com/product/microsoft...ompiler-60
There are two ways to write error-free programs; only the third one works.
QB64 Tutorial
Reply
#6
(06-08-2023, 04:55 AM)eoredson Wrote: We are trying to run certain .exe programs on a IBM 486 running DOS 5.02 to make sure they are backwards compatible. When attempting to compile an QBasic 4.5 program with BC.EXE we get the following error and would like to know how to solve it.: 

Code: (Select All)
runtime error R6002
- floating point not loaded
Note: This is not a Windows error and we have all the necessary drivers loaded.
QuickBasic 4.5 automatically uses a coprocessor if it is present. Otherwise, QB uses software routines to emulate a coprocessor. One can also force emulation by using SET NO87= or 0.

The error message looks more like the compiler/linker not found. How are the path settings, or are there none at all?
Reply
#7
Ok, thanks.

If it is an error with a missing fpu we are going to scrap it.
Reply
#8
Sounds like floating point emulation was not linked in.

You may need to set a flag during compilation instructing to compiler to use FP emulation.

Or... You may have a missing or corrupted '87 emulator or .LIB file. 

Do you see any errors during compilation & linking?
Reply
#9
(06-08-2023, 10:07 PM)eoredson Wrote: If it is an error with a missing fpu we are going to scrap it.

It's kind of hard without being able to do computations, but it could be kept in situations where "CHAIN" and "COMMON SHARED" could be used, and executable programs are created which require BRUN45.EXE runtime module. Something that people ask from QB64 now and then. It also recalls something else that other people expect from QB64 and other programming systems that recall many decades back: small EXE files which load into memory near-instantaneously. Something else that resembles the situation of the SDL version of QB64: only one runtime module required which is an EXE file, instead of a bunch of 32-bit DLL files.
Reply
#10
Everything needed was in the QB45 folder. If an EXE file was created from the ide, there was no further work or precautions.

When calling from the command line, everything necessary had to be specified. Compiled via the command line, the EXE files were sometimes smaller, which could already play a role at the time.

[Image: QB-45-Ordner-2023-06-09.jpg]

My bat file for compiling from the command line. I can't remember what each command did, but it worked fine.

Code: (Select All)
@echo off
bc %1.bas /ah /o;
rem *** 8. Feb. 1995
rem *** Der Binder der sonst aufgerufen wird, C++ - Version 5.5, zu
rem *** dem der Pfad zeigt, erzeugt eine um ca. 20 KByte grӇere Datei!

d:\qb4\link %1.obj+d:\qb4\noem.obj/NOE /E,, %1list, d:\qb4\bcom41;
rem +d:\qb4\bqlb41+d:\qb4\qb;
Reply




Users browsing this thread: 8 Guest(s)