Hi all,

 

DP is a 16-Bit real mode x86 mode program, meaning it can run on computer
with an 8086 processor. This was what characterised a major difference of
MS-DOS and later operating systems. DOS in real mode could only access 1Mb
of memory giving rise to the 640K limit of RAM. Under 32 bit Windows, DOS
programs only run in the NTVDM (NT Virtual DOS machine) which emulates the
real 8086 and protected mode 80286 processors. So DP only runs in 32-bit
Windows, by virtue of Microsoft provided emulator.

 

In Win x64, Microsoft has dropped the 16 bit emulation. There is no reason
why a 16-bit emulator would not work under a 64-bit operating system, just a
choice by Microsoft, and also vendors of other 32-bit operating system
because it is not as simple as before, and quite frankly there is not a huge
demand. One of the reasons for this is that unlike 32-bit processors where
the processor can directly manage the 32-bit memory space and most also
supported real mode 16-bit modes. 64-bit represents a fundamental change in
the processor's architecture, they can run in 32-bit mode, but in the native
64-bit mode they specifically need the Operating System to manage various
aspects of memory. This means that any emulator for 16-bit would have to do
far more work than say the NTVDM in the 32-bit world, so they cannot be
simply ported from the 32-bit world to the 64-bit one.  Also on a side
point, a serious bug was only recently found on the 32-bit mode when using
the 16-bit submode, which could allow a hacker to exploit the machine
through BIOS calls at the 16-bit NTVDM level, the problem has existed right
from the start, so for Microsoft the simpler solution is to drop the NTVDM.

 

All DOS programs were  essentially 16-bit programs, with some able to
indirectly address memory above the 16th bit, but breaking it up into two
16bit chunks. Generally it not a matter of just recompiling in a 32 or 64
bit compiler, the fundamental understanding of the computer has changed. DOS
applications use the services provided by the MS-DOS operating system, when
there services are no longer there, or not access in anything like the same
manner it's a rewrite. You might be lucky to be able to reuse some code and
logic ideas. But on that point I believe DP was written  in Forth, and Forth
is humorously described as a "write only" language, its almost impossible
for anyone later to read it and make any sense of it. 

 

Regards

Brian

 

  _____  

From: [email protected]
[mailto:[email protected]] On Behalf Of Patrick Riley
Sent: Thursday, 17 November 2011 12:54 PM
To: [email protected]
Subject: Re: [Dataperf] DP and Windows 7 64-bit

 

I think (but am not sure) that DataPerfect is a 32-bit app that utilizes 
some 16-bit internal logic or registers (note how the output counter 
resets at 65,535). 

Pat Riley
505-750-4728



At 04:29 PM 11/16/2011, you wrote:



Is DP a 16-bit or a 32-bit app?

_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf

_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf

Reply via email to