Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 299
» Latest member: Deflaktor
» Forum threads: 1,215
» Forum posts: 5,258

Full Statistics

Online Users
There are currently 115 online users.
» 2 Member(s) | 109 Guest(s)
Applebot, Baidu, Bing, Google, Vega, WhatisLoaf

Latest Threads
PyiiASMH 3 (ASM Compiler ...
Forum: Hacking General Discussion
Last Post: Deflaktor
1 hour ago
» Replies: 6
» Views: 4,154
Make it to 10,000
Forum: General Discussion
Last Post: JoshuaMK
6 hours ago
» Replies: 978
» Views: 213,067
Change VR Limit [XeR]
Forum: Online Non-Item
Last Post: JoshuaMK
6 hours ago
» Replies: 15
» Views: 3,988
What is your favorite foo...
Forum: General Discussion
Last Post: Vega
11 hours ago
» Replies: 5
» Views: 496
Future Fly (Wii Chuck) [m...
Forum: Incomplete & Outdated Codes
Last Post: mapnov
Yesterday, 05:20 PM
» Replies: 6
» Views: 2,909
Control TF Crushers [Vega...
Forum: Offline Non-Item
Last Post: Vega
11-23-2020, 04:57 PM
» Replies: 0
» Views: 72
Goomba Dropped Item Modif...
Forum: Online; Item
Last Post: Vega
11-23-2020, 03:53 PM
» Replies: 6
» Views: 284
Don't Display Star Rank [...
Forum: Visual & Sound Effects
Last Post: TheNinjaKingOW
11-22-2020, 04:48 PM
» Replies: 7
» Views: 311
Block First 8 Cups in Reg...
Forum: Code Support / Help / Requests
Last Post: TheNinjaKingOW
11-20-2020, 08:18 PM
» Replies: 4
» Views: 1,276
Coin magnet code
Forum: Code Support / Help / Requests
Last Post: kasandra09
11-20-2020, 08:18 PM
» Replies: 4
» Views: 940

 
  Control TF Crushers [Vega]
Posted by: Vega - 11-23-2020, 04:57 PM - Forum: Offline Non-Item - No Replies

Control TF Crushers [Vega]

Press + Hold desired button whenever you want the crushers to come down.

NTSC-U
04763624 38000004
2834XXXX YYYYZZZZ
04763624 38000002
E0000000 80008000

PAL
047778B8 38000004
2834XXXX YYYYZZZZ
047778B8 38000002
E0000000 80008000

NTSC-J
04776F24 38000004
2834XXXX YYYYZZZZ
04776F24 38000002
E0000000 80008000

NTSC-K
04765C78 38000004
2833XXXX YYYYZZZZ
04765C78 38000002
E0000000 80008000

Code creator: Vega
Code credits: Anarion (Freeze Crushers code)

Print this item

  Don't Display Star Rank [TheNinjaKingOW]
Posted by: TheNinjaKingOW - 11-21-2020, 12:26 AM - Forum: Visual & Sound Effects - Replies (7)

This code will disable the visuals of the star ranks, you can not see yours or anyone's star rank. Others can see yours still.

NTSC-U
0461E080 60000000
046586D8 60000000
046586E4 60000000
0461E088 60000000
045CDF88 60000000

PAL
04651394 60000000
0465BCF4 60000000
04660620 60000000
0465139C 60000000
045E3D64 60000000

NTSC-J
04650A00 60000000
0465B360 60000000
0465FC8C 60000000
04650A08 60000000
045E3640 60000000

NTSC-K
0463F6AC 60000000
0464A00C 60000000
0464E938 60000000
0463F6B4 60000000
045D1F00 60000000

Print this item

  Mega Mushroom Size Multiplier [CLF78]
Posted by: CLF78 - 11-20-2020, 01:00 PM - Forum: Offline; Item - No Replies

This code multiplies the Mega Mushroom size value loaded from KartParam.bin. Note: Others online will not see the effect.

NTSC-U
C258B904 00000003
C0040184 3CA0XXXX
90A30184 C0230184
EC010032 00000000

PAL
C2592128 00000003
C0040184 3CA0XXXX
90A30184 C0230184
EC010032 00000000

NTSC-J
C2591AA8 00000003
C0040184 3CA0XXXX
90A30184 C0230184
EC010032 00000000

NTSC-K
C2580180 00000003
C0040184 3CA0XXXX
90A30184 C0230184
EC010032 00000000

XXXX = Left part of the float multiplier (for example, 1.5 is 0x3FC0)

Source:

Code:
# Inject @ 80592128 PAL, 8058B904 NTSC-U, 80591AA8 NTSC-J, 80580180 NTSC-K
# Original instruction
lfs f0, 0x184(r4)

# Load the left part of our custom float in f1
lis r5, 0xXXXX
stw r5, 0x184(r3)
lfs f1, 0x184(r3)

# Multiply
fmuls f0, f1, f0

Code created by: CLF78
Code contributors: Seeky (address founder)

Print this item

  Acceleration/deceleration multiplier [stebler]
Posted by: stebler - 11-20-2020, 11:21 AM - Forum: Offline Non-Item - No Replies

Acceleration/deceleration multiplier [stebler]

I made this while working on 200cc CTGP compatibility.

NTSC-U:
c257479c 00000004
c01d0030 3c00XXXX
901d0030 c03d0030
ec000072 d01d0030
e3e10028 00000000
048b10a0 bf800000

PAL:
c257b000 00000004
c01d0030 3c00XXXX
901d0030 c03d0030
ec000072 d01d0030
e3e10028 00000000
048b10a0 bf800000

NTSC-J:
c257a980 00000004
c01d0030 3c00XXXX
901d0030 c03d0030
ec000072 d01d0030
e3e10028 00000000
048b10a0 bf800000

NTSC-K:
c2569058 00000004
c01d0030 3c00XXXX
901d0030 c03d0030
ec000072 d01d0030
e3e10028 00000000
048b10a0 bf800000

Patch 1: multiply the acceleration by a constant
# inject at 8057479c (NTSC-U)
# inject at 8057b000 (PAL)
# inject at 8057a980 (NTSC-J)
# inject at 80569058 (NTSC-K)
lfs f0, 0x30 (r29)
lis r0, 0xXXXX
stw r0, 0x30 (r29)
lfs f1, 0x30 (r29)
fmuls f0, f0, f1
stfs f0, 0x30 (r29)
psq_l p31, 40(r1), 0, qr0

Print this item

  Acceleration multiplier (CTGP 200cc) [stebler]
Posted by: stebler - 11-20-2020, 10:56 AM - Forum: Offline Non-Item - No Replies

Acceleration multiplier (CTGP 200cc) [stebler]

NTSC-U:
048b13b8 40900000
04575600 60000000
c25745fc 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000

PAL:
048b5c78 40900000
0457be64 60000000
c257ae60 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000

NTSC-J:
048b4dd8 40900000
0457b7e4 60000000
c257a7e0 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000

NTSC-K:
048a40f0 40900000
04569ebc 60000000
c2568eb8 00000006
807d0000 80630004
80630004 54630739
40820014 3c603fc0
907d0030 c01d0030
ec200072 d03d0030
60000000 00000000

Patch 1: set the boost acceleration to 4.5 (instead of 3.0)
# replace at 808b13b8 (NTSC-U)
# replace at 808b5c78 (PAL)
# replace at 808b4dd8 (NTSC-J)
# replace at 808a40f0 (NTSC-K)
40900000

Patch 2: remove a branch to always use the same (smaller) speed cap while boosting
# replace at 80575600 (NTSC-U)
# replace at 8057be64 (PAL)
# replace at 8057b7e4 (NTSC-J)
# replace at 80569ebc (NTSC-K)
nop

Patch 3: multiply the non-boost acceleration by 1.5 if the player is not drifting
# inject at 805745fc (NTSC-U)
# inject at 8057ae60 (PAL)
# inject at 8057a7e0 (NTSC-J)
# inject at 80568eb8 (NTSC-K)
lwz r3, 0x0 (r29)
lwz r3, 0x4 (r3)
lwz r3, 0x4 (r3)
rlwinm. r3, r3, 0, 28, 28
bne end
lis r3, 0x3fc0
stw r3, 0x30 (r29)
lfs f0, 0x30 (r29)
fmuls f1, f0, f1
end:
stfs f1, 0x30 (r29)

Print this item

  Brake drifting [stebler]
Posted by: stebler - 11-20-2020, 10:15 AM - Forum: Offline Non-Item - No Replies

Brake drifting [stebler]

Controls are the same as CTGP. Online with several players using the code is untested.

NTSC-U:
c251bea0 00000006
55040739 41820020
a09c0090 548406b5
41820014 a09c0090
548405ad 41820008
61080010 b11d0004
60000000 00000000
c251b1ec 00000005
54c40739 41820018
54640673 41820010
546405ad 41820008
60c60010 5464073b
60000000 00000000
c2735e6c 00000005
57e00739 41820018
5460077b 41820010
5460056b 41820008
63ff0010 b3fc0004
60000000 00000000
c2736200 00000006
54040739 41820020
a09c0002 548405ad
41820014 a09c0002
5484056b 41820008
60000010 b01b0004
60000000 00000000
c258e1cc 00000003
540307fe 5400e7fe
68000001 7c001839
60000000 00000000
045776e8 60000000
c2574620 00000002
2c000001 41820008
548307ff 00000000

PAL:
c2520314 00000006
55040739 41820020
a09c0090 548406b5
41820014 a09c0090
548405ad 41820008
61080010 b11d0004
60000000 00000000
c251f660 00000005
54c40739 41820018
54640673 41820010
546405ad 41820008
60c60010 5464073b
60000000 00000000
c2745d38 00000005
57e00739 41820018
5460077b 41820010
5460056b 41820008
63ff0010 b3fc0004
60000000 00000000
c27460cc 00000006
54040739 41820020
a09c0002 548405ad
41820014 a09c0002
5484056b 41820008
60000010 b01b0004
60000000 00000000
c25949f0 00000003
540307fe 5400e7fe
68000001 7c001839
60000000 00000000
0457df4c 60000000
c257ae84 00000002
2c000001 41820008
548307ff 00000000

NTSC-J:
c251fc94 00000006
55040739 41820020
a09c0090 548406b5
41820014 a09c0090
548405ad 41820008
61080010 b11d0004
60000000 00000000
c251efe0 00000005
54c40739 41820018
54640673 41820010
546405ad 41820008
60c60010 5464073b
60000000 00000000
c2745d38 00000005
57e00739 41820018
5460077b 41820010
5460056b 41820008
63ff0010 b3fc0004
60000000 00000000
c2745738 00000006
54040739 41820020
a09c0002 548405ad
41820014 a09c0002
5484056b 41820008
60000010 b01b0004
60000000 00000000
c2594370 00000003
540307fe 5400e7fe
68000001 7c001839
60000000 00000000
0457d8cc 60000000
c257a804 00000002
2c000001 41820008
548307ff 00000000

NTSC-K:
c250e338 00000006
55040739 41820020
a09c0090 548406b5
41820014 a09c0090
548405ad 41820008
61080010 b11d0004
60000000 00000000
c250d684 00000005
54c40739 41820018
54640673 41820010
546405ad 41820008
60c60010 5464073b
60000000 00000000
c27340f8 00000005
57e00739 41820018
5460077b 41820010
5460056b 41820008
63ff0010 b3fc0004
60000000 00000000
c273448c 00000006
54040739 41820020
a09c0002 548405ad
41820014 a09c0002
5484056b 41820008
60000010 b01b0004
60000000 00000000
c2582a48 00000003
540307fe 5400e7fe
68000001 7c001839
60000000 00000000
0456bfa4 60000000
c2568edc 00000002
2c000001 41820008
548307ff 00000000

Patch 1: set the brake drifting bit when both B and R are pressed and the player is drifting (GCN controller)
# inject at 8051BEA0 (NTSC-U)
# inject at 80520314 (PAL)
# inject at 8051FC94 (NTSC-J)
# inject at 8050E338 (NTSC-K)
rlwinm. r4, r8, 0, 28, 28
beq end
lhz r4, 0x90 (r28)
rlwinm. r4, r4, 0, 26, 26
beq end
lhz r4, 0x90 (r28)
rlwinm. r4, r4, 0, 22, 22
beq end
ori r8, r8, 0x10
end:
sth r8, 0x4 (r29)

Patch 2: set the brake drifting bit when both B and R are pressed and the player is drifting (classic controller)
# inject at 8051B1EC (NTSC-U)
# inject at 8051F660 (PAL)
# inject at 8051EFE0 (NTSC-J)
# inject at 8050D684 (NTSC-K)
rlwinm. r4, r6, 0, 28, 28
beq end
rlwinm. r4, r3, 0, 25, 25
beq end
rlwinm. r4, r3, 0, 22, 22
beq end
ori r6, r6, 0x10
end:
rlwinm. r4, r3, 0, 28, 29

Patch 3: set the brake drifting bit when both B and d-pad down are pressed and the player is drifting (nunchuk)
# inject at 80735E6C (NTSC-U)
# inject at 80745D38 (PAL)
# inject at 80745D38 (NTSC-J)
# inject at 807340F8 (NTSC-K)
rlwinm. r0, r31, 0, 28, 28
beq end
rlwinm. r0, r3, 0, 29, 29
beq end
rlwinm. r0, r3, 0, 21, 21
beq end
ori r31, r31, 0x10
end:
sth r31, 0x4 (r28)

Patch 4: set the brake drifting bit when both 1 and B are pressed and the player is drifting (wii wheel)
# inject at 80736200 (NTSC-U)
# inject at 807460CC (PAL)
# inject at 80745738 (NTSC-J)
# inject at 8073448C (NTSC-K)
rlwinm. r4, r0, 0, 28, 28
beq end
lhz r4, 0x2 (r28)
rlwinm. r4, r4, 0, 22, 22
beq end
lhz r4, 0x2 (r28)
rlwinm. r4, r4, 0, 21, 21
beq end
ori r0, r0, 0x10
end:
sth r0, 0x4 (r27)

Patch 5: do not accelerate when the brake drifting bit is set
# inject at 8058E1CC (NTSC-U)
# inject at 805949F0 (PAL)
# inject at 80594370 (NTSC-J)
# inject at 80582A48 (NTSC-K)
rlwinm r3, r0, 0, 31, 31
rlwinm r0, r0, 28, 31, 31
xori r0, r0, 1
and. r0, r0, r3

Patch 6: do not cancel the drifting when the player is no longer accelerating
# replace at 805776E8 (NTSC-U)
# replace at 8057DF4C (PAL)
# replace at 8057D8CC (NTSC-J)
# replace at 8056BFA4 (NTSC-K)
nop

Patch 7: allow breaking while drifting
# replace at 80574620 (NTSC-U)
# replace at 8057AE84 (PAL)
# replace at 8057A804 (NTSC-J)
# replace at 80568EDC (NTSC-K)
cmpwi r0, 1
beq end
rlwinm. r3, r4, 0, 31, 31
end:

Note: just like CTGP, this code uses bit 4 of the button input variable for brake drifting (0 = accelerate, 1 = brake or drift, 2 = use item, 3 = drift, 5 = look backwards).

Print this item

  Coconut Mall Escalator Looper [CLF78, Ismy]
Posted by: CLF78 - 11-19-2020, 02:41 PM - Forum: Offline Non-Item - No Replies

This code makes escalators keep working after the first three cycles. There is a small bug where the escalator flickers for one frame when it restarts in the opposite direction.

NTSC-U
C27F2E4C 00000006
801E0174 387FFEBC
7C001840 40A20020
7C040378 807E0170
7C632050 7C841A14
909E0170 7C841A14
909E0174 00000000
C27F463C 00000006
807E00BC 399DFEBC
7C036000 40A20020
7C6B1B78 819E00B8
7D8C5850 7D6B6214
917E00B8 7D6B6214
917E00BC 00000000

PAL
C28009C4 00000006
801E0174 387FFEBC
7C001840 40A20020
7C040378 807E0170
7C632050 7C841A14
909E0170 7C841A14
909E0174 00000000
C28021B4 00000006
807E00BC 399DFEBC
7C036000 40A20020
7C6B1B78 819E00B8
7D8C5850 7D6B6214
917E00B8 7D6B6214
917E00BC 00000000

NTSC-J
C2800030 00000006
801E0174 387FFEBC
7C001840 40A20020
7C040378 807E0170
7C632050 7C841A14
909E0170 7C841A14
909E0174 00000000
C2801820 00000006
807E00BC 399DFEBC
7C036000 40A20020
7C6B1B78 819E00B8
7D8C5850 7D6B6214
917E00B8 7D6B6214
917E00BC 00000000

NTSC-K
C27EED84 00000006
801E0174 387FFEBC
7C001840 40A20020
7C040378 807E0170
7C632050 7C841A14
909E0170 7C841A14
909E0174 00000000
C27F0574 00000006
807E00BC 399DFEBC
7C036000 40A20020
7C6B1B78 819E00B8
7D8C5850 7D6B6214
917E00B8 7D6B6214
917E00BC 00000000

Source:

Code:
###############################
# ASM 1 (Escalator Switching) #
###############################
# Inject @ 808009C4 PAL, 807F2E4C NTSC-U, 80800030 NTSC-J, 8087EED84 NTSC-K

# Subtract 324 frames to let the animation play
lwz r0, 0x174(r30)
subi r3, r31, 324
cmplw r0, r3
bne+ end

# Add the difference between the timers once to the first timer and twice to the second
mr r4, r0
lwz r3, 0x170(r30)
sub r3, r4, r3
add r4, r4, r3
stw r4, 0x170(r30)
add r4, r4, r3
stw r4, 0x174(r30)

end:

###################################
# ASM 2 (Pianta Facing Direction) #
###################################
# Inject @ 808021B4 PAL, 807F463C NTSC-U, 80801820 NTSC-J, 807F0574 NTSC-K
# The instructions are the same with different registers, not gonna bother commenting
lwz r3, 0xBC(r30)
subi r12, r29, 324
cmpw r3, r12
bne+ end2

mr r11, r3
lwz r12, 0xB8(r30)
sub r12, r11, r12
add r11, r11, r12
stw r11, 0xB8(r30)
add r11, r11, r12
stw r11, 0xBC(r30)

end2:

Code created by: CLF78 & Ismy

Print this item

  Goomba Dropped Item Modifier [CLF78]
Posted by: CLF78 - 11-19-2020, 01:35 PM - Forum: Online; Item - Replies (6)

This code lets you choose which item Goombas drop when hit.

NTSC-U
006CC1E3 0000000X
006CC34B 0000000X
086CC547 0000000X
000301C0 00000000
006CCE97 0000000X

PAL
006DB893 0000000X
006DB9FB 0000000X
086DBBF7 0000000X
000301C0 00000000
006DC547 0000000X

NTSC-J
006DAEFF 0000000X
006DB067 0000000X
086DB263 0000000X
000301C0 00000000
006DBBB3 0000000X

NTSC-K
006C9C3B 0000000X
006C9DA3 0000000X
086C9F9F 0000000X
000301C0 00000000
006CA8EF 0000000X

X Values:
0 = Green Shell
1 = Red Shell
2 = Banana
3 = Mushroom
4 = Star
5 = Blue Shell
6 = Lightning
7 = Fake Box
8 = Mega Mushroom
9 = Bob-omb
A = Blooper
B = POW Block
C = Golden Mushroom
D = Bullet Bill
E = Thunder Cloud

Code created by: CLF78

Print this item

  Ghosts on Custom Tracks (Not CTGP)
Posted by: Optllizer - 11-17-2020, 06:41 AM - Forum: Code Support / Help / Requests - Replies (4)

For starters, I don't know assembly code. I find it kinda hard to learn but I am not here to request a ghost saving code, I just wondering how complicated would it be to make one and if anyone is actually trying. What kind of stuff would you need, Like would you need to understand how LE-Code adds the custom track slots? I know you need to access the SD Card somehow which I think Star has a code that makes the game able to access your SD Card. I don't know if that's useful for this type of stuff. Also for dolphin users, could this still access your sd card by using the virtual one from dolphin. Just want to know from people who actually know how to make codes. thank you

Print this item

  Codehandler Benchmark [JoshuaMK]
Posted by: JoshuaMK - 11-17-2020, 12:34 AM - Forum: Misc/Other - No Replies

Codehandler Benchmark [JoshuaMK]

Run this code alongside any other codes you want to have in game, run the game with cheats enabled, and you will be shown how many "ticks" it takes your codehandler to run the codelist in 5 second increments

Note: this code has _tZ's anti flicker built in
Note: This code uses the address range 0x80000FF0 -> 0x80000FFF







[NTSC-U]
04000FF8 800018A8
C20221C8 00000004
3D80CC00 8ACC201D
56D6801E A18C201E
7D8CB378 558C2834
658C8000 00000000
C200A3F0 00000008
9421FF80 BC610008
806DA358 80630044
80630000 3D808002
618C23E0 7D8903A6
4E800421 3C608000
38000001 98030FFF
B8610008 38210080
80010014 00000000
C200953C 00000023
7C0802A6 90010004
9421FFA0 BEE10008
3C00801A 6000650C
7C0903A6 4E800421
7C7C1B78 3F208000
88190FFE 2C000000
418100B8 88190FFF
2C000000 418200AC
83190FF4 38000001
98190FFE 80190FF8
7C0903A6 7FEC42E6
4E800421 7FCC42E6
7FBFF050 7F18EA14
93190FF4 38000000
98190FFE A0790FFC
2C03012C 38630001
B0790FFC 41A00014
38600000 B0790FFC
90790FF4 93190FF0
82F90FF0 48000011
5469636B 733A2025
64000000 7F4802A6
38600009 388000C8
38A00001 7F46D378
7EE7BB78 4CC63182
3C008002 60001DF0
7C0903A6 4E800421
3C008002 60001DD0
7C0903A6 4E800421
7F83E378 3C00801A
60006534 7C0903A6
4E800421 BAE10008
38210060 80010004
7C0803A6 88150068
60000000 00000000

[PAL]
04000FF8 800018A8
C2022268 00000004
3D80CC00 8ACC201D
56D6801E A18C201E
7D8CB378 558C2834
658C8000 00000000
C200A430 00000008
9421FF80 BC610008
806DA360 80630044
80630000 3D808002
618C2480 7D8903A6
4E800421 3C608000
38000001 98030FFF
B8610008 38210080
80010014 00000000
C200957C 00000023
7C0802A6 90010004
9421FFA0 BEE10008
3C00801A 600065AC
7C0903A6 4E800421
7C7C1B78 3F208000
88190FFE 2C000000
418100B8 88190FFF
2C000000 418200AC
83190FF4 38000001
98190FFE 80190FF8
7C0903A6 7FEC42E6
4E800421 7FCC42E6
7FBFF050 7F18EA14
93190FF4 38000000
98190FFE A0790FFC
2C03012C 38630001
B0790FFC 41A00014
38600000 B0790FFC
90790FF4 93190FF0
82F90FF0 48000011
5469636B 733A2025
64000000 7F4802A6
38600009 388000C8
38A00001 7F46D378
7EE7BB78 4CC63182
3C008002 60001E90
7C0903A6 4E800421
3C008002 60001E70
7C0903A6 4E800421
7F83E378 3C00801A
600065D4 7C0903A6
4E800421 BAE10008
38210060 80010004
7C0803A6 88150068
60000000 00000000

[NTSC-J]
04000FF8 800018A8
C2022188 00000004
3D80CC00 8ACC201D
56D6801E A18C201E
7D8CB378 558C2834
658C8000 00000000
C200A38C 00000008
9421FF80 BC610008
806DA360 80630044
80630000 3D808002
618C23A0 7D8903A6
4E800421 3C608000
38000001 98030FFF
B8610008 38210080
80010014 00000000
C20094D8 00000023
7C0802A6 90010004
9421FFA0 BEE10008
3C00801A 600064CC
7C0903A6 4E800421
7C7C1B78 3F208000
88190FFE 2C000000
418100B8 88190FFF
2C000000 418200AC
83190FF4 38000001
98190FFE 80190FF8
7C0903A6 7FEC42E6
4E800421 7FCC42E6
7FBFF050 7F18EA14
93190FF4 38000000
98190FFE A0790FFC
2C03012C 38630001
B0790FFC 41A00014
38600000 B0790FFC
90790FF4 93190FF0
82F90FF0 48000011
5469636B 733A2025
64000000 7F4802A6
38600009 388000C8
38A00001 7F46D378
7EE7BB78 4CC63182
3C008002 60001DB0
7C0903A6 4E800421
3C008002 60001D90
7C0903A6 4E800421
7F83E378 3C00801A
600064F4 7C0903A6
4E800421 BAE10008
38210060 80010004
7C0803A6 88150068
60000000 00000000

[NTSC-K]
04000FF8 800018A8
C20222C8 00000004
3D80CC00 8ACC201D
56D6801E A18C201E
7D8CB378 558C2834
658C8000 00000000
C200A538 00000008
9421FF80 BC610008
806DA380 80630044
80630000 3D808002
618C24E0 7D8903A6
4E800421 3C608000
38000001 98030FFF
B8610008 38210080
80010014 00000000
C2009684 00000023
7C0802A6 90010004
9421FFA0 BEE10008
3C00801A 60006908
7C0903A6 4E800421
7C7C1B78 3F208000
88190FFE 2C000000
418100B8 88190FFF
2C000000 418200AC
83190FF4 38000001
98190FFE 80190FF8
7C0903A6 7FEC42E6
4E800421 7FCC42E6
7FBFF050 7F18EA14
93190FF4 38000000
98190FFE A0790FFC
2C03012C 38630001
B0790FFC 41A00014
38600000 B0790FFC
90790FF4 93190FF0
82F90FF0 48000011
5469636B 733A2025
64000000 7F4802A6
38600009 388000C8
38A00001 7F46D378
7EE7BB78 4CC63182
3C008002 60001EF0
7C0903A6 4E800421
3C008002 60001ED0
7C0903A6 4E800421
7F83E378 3C00801A
60006930 7C0903A6
4E800421 BAE10008
38210060 80010004
7C0803A6 88150068
60000000 00000000



Source: Must be compiled with pyiiasmh3
Code:
#-----RENDERSETUP-----#
# NTSC-U - 0x8000A3F0 #
# PAL     - 0x8000A430 #
# NTSC-J - 0x8000A38C #
# NTSC-K - 0x8000A538 #
#---------------------#

.set region, AMERICA

.if region == AMERICA
    .set DirectPrint__SetupFB, 0x800223E0
.elseif region == EUROPE
    .set DirectPrint__SetupFB, 0x80022480
.elseif region == JAPAN
    .set DirectPrint__SetupFB, 0x800223A0
.elseif region == KOREA
    .set DirectPrint__SetupFB, 0x800224E0
.else
    .err
.endif

.set InitializeFlag, 0x80000FFF

__push_stack r3, 0x80, FALSE

.if region == AMERICA
    lwz r3, -0x5CA8(r13)
.elseif region == EUROPE
    lwz r3, -0x5CA0(r13)
.elseif region == JAPAN
    lwz r3, -0x5CA0(r13)
.elseif region == KOREA
    lwz r3, -0x5C80(r13)
.else
    .err
.endif

lwz r3, 0x44 (r3)
lwz r3, 0x0 (r3)

__call r12 DirectPrint__SetupFB

lis r3, InitializeFlag@ha
li r0, TRUE
stb r0, InitializeFlag@l (r3)

__pop_stack r3, 0x80, FALSE
lwz r0, 0x14 (sp)

Code:
#------BENCHMARK------#
# NTSC-U - 0x8000953C #
# PAL     - 0x8000957C #
# NTSC-J - 0x800094D8 #
# NTSC-K - 0x80009684 #
#---------------------#

.set region, AMERICA

.if region == AMERICA
    .set OSDisableInterrupts, 0x801A650C
    .set OSRestoreInterrupts, 0x801A6534
    .set OSGetTime, 0x801AACBC
    .set DirectPrint__Printf, 0x80021DF0
    .set DirectPrint__StoreCache, 0x80021DD0
.elseif region == EUROPE
    .set OSDisableInterrupts, 0x801A65AC
    .set OSRestoreInterrupts, 0x801A65D4
    .set OSGetTime, 0x801AAD5C
    .set DirectPrint__Printf, 0x80021E90
    .set DirectPrint__StoreCache, 0x80021E70
.elseif region == JAPAN
    .set OSDisableInterrupts, 0x801A64CC
    .set OSRestoreInterrupts, 0x801A64F4
    .set OSGetTime, 0x801AAC7C
    .set DirectPrint__Printf, 0x80021DB0
    .set DirectPrint__StoreCache, 0x80021D90
.elseif region == KOREA
    .set OSDisableInterrupts, 0x801A6908
    .set OSRestoreInterrupts, 0x801A6930
    .set OSGetTime, 0x801AB0B8
    .set DirectPrint__Printf, 0x80021EF0
    .set DirectPrint__StoreCache, 0x80021ED0
.else
    .err
.endif

.set StartTime, 31
.set EndTime, 30
.set DiffTime, 29
.set InterruptStatus, 28
.set CalendarTime, 27
.set MessageLoc, 26
.set InfoData, 25
.set TotalTime, 24
.set LastTime, 23

.set CodeHandler, 0x80000FF8
.set InitializeFlag, 0x80000FFF
.set RecursiveFlag, 0x80000FFE
.set FrameCount, 0x80000FFC
.set CurDuration, 0x80000FF4
.set LastDuration, 0x80000FF0

#--START--#

__push_stack r23, 0x60, TRUE
__call r0, OSDisableInterrupts
mr InterruptStatus, r3

lis InfoData, 0x8000
lbz r0, RecursiveFlag@l (InfoData)
cmpwi r0, 0
bgt exit

lbz r0, InitializeFlag@l (InfoData)
cmpwi r0, FALSE
beq- exit

lwz TotalTime, CurDuration@l (InfoData)

li r0, TRUE
stb r0, RecursiveFlag@l (InfoData)

lwz r0, CodeHandler@l (InfoData)
mtctr r0
mftbl StartTime
bctrl

mftbl EndTime
sub DiffTime, EndTime, StartTime
add TotalTime, TotalTime, DiffTime
stw TotalTime, CurDuration@l (InfoData)

li r0, FALSE
stb r0, RecursiveFlag@l (InfoData)

lhz r3, FrameCount@l (InfoData)
cmpwi r3, 300
addi r3, r3, 1
sth r3, FrameCount@l (InfoData)
blt+ draw_text

li r3, 0
sth r3, FrameCount@l (InfoData)
stw r3, CurDuration@l (InfoData)
stw TotalTime, LastDuration@l (InfoData)

draw_text:
lwz LastTime, LastDuration@l (InfoData)
bl getMsg

.asciz "Ticks: %d"
.align 2

getMsg:
mflr MessageLoc

li r3, 9
li r4, 200
li r5, TRUE
mr r6, MessageLoc
mr r7, LastTime

crclr 4*cr1+eq
__call r0, DirectPrint__Printf
__call r0, DirectPrint__StoreCache

exit:
mr r3, InterruptStatus
__call r0, OSRestoreInterrupts
__pop_stack r23, 0x60, TRUE
lbz r0, 0x68 (r21)

Print this item