Blutpatch für Leute mit viel Geduld und Langeweile

Dieser Patch war eine recht aufwendige Angelegenheit. Hofft aber nicht, daß jeder
Programmierer die selbe Art von Assembler Code benutzt, um irgendwas einzufärben.


"Tomb Raider 3 V1.0 DEUTSCH SLES01683"
Rotes Blut
$30031D74 0020
$30031D84 0020
$30031D8C 0098
$30031FC4 0020
$30031FD4 0020
$30031FDC 0088
Ne ganze Menge Blut
$00031ED4 0000
$00031EEC 0000


Zuerst braucht man einen Gesundheitspatch, damit ausgiebig bluten kann.
Dann latschte ich in die Stacheln im Level 1 und machte einen UNGLEICH Suche mit dem XLINK Trainer -
als ich Blut sah und als ich es nicht sah - bis 1 Wert übrigblieb: $800a3044
Diesen Wert habe ich im XLINK Breakpointeditor eingetragen und dann den PC (Programcounter)
notiert; bei WRITE=$80031e88 und READ=$8002eb44.

Mit diesen Adressen startet man nun im XLINK-Disassembler und scrollt durch den Maschinencode.
Nun machte ich eine Weile das Spielchen - NOP setzen, Playstation stürzt ab, Playstation wird neu gebootet,
anderen NOP setzen... - und beobachtete, ob irgendwas passiert.
Dabei kam z.B. "Ne ganze Menge Blut" raus. Beachte, daß ich für den NOP den Xploder Doubleword Code gewählt habe.
So spart 3 Bytes im Xploder ROM ;-)

Irgendwann kam ich zu einer Laden/Speichern Kombination und "hatte es im Urin", daß diese Stelle richtig sein muß.
So sieht die Routine mit N64PSX disassembliert aus:

00031d74: addiu $v0,$zero,0x00e0 ; grün (Kämpfen)
00031d78: sb $v0,0x0026($s1)
00031d7c: addiu $v0,$zero,0x0070 ; blau (Kämpfen)
00031d80: sb $v0,0x0024($s1)
...
00031d8c: addiu $v0,$zero,0x0060 ; rot (Kämpfen)
00031d90: sb $zero,0x0025($s1)
...
00031fc4: addiu $v0,$zero,0x00e0 ; grün (sterbender Gegner)
00031fc8: sb $v0,0x0026($s1)
00031fcc: addiu $v0,$zero,0x0070 ; blau (sterbender Gegner)
00031fd0: sb $v0,0x0024($s1)
...
00031fdc: addiu $v0,$zero,0x0060
00031fe0: sb $zero,0x0025($s1) ; rot (sterbender Gegner)

Hier noch der Patch für die andere Version:
"Tomb Raider 3 V1.1 DEUTSCH SLES01683"
Rotes Blut
$30031FE4 0020
$30031FEC 0020
$30031FFC 0098
$30032234 0020
$3003223C 0020
$3003224C 0088

Jetzt gibt es nur noch eines in diesem Tutorial:
Die Patches von Arthur und Spiele, die es noch vor sich haben...

Dieses FAQ wurde geschrieben von Nachbrenner