Rapid Fire; GCN [Vega] GCN controller only. This code will allow you to press a desired button that will make another button be excuted in rapid fire mode. You can also set the rate (speed) of the rapid fire. XXXX = Button to run the Rapid Fire YYYY = Target Button R = Rate of Rapid Fire. Lower = Faster. Cannot be lower than 2. NTSC-U Rev1 C2010D04 00000006 708CXXXX 41820024 3D808000 896C0CE0 396B0001 280B000R 41A0000C 6084YYYY 39600000 996C0CE0 B0870948 00000000 Code creator: Vega #Address #NTSC-U = 80010D04 #Important NOTE, for whatever reason if you remove the 'andi.' and 'beq-' to always have the RF on, it doesn't work. This is why if you look at the source for Auto Proceed Code, you will see its a bit more complex. No idea how this source works in the game (without the specific timer delays I had to use in the Auto Proceed Screens Code). Oh well. #Check if RF button has been at least pressed andi. r12, r4, 0x0800 #Y button used for compilation, adjust this accordingly beq- default_instruction #Hook address always goes thru a 2 iteration loop so this is needed #RF button pressed. Set EVA Upper, load RF Counter. Increment it. lis r12, 0x8000 lbz r11, 0x0CE0 (r12) addi r11, r11, 1 cmplwi r11, 2 #Rate of Rapid Fire, lower = faster, cannot be lower than 2 blt+ update_counter #Take branch to leave Target Button bit low #Cooldown period has ended; Flip on the Target Button bit ori r4, r4, 0x0100 #A button used for compilation, adjust this accordingly #If making this source "properly" to match Auto Proceed Code's source, uncomment the following two asm lines #This will force you to keep R the value of 2, so each state has equal time delay #cmpwi r11, 3 #bne- update_counter #Reset counter li r11, 0 #Update Counter in EVA update_counter: stb r11, 0x0CE0 (r12) #Default Instruction; store the Controller Halfword Input to Memory default_instruction: sth r4, 0x0948 (r7)