If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Talk:Splatterhouse 3

From The Cutting Room Floor
Jump to navigation Jump to search
This is the talk page for Splatterhouse 3.
  • Sign and date your posts by typing four tildes (~~~~).
  • Put new text below old text.
  • Indent replies by prefixing with a colon :
  • Add new sections with the 'Add topic' button at the top right.
  • Be polite.
  • Assume good faith.
  • Don't delete discussions.
  • Be familiar with the talk help page.

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)