»home  »blog  »amiga  »amstrad cpc  »vic-20
...the devil that beelzebub put aside for you  contact & guestbook | home « amiga « patching « why? how?

Why do Amiga games need patching?

Don't games need patches like fish need bicycles? The 30,000 foot view of why it is necessary to patch games to get them to work and some of the methods of doing so.

The Problem

In the early days of the Amiga, games programmers could safely make certain assumptions about the hardware and software configuration of the machines that their games would end up running on in people's homes, thereby making the game program smaller, faster, more impressive or even simply easier to write. The games worked because the assumptions held true for the vast majority of the Amigas out there. However, as timed moved on, new Amiga operating systems and models appeared and expansions such as extra memory, hard drives or faster processors became commonplace, and upgraders found that most of their favourite old games no longer worked on their new systems.
 
The reason for the failures was quite simple: one or more of the assumptions made by the programmer no longer held true on the more advanced software or hardware, and the game program either did not work correctly or just stopped working entirely as a result.

The Solutions

It has to be said that one possible modern-day solution to the incompatibilites is to run the game under an emulator like WinUAE and this approach has both its advantages and its disadvantages. However, this section is about getting games to work correctly on real Amiga hardware so the subject of emulators will not be covered here.
 
Efforts to get old games to work on new hardware have passed through a number of stages to date; the first of these were programs called "degraders", small utilities that reconfigured the machine to more closely match the setup of an older computer that the game would work on. The basic philosophy is that if the game works on machine configuration "A", then if you change your setup to match that of "A" the game should work on your machine also.
 
Degraders did have success in eliminating some simple incompatibilites, but other problems with the games were more fundamental and required that the game program code itself be changed in order for it to work. Changing program code in this way is referred to as "patching" and the program used to do the patching is called a "patch". These patches are a much more powerful solution than the degraders since they actually replace, fix and extend sections of the original code and so can reprogram the game to do anything; when the game is running it is as if the new sections had been present from day one, typed on the original programmers' keyboard!

Binary Bodging

The first patches to emerge were generally written from scratch and highly customised for each individual game, making patch development a slow and painstaking process. They incorporated some of the functionality of the degraders but also applied changes to the game code to fix more serious incompatibilites, fix bugs and add new features such as hard-drive loading, cheats ("trainers"), high score saving, quit options and so on.
 
It was soon noticed that these early patches shared large sections of code, or that each had their own code for doing the same things such as degrading and accessing the hard disk. Logically, this led to the development of "patch systems" like WHDLoad or JST that implemented the common functions once within themselves and allowed patch creators to develop patches as plug-in sections able to access the common code, thereby freeing them from having to re-invent degrading, hard disk loading, keyboard interfacing and so on for each new patch. The creation of these patch systems streamlined the patch development process enormously and caused an explosion in the number of patches available!

State Of The Art

WHDLoad is the dominant Amiga game and demo patch system in use today. Over 2,000 patches exist for it and more are released all the time! That's over 2,000 games and demos that are available to users of expanded Amigas that never were before, and this accounts for a significant fraction of the total Amiga software catalogue. The chances are that, for any given game in your collection, there will be a patch available that will allow it to run on the latest, most advanced Amiga hardware available, usually with additional features not present in the original game. How good is that?

Now you know why old games can fail to work and some solutions to the problem. Browse back to the main patching page to download some game fixes I have created myself, or vist the patching links page to find some other useful and interesting patching related sites.

amiga webring

« prev amiga webring home next »
« prev 5 next 5 »
i'm feeling lucky!

classic games webring

« prev cvgs webring home next »
« prev 5 next 5 »
i'm feeling lucky!

girv's links

Get Dilbert! WHDLoad Patches
AmigaWorld.net - Amiga Community Portal abime.net - amiga addicts sanctuary
This site uses the PNG Image Format Dalek Links
» would you like to add more?
 
Valididate HTML  Validate CSS contact the webmaster | sign the guestbook ©1996-2008 john girvin, all rights reserved