English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 15 August 2020, 11:20   #1
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
Compatibility between different generations of Amiga/PC

In the Tiny Bobble thread (http://eab.abime.net/showthread.php?t=103546), I spotted an interesting comment I felt deserved an answer. However, it would also be very off-topic so I decided to make a new thread about this particular topic as I've seen it pop up from time to time.

---
Quote:
Originally Posted by Minuous View Post
Apart from that there is no reason why a program can't run on whatever CPU etc. Eg. IBM programs are not likely to fail because someone used a 486 instead of a 386.
It is true that 386 to 486 won't normally cause outright failure, but it very often caused unintended behaviour or side effecrs, such as programs running way too fast or input not working any more. I've even seen some software develop graphical glitches. Which is very similar to what we see happening here.

But I think that 386 to 486 is not really a good comparison here. Most of the Amiga games released today are aimed at an A500 with a 68000 and compatibility issues tend to occur on systems with 68040's or 68060's. This is akin to running 8088/XT software on a 486 or Pentium.

I've tried that back in the day and the idea that old PC software will not generally cause compatibility issues on newer PC's (as long as you keep running DOS) is just wrong. Many of these programs won't even start and those that do are often plagued with compatibility issues such as being far too fast, not having graphics work, not being able to load or save data, crashing after a while, etc, etc, etc. And all this is assuming you actually have a reasonably similar setup. If you start introducing different graphics or sound cards into the mix, the compatibility issues on DOS PC's ramped up enormously. Often, programs would just refuse to load unless you had the right kind of graphics or sound card installed. Some programs went so far to only run on a very specific subset of cards (install a different VGA card and your program refuses to even start).

Many of these programs made no reference to such things on the box, simply listing a memory and CPU type requirement (often including a type of graphics card as well).

Things did get a bit better from the 386 onwards, but even then there were masses of programs (especially games) that absolutely required certain specific hardware to be present (i.e. one of ten supported graphics cards and no other) for them to work correctly. Around that time we also started seeing the rise of "compatibility software", that downgraded your PC in an attempt to get software to run. There were graphics card emulators, slowdown software, software that patched executables to try and remove/alter troublesome code, etc.

This is very similar to how it works on the Amiga, software is aimed at a specific configuration and then "best effort" is done to keep it compatible. This doesn't always work and certainly not when you introduce emulators and their many options to change baseline behaviour, but overall the results are quite reasonable considering how small the teams involved in coding are these days. In almost all cases it's possible to work around any remaining compatibility issues by doing the exact same kind of things the 386+ owners did back in the day when they needed old software to run.

In short: compatibility between different hardware generations, despite repeated claims to the contrary by companies and individuals alike, is actually a very tricky subject. One that even multi-billion-dollar companies haven't quite solved.
roondar is offline  
Old 15 August 2020, 11:56   #2
Aladin
Registered User
 
Join Date: Nov 2016
Location: France
Posts: 466
Even for a game written in 2020 to be compatible 8086 would still have problems on an 80486?
Aladin is offline  
Old 15 August 2020, 14:22   #3
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
Quote:
Originally Posted by Aladin View Post
Even for a game written in 2020 to be compatible 8086 would still have problems on an 80486?
It's quite possible that this will cause problems even today, yes. And even if you do manage to get it to run on a 486, there's no guarantee at all it will work on all 486 PC's.

Or, as was the case in the example Minous used, an emulator set to perform as well as possible at a known cost of losing compatibility.
roondar is offline  
Old 15 August 2020, 15:31   #4
dreadnought
Registered User
 
Join Date: Dec 2019
Location: Ur, Atlantis
Posts: 458
@roondar: can you give examples of software which wouldn't work on, say, P3 with a very common setup (~Soundblaster/ATI) + slowdown software?
dreadnought is offline  
Old 15 August 2020, 15:44   #5
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
Quote:
Originally Posted by dreadnought View Post
@roondar: can you give examples of software which wouldn't work on, say, P3 with a very common setup (~Soundblaster/ATI) + slowdown software?
I don't have literal examples on hand (they do exist, but it's been a long time since I tried that kind of stuff), but it's still very easy to point to categories that will fail:
  • Software that assumes things about the (type of) graphics card without checking will fail (had that happen myself, but it's too long ago now to point out which games failed)
  • Software that assumes DMA works like it does on XT's rather than the way it works on 486+ machines can fail (though it can also still work)
  • Software that uses old style timing interrupts can and will fail even when slowed down because the interrupts give the wrong results
  • Software that assumes memory setups to be a specific way can fail, even with the compatibility features Intel offers
  • Software that is designed for (old) versions of DOS will very often fail on the versions of OS's used on P3's
  • Software that used the few undocumented 8088/8086 instructions will fail on later processors
  • Software that used self modifying code existed and will fail on any x86 processor that has a cache
  • Software that requires too much conventional memory for later versions of DOS (I had that happen)
Note that many of these things can indeed be fixed and/or prevented somehow, but just like on the Amiga they require workarounds. After all, using slow down software is essentially an admission of incompatibility. If that is ok, surely running a degrader on the Amiga is also OK

Last edited by roondar; 15 August 2020 at 15:50.
roondar is offline  
Old 15 August 2020, 16:08   #6
dreadnought
Registered User
 
Join Date: Dec 2019
Location: Ur, Atlantis
Posts: 458
I'm interested in concrete examples because my experience has been different. You said it's "generally" wrong, but I found it to be generally ok. My first PC was P60, then a Celeron 333 and I do not recall having problems with "masses" of software, despite catching up and playing heaps of DOS games. I'm sure there are some which would flatly refuse to work no matter what, but perhaps not on the scale your post suggest.

Of course, you had to tweak some settings now and then. Use Slomo or dual boot some older system. If this is really incompatibility, I guess it's more of a philosophical question, but I'm not so much concerned with the Amiga context this thread was spun from, but the PC side of things.
dreadnought is offline  
Old 15 August 2020, 16:46   #7
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
Quote:
Originally Posted by dreadnought View Post
I'm interested in concrete examples because my experience has been different. You said it's "generally" wrong, but I found it to be generally ok. My first PC was P60, then a Celeron 333 and I do not recall having problems with "masses" of software, despite catching up and playing heaps of DOS games. I'm sure there are some which would flatly refuse to work no matter what, but perhaps not on the scale your post suggest.
Well, I had plenty of stuff not work on my P166-MMX. Especially really old stuff hated that machine. Like I said, it's too long ago now for me to start naming games with certainty, but I distinctly remember being frustrated with the low compatibility rate I got.

Anyway, I'll agree that me calling it "masses" is perhaps a bit strong. For instance, I'm fairly certain more old stuff will fail, and less newer stuff will fail. I'm just trying to point out that the idea that PC's are compatible out of the box without extra effort is not what I've found to really be true. My point was about software aiming to running at very low specs often having problems on higher spec machines, regardless of whether that software is run on the Amiga or PC. That is what I've observed on DOS/Windows machines and you seem to acknowledge that this happened at least some times for you.
Quote:
Of course, you had to tweak some settings now and then. Use Slomo or dual boot some older system. If this is really incompatibility, I guess it's more of a philosophical question, but I'm not so much concerned with the Amiga context this thread was spun from, but the PC side of things.
I'm all for using stuff to make your system more compatible, but my thread is a reply to a post that pointed out that apart from different versions of an OS, different CPU's should not matter for running code. And they really actually do. Which you've actually seem to agree with by pointing to Slomo
roondar is offline  
Old 15 August 2020, 19:56   #8
dreadnought
Registered User
 
Join Date: Dec 2019
Location: Ur, Atlantis
Posts: 458
LIke I said, I'm only interested in that one particular PC-compatibility angle...a simple man...don't want to wade into that larger context

It can be that back in the day I was interested mostly in BBB-AAA games, not some obscure stuff, and these generally worked fine (which includes slomo and memory things, because this was/is a given). I'm nearly finished putting together my P3-based DOS PC and this time will do my play-every-single game thing on it, starting at the beginning. Might revisit this thread in the future, once I get more data from this exercise.
dreadnought is offline  
Old 16 August 2020, 11:41   #9
gimbal
cheeky scoundrel

gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 39
Posts: 3,800
"There were graphics card emulators, slowdown software, software that patched executables to try and remove/alter troublesome code, etc."

Don't forget the classic turbo button The biggest lie of them all, since it was designed to slow down the CPU rather than speed it up.
gimbal is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga Floppy Compatibility FAQ Computolio Amiga scene 13 24 May 2015 14:31
Amiga game compatibility and WHDLoad AndersHP project.WHDLoad 8 10 September 2010 00:04
DosFellow compatibility list and compatibility of specific games ruffian support.WinFellow 8 24 May 2010 19:23
Amiga CD / CD32 compatibility Another World New to Emulation or Amiga scene 4 20 September 2008 16:18
Amiga CD-RW Speed Compatibility CU_AMiGA support.Hardware 22 16 February 2007 10:02

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.10348 seconds with 15 queries