Menu

home

beginners

download

faq

database

licence

patches

icons

screenshots

games

programmers

multilingual

donate

links

e-mail

Download

On this page you can download the latest patches that are available for Steem. Patches can be used to make programs that almost work on Steem run better, anyone can write one if you can find out how to get round the routine that Steem has troubles with. This page will be updated whenever somebody writes a new patch, check reguarly to see if your favourite game appears.

Click here to download the latest Steem patches (21/10/2004)

Just decompress the file to the directory your patches are stored in (usually it is a folder called "patches" in your Steem directory). Make sure you choose to overwrite files if asked.

Get Involved

If you are a programmer and find a program that doesn't work then why not download Steem's debug build from the programmers page and see if you can find out what is wrong. Unfortunately this is incredibly difficult to do, often the only option is to bypass the routine that is causing all the problems (a lot of the time once the crashing routine is bypassed then a program will run 100% correctly). Once you have found how to bypass the routine then you can write a patch. There are limitations to what a patch can fix, you can't stop at a particular address and then change a register, but you can change memory and specify to the user roughly when they should apply the patch.

How To Write a Patch

A patch file is in standard Windows ini file format with the extension stp, there are only 2 sections Text and Patch. This should be in the Text section (replace everything after the =s with your own text):

[Text]
Description=Program version, TOS version (if required) and instructions.
ApplyWhen=Something noticeable happens.
Version=What Steem version(s) you have tested it on.
PatchAuthor=Your name

The Patch section is the one that does the work, it is basically a list of addresses followed by = followed by some values. You can have hexadecimal byte, word or long (prefix $ or 0x), binary byte word or long (prefix b or %) and decimal byte (no prefix). You can separate values by space(s) to write to consecutive addresses. So here's an example:

[Patch]
208=$0059 $000d

That sets address $208 to $00, $209 to $59, $20a to $00 and $20b to $0d. The most common patches will usually change branches to nops to avoid a routine being run but you could also do things like alter timers by writing to the MFP or change the screen address by writing to the shifter. If you are trying to fix a timing problem you could try changing nops to or.l d0,d0, it is the same length but takes 8 cycles instead of 4. Here are some useful opcodes:

$4e71=nop
$8080=or.l d0,d0
$c1fc $0001=muls #1,d0 (big delay)

When you have finished your patch send it to us at steem@gmx.net and we'll add it to this page.

Updates

21/10/2004

- Rainbow Islands (Automation)


12/9/2003

- Rambo III (Automation)


4/7/2003

- Warzone (D-Bug)
- Super Monaco GP (Superior)


28/7/2002

- Live and Let Die


12/7/2002

- Cuddly Demo - Spreadpoint
- Lin Wu's Challenge
- Obsession (D-Bug)
- Substation
- V8 Music System Demo
- Corporation Megademo


7/2/2002

- Grand Monster Slam
- Nightdawn
- International 3D Tennis
- Psygnosis Games


27/11/2001

- SoWatt Demo


25/10/2001

- Enchanted Land
- The Great Giana Sisters
- Jumping Jackson
- Vodka Demo