Talk:Splatterhouse 3
|
|
Object test patch
The font is loaded at tile number $100 onward. The hex print routine at $dcc.l expects the caller to load D4 with the MSB of the name table word containing the palette and upper tile number, but the object test code doesn't do that.
The approach I (Charles MacDonald) took was:
1. Patch each call to $dcc.l (print hex value) to redirect to empty space at $f0
2. At $f0 have "moveq #$01, d4; jmp $dcc.l" to force the right value in D4 (maybe a different palette choice is needed though)
This change is:
00F0: 7801 4EF9 00 00 0D CC ; patch to jam $01 into D4 and redirect to the original hex print routine
5194: 00F0 ; Fix color for printing all three initial values when the screen loads (this covers the two following $dcc.l calls as they are in order)
53E4: 00F0 ; Fix color for printing hex value for transfer no when value is modified
5450: 00F0 ; Fix color for printing hex value for palette block no when value is modified
54DC: 00F0 ; Fix color for printing hex value for pattern no when value is modified
Some other functions modify and do not save D4 so the modification at 5194 doesn't carry over into the later calls unfortunately.
The $dcc.l function is used in other places so it can't be changed to fix this.
— The preceding unsigned comment was added by Charles MacDonald (talk • contribs)