SFenton said:
I've edited this... It will have to do until Rawk3 comes and the ability to use Riivolution without continuous IOS patching.
How to modify Rock Band games to allow one kind of PlayStation controller to work with all Wii controllers.
- Extract the main.dol Disassemble it.
- Find 0x1BAD, look below it for where there are lots of "li %r3, x" (x: 4/3/2/1/0), find the one where x=0 and note the file offset.
- Open the dol in a hex editor, go to the offset (which looks something like 38 60 00 00) and change the last value to 03 (for RB1 drums). Save it. Used Multi cIOS installer to place hybrid 37/28 at IOS slot 248, and compiled Neogamma to use IOS 248. Place the alt-dol on a USB drive (required for SD access to work for RB2/TBRB). Put the game disc in the Wii's drive. Run Neogamma, change the settings to use alt-dol and USB for storage, and then play from DVD.
- Or create a WIP or Riivolution patch which is much smaller and easier to modify.
------------
Notes for the
PAL versions:
RB1: 01=guitar, 02=drums.
RB2 and after: 01=RB1 guitar, 02=RB2 guitar, 03=RB1 drums, and 04=RB2 drums.
RB3: 05=Mustang Pro Guitar, 06=Fender Squire Pro Guitar, 07=keyboard, 09=keyboard (MIDI pro?).
You can navigate the menu with a regular RB controller for these.
Tested with a RB1 PS drum controller.
--------
Using Riivolution and some XML files, you won't need to install any extra IOS.
Hopefully you can work out how to turn these into proper XML files:
RB1 - RKXP -
RB2 - SZAP -
TBRB - R9JP -
LRB - R6LP -
GDRB - R36P -
RB3 - SZBP -
So these make a bit more sense I've shortened them:
RB1 - RKXP -
RB2 - SZAP -
TBRB - R9JP -
LRB - R6LP -
GDRB - R36P -
RB3 - SZBP -
To get the offset using Dolphin's debugger mode (dolphin.exe -d) when you have the DOL/WIP offset:
Load the game, open the Memory sidebar and dump the RAM.
Open both the Dolphin/User/Dump/Ram.raw and the game's DOL in a hex editor.
In the DOL: Jump to the offset address of the 'fail' slot we modify (see WIP area below), block copy a bunch of hex after the offset that is sure to be unique.
In the RAM: Search for the hex you just copied. Backtrack a little until you find 38600000, note down the address and change it so it starts with 80.
If you go back to Dolphin and enter this new address into the Memory panel, it should place you at a 38600000 again.
--------
WIP file alternative:
For use with RawkSD2 + Disc + modified Neogamma, or a USB loader if you're worried about your disc drive and you own a legit copy.
Create the specified file where your loader will find it and inside that copy and modify the text: [Offset] [Original] [Changed]
You can use this information to hex edit a DOL, but I don't recommend it because of potential SD clashes.
RB1 - RKXP.wip - 0025AF2F 00 03
RB2 - SZAP.wip - 004A2EFF 00 03
TBRB - R9JP.wip - 005C7A1B 00 03
LRB - R6LP.wip - 004372BF 00 03
GDRB - R36P.wip - 004BB7A3 00 03
RB3 - SZBP.wip - 006B69E3 00 03
--------
Lame Mega Resource Area (broken)
Hopefully I can add the VID and PID sections as well for late instructions on alternative sets of controllers (e.g. PS Guitar, PS Drums, Wii Guitar).
First append the controller code offset you want to replace to the Offset Start, and if you're using Riivolution then add it with a hex calculator. In this location, you can then specify the new controller code you want.
So if you're want to change the 'fail' controller for LEGO Rock Band to Wii/PS RB1 generation drums using Riivolution, you'd do this : 004372BF + 80004060 = 8043B31F which you would then set to 03. The same for a WIP patch would just be "004372BF 00 03"
If you're poking memory with Gecko dotNET, you can use the Riivolution addresses.
RB3 / SZBP:
- Riivolution Addition: 8000B140 | Offset Start: 006B69
- 04 Drums: A3 | 03 Drums: AB
- 02 Guitar: B3 | 01 Guitar: BB
- 05 Mustang: D3 | 06 Squire: DB
- 09 MIDI Pro Keyboard: C3 | 07 Keyboard: CB
- 00 Fail: E3
RB2 / SZAP:
- Riivolution Addition: 80009CA0 | Offset Start: 004A2E
- 04 Drums: B7 | 03 Drums: BF
- 02 Guitar: EF | 01 Guitar: F7
- 00 Fail: FF
LRB / R6LP:
- Riivolution Addition: 80004060 | Offset Start: 004372
- 04 Drums: 9F | 03 Drums: A7
- 02 Guitar: AF | 01 Guitar: B7
- 00 Fail: BF
TBRB / R9JP:
- Riivolution Addition: 8000AC40 | Offset Start: 005C7
- 04 Drums: 9FB | 03 Drums: A03
- 02 Guitar: A0B | 01 Guitar: A13
- 00 Fail: A1B
GDRB / R36P:
- Riivolution Addition: 8000AB00 | Offset Start: 004BB7
- 04 Drums: 83 | 03 Drums: 8B
- 02 Guitar: 93 | 01 Guitar: 9B
- 00 Fail: A3
RB1 / RKXP:
- Riivolution Addition: 800044C0 | Offset Start: 0025AF
- 02 Drums: 03 | 01 Guitar: 27
- 00 Fail: 2F
------------
Misc Patches for RB3:
Skip the Harmonix and Backbone splash videos (replace with short green screen, use at own risk):
0088AB70 73706C61 61616161
8088EA70 for Riivolution