Mail Archives: djgpp/2012/05/18/18:30:10

X-Authentication-Warning: mail set sender to djgpp-bounces using -f
From: Rugxulo <rugxulo AT gmail DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: incompatible
Date: Fri, 18 May 2012 15:16:35 -0700 (PDT)
Lines: 84
Message-ID: <>
References: <6cad5 DOT 26b1dbd8 DOT 3ce73ad6 AT aol DOT com>
Mime-Version: 1.0
X-Trace: 1337379492 23813 (18 May 2012 22:18:12 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Fri, 18 May 2012 22:18:12 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info:; posting-host=; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16
(KHTML, like Gecko) Chrome/10.0.630.0 Safari/534.16,gzip(gfe)
Bytes: 4151
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
X-MIME-Autoconverted: from quoted-printable to 8bit by id q4IMU2Fs032764
Reply-To: djgpp AT delorie DOT com


On May 18, 12:40am, Ster DOT  DOT  DOT  AT aol DOT com wrote:
> i've been told that my old programs (GCC 3.2,DJGPP) no longer
> run on modern computers.

GCC 3.2 is from August 2002. DJGPP 2.04 beta libc, as delivered on the
Zip Picker, circa November 2003. A lot of (boring) stuff has happened
in the intervening years.

> Is there a tool to convert them ?

No, though I wish there was. It uses stable and well-documented APIs,
though, so it's not like it's impossible.

You can't easily convert them because they use 16-bit DOS and BIOS
calls as well as 32-bit DPMI.

> Or do they have to be recompiled ?

Yes, you will need to recompile them if you can't run them natively or
via emulation.

> What compiler is compatible ?

Depends on your sources. If it's pure ANSI C, any ANSI C compiler can
rebuild them. Similarly for C99, C++98, or whatever. However, if you
use VESA graphics or direct hardware access or DOS or BIOS calls, that
will all have to be rewritten or replaced.

> How much time is needed to download it, read the conditions/licence,install
> it
> and get familiar with it ?

DJGPP uses GCC, so your obvious choices are MinGW, Cygwin, Linux, etc.
I would (almost) suggest OpenWatcom as a better alternative, but it
really doesn't matter, it only matters what you want to do and how you
want to do it.

It's complicated, esp. since both hardware and software have changed a
lot over the years, been deprecated and replaced, upgraded, etc.

SB or GUS audio? Modern cards use AC97 or HDA. So either adapt (BS/
PETERS fork of) Judas Player or Allegro or switch to PC speaker (eh??
heheh) or do without.

VESA? Barely worked on XP, none at all on Vista or 7 (unless using
older driver which disabled Aero). Adapt to Allegro for Win/Lin or SDL
or do without.

DPMI? This isn't going to be natively supported in Linux or Win64, so
you'll have to change this manually.

Direct hardware access? Dunno, most protected OSes frown upon userland
stuff accessing ports, BIOS, etc. You could probably still call vm86()
or whatever in rare cases, but other stuff should be avoided or done
the "proper" (??) way, whatever they allow, that is.

Look, it seems "fairly" obvious that you're talking about Windows. You
expect it to still work like XP used to. Sad to say that's not true
anymore. There are a lot of ways to run DJGPP stuff, but some are
better than others.

native FreeDOS
Win64 + VirtualBox + FreeDOS + VT-X
Linux + DOSEMU
Win7 with XP Mode with VT-X
VirtualBox or QEMU + FreeDOS without VT-X
Windows or Linux or *BSD + DOSBox (but "only for games")
Linux + WINE
Linux64 + DOSEMU x64 (slow 16-bit but DJGPP is fast)
Vista or 7 + NTVDM + registry DPMI fix (no gfx)
Win2k3 (no DPMI fix available)
Joris' Retro

I dunno, it's complicated, but surely there is "something" that can at
least halfway do what you want (without recompiling, which presumably
isn't 100% possible anyways).

- Raw text -

  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019