X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo Newsgroups: comp.os.msdos.djgpp Subject: Re: incompatible Date: Fri, 18 May 2012 15:16:35 -0700 (PDT) Organization: http://groups.google.com Lines: 84 Message-ID: <73f5446c-172c-40bd-89e8-e6299bf26ebd@l17g2000vbj.googlegroups.com> References: <6cad5 DOT 26b1dbd8 DOT 3ce73ad6 AT aol DOT com> NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1337379492 23813 127.0.0.1 (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: l17g2000vbj.googlegroups.com; posting-host=65.13.115.246; 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 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id q4IMU2Fs032764 Reply-To: djgpp AT delorie DOT com Hi, On May 18, 12:40 am, 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 WinXP + NTVDM 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) jDOSBox JPC jsDOSBox 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).