16 bit C compiler for Win16 / DOS / OS/2 subsystems

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

mjs
Posts: 47
Joined: Sat Feb 19, 2005 9:03 pm

16 bit C compiler for Win16 / DOS / OS/2 subsystems

Post by mjs »

Hi,

what is the C compiler of choice for development of Win16 / DOS / OS/2 subsystems?

Regards,
Mark
frik85
Developer
Posts: 829
Joined: Fri Nov 26, 2004 7:48 pm
Location: Austria, Europe
Contact:

Re: 16 bit C compiler for Win16 / DOS / OS/2 subsystems

Post by frik85 »

mjs wrote:Hi,

what is the C compiler of choice for development of Win16 / DOS / OS/2 subsystems?

Regards,
Mark
WinNT and ReactOS Subsystems are Win32 apps (kernel mode)!
You can use MinGW (GNU C compiler) or MS VC++.
mjs
Posts: 47
Joined: Sat Feb 19, 2005 9:03 pm

Post by mjs »

Yes, I know this and I successfully compiled a live cd but I'm also interested in 16 bit subsystem development. For this task, MinGW is simply useless.

My question is: What is the C compiler of your choice to develop the 16 bit subsystems? MinGW is for 32 bit development only.

Regards,
Mark
DOSProfi
Posts: 14
Joined: Tue Dec 07, 2004 7:54 pm
Contact:

Post by DOSProfi »

I think the best way for compile 16 Bit Application is using the Watcom Compiler

http://www.openwatcom.org
Radiomaan
Posts: 3
Joined: Fri Feb 18, 2005 9:00 am

Post by Radiomaan »

mjs wrote:Yes, I know this and I successfully compiled a live cd but I'm also interested in 16 bit subsystem development. For this task, MinGW is simply useless.

My question is: What is the C compiler of your choice to develop the 16 bit subsystems? MinGW is for 32 bit development only.

Regards,
Mark
I would take a look at http://www.freedos.org. They have a list of distribution software that includes compilers and a good collection of links to development tools. They also have a forum-like faq system that will get any 16-bit questions answered fast.

To openwatcom, I'd add that Borland Turbo C++ 1.0 has been made available as a free download although it isn't open source.
w3seek
Developer
Posts: 144
Joined: Tue Nov 23, 2004 12:12 am

Post by w3seek »

even a 16bit subsystem has to be written with a 32 bit compiler... remember, ROS is a 32bit OS
mjs
Posts: 47
Joined: Sat Feb 19, 2005 9:03 pm

Post by mjs »

w3seek wrote:even a 16bit subsystem has to be written with a 32 bit compiler... remember, ROS is a 32bit OS
You're right - for the kernel. But this doesn't apply to all the 16 bit DLLs which are also part of the 16 bit subsystem - and maybe the translation of system calls from the 16 bit to 32 bit side.

My question was: Has anyone already chosen a usable 16 bit C compiler for development of the 16 bit subsystems.

This does also include the 16 bit DLLs. I'm unsure if you can use the MinGW compiler to implement the interface from the 16 bit side to the 32 bit kernel but I don't believe it.

EDIT: When no 16 bit compiler was chosen, I'd vote for Watcom C++.

Regards,
Mark
LOst
Posts: 27
Joined: Sat Feb 12, 2005 9:33 pm

Post by LOst »

mjs, compiling 16 bit programs you need Visual C++ 4.0 from Microsoft. That was the last compiler to do NE executables I guess.
w3seek
Developer
Posts: 144
Joined: Tue Nov 23, 2004 12:12 am

Post by w3seek »

There has nothing been chosen becase none of us devs currently is interested in creating a dos subsystem...
I'm not sure but isn't there a 16bit gcc?
DOSProfi
Posts: 14
Joined: Tue Dec 07, 2004 7:54 pm
Contact:

Post by DOSProfi »

There is a 16-Bit GCC at http://www.delorie.com/djgpp/16bit/, but it is only for 16 Bit DOS.
MadRat
Posts: 243
Joined: Fri Feb 04, 2005 8:29 am
Contact:

Post by MadRat »

If they are moving to 64-bit support then it would seem it makes 16-bit support unnecessary. Don't EMT64/AMD64 setups discard 16-bit support in order to bring the 64-bit support?

*** EDIT:

If people really want built in 16-bit support then perhaps they should set themselves up a Win 3.11 machine and throw Calmira II 3.3 on it. Its a freeware Win95, Win2k, or WinXP skin over 3.11 that functions alot like the latter forms of Windows. That way you get full 16-bit support thats fast, looks like Windows, and allows one to actually dump back to a true DOS. URL = http://www.calmira.de/downloads/

Its written in Delphi 1.0
Last edited by MadRat on Fri Feb 25, 2005 7:31 am, edited 1 time in total.
*************************************
Go Huskers!
mjs
Posts: 47
Joined: Sat Feb 19, 2005 9:03 pm

Post by mjs »

I don't know if 16 bit support will be discarded in a 64 bit system. Someone might want to test this with the free beta version of 64bit Win 2K3 ...

BTW: When developing a 64bit Windows clone, you cannot use GCC because 64 bit PEs aren't supported (yet).

The 16 bit GCC is not usable for 16 bit PM (286 PM). Maybe the best solution to develop 16 bit apps would be to use OpenWatcom C++ (or maybe Digital Mars C++ ?).

Regards,
Mark
Pentiumforever
Posts: 198
Joined: Sun Jan 16, 2005 5:47 pm
Location: Duesseldorf, Germany
Contact:

Post by Pentiumforever »

Windows 64 don't include any 16bit suppor (but for the old Microsoft 16bit installer exist a replacement build in in windows)

I think this is a point that this projekt can make better than microsoft - support very old things!
LOst
Posts: 27
Joined: Sat Feb 12, 2005 9:33 pm

Post by LOst »

pentiumforever wrote:Windows 64 don't include any 16bit suppor (but for the old Microsoft 16bit installer exist a replacement build in in windows)

I think this is a point that this projekt can make better than microsoft - support very old things!
I see it like this. Support is not going to rock unless you build the Operating System to be as fast as it was when the thing you try to support was made.

I hate people that say: Well just run the game in Virtual PC or VMware. Sure the emulator supports it, but compared to the real deal on the real hardware, it won't stand a chance.
oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

The compiler of choice would be mingw32.

Post by oiaohm »

Please note Wine runs Win16 runtime build on 32 bit linuxs by using a 32 bit complier.

Ie the emulated libs would be calling fake internals writen in 32 bit.

Basicly look at how dosemu does things and Wine. Note dosemu runs a real dos inside a control system. So any complier you can get you hand on to build the real dos but you still require 32 bit interface sections.
Post Reply

Who is online

Users browsing this forum: No registered users and 45 guests