Develop 16-bit programs an operating systems

Discussion of beta and abandonware topics not fit for the other forums goes here.
Post Reply
arielu
Posts: 10
Joined: Tue Nov 19, 2019 7:07 pm

Develop 16-bit programs an operating systems

Post by arielu »

I have seen it:
https://www.betaarchive.com/forum/viewt ... 59&t=36849

Is VMWare and VirtualBox can be good for develop 16-bit program from scratch or they have problem in run x86-16 include own code?

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: Develop 16-bit programs an operating systems

Post by yourepicfailure »

They can run 16-bit operating systems, so they can logically run 16-bit programs.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

zde
Posts: 36
Joined: Wed Nov 13, 2019 7:31 pm

Re: Develop 16-bit programs an operating systems

Post by zde »

VMWare and VirtualBox can run 16-bit code just fine - but that does not mean you could run existing program easily. That's not VMWare and VirtualBox fault. Confused yet? You should be. I'll explain.

Remember the infamous Turbo button? Probably not. But even so: it was special button on old "fast" (ha, fast... 16MHz... 33Mhz) computers which allowed then to work in "slow", "compatible" mode: 4.77Mhz (to emulate IBM PC) or maybe 6/8MHz (to emulate IBM PC AT).

Without such slowdown programs would crash. Because they try to count number of operations they could do in 1 second with fingers and "run out of fingers", basically. Note: that happened with normal, perfectly real, hardware, not emulators!

Certain programs may become confused if they see too much memory - with "too much" maybe as low as "more than 8MoB" for OS/2 1.0.

And last but not least, drivers: VMWare and VirtualBox only support emulation of "modern" hardware (with "modern" here == 10 years or so old devices). Even if such devices are supported very well by modern Windows NT-based OSes (even Windows XP is usually well-supported) old, DOS-based Windows often lack the required drivers.

But these are all problem with running existing, old, 16-bit programs. If you want to write a new one, then you, of course, could make sure that it has enough fingers to count number of operations in one second on 5GHz CPU, it wouldn't choke if it would see gigabytes of RAM and so on.

That's why trying to use VMWare and VirtualBox to run old games wouldn't be good idea (you could try to find and fix all therse pesky bugs in such games... but what would be the point? you could run them much easier with emulators which emulate some "small" PC) - but using them to write new code is actually very good idea: this way people who like to use old, text-based Lotus 1-2-3 on VMWare (do such people exist?) would be able to use your program, too.

Oh, and compilers and other tools work blazingly fast under VMWare and VirtualBox - which doesn't hurt, either.

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: Develop 16-bit programs an operating systems

Post by yourepicfailure »

OP just wants to develop and toy with 16-bit programs.

I highly doubt he/she is going to write that elaborate of a program that would rely on those timings. Even then, OP would be consider that as developing the program.

But if you do care for those timings as you write code, go for more accurate emulator like Pcem.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

pittical
Posts: 102
Joined: Fri Nov 01, 2013 7:51 pm

Re: Develop 16-bit programs an operating systems

Post by pittical »

zde wrote:Because they try to count number of operations they could do in 1 second with fingers and "run out of fingers", basically. Note: that happened with normal, perfectly real, hardware, not emulators!
Wasn't that the issue with Pascal programs and their famous "error 200", around the time when clock speeds finally reached triple digits? Most programs I disengaged the turbo for, I did so not because of crashed but because they simply ran ridiculously fast, iirc.

Post Reply