I'd like to know, are there gecko codes that make certain CPU(s) better/faster than t
#1
Heart 
This would be great if someone coul tell me!
Reply
#2
Looks like your title got cut out at the end.

You can effect the CPU speed limit with this code - https://mariokartwii.com/showthread.php?tid=2219
You can also force the CPU difficulty with this code - https://mariokartwii.com/showthread.php?tid=2220
Reply
#3
(11-16-2024, 09:38 PM)Vega Wrote: Looks like your title got cut out at the end.

You can effect the CPU speed limit with this code - https://mariokartwii.com/showthread.php?tid=2219
You can also force the CPU difficulty with this code - https://mariokartwii.com/showthread.php?tid=2220

I mean a way to make certain cpus better/faster, CPU 1, 2, 3, 4, etc
Reply
#4
Not sure what you want, exactly.

Does a tool like this help? - https://wiki.tockdom.com/wiki/KartAISpdParam.bin_Editor
Reply
#5
Btw you can def edit the CPU speed limit code to enforce it based on slot (have diff limits for every CPU)
Reply
#6
(11-28-2024, 01:45 PM)Vega Wrote: Btw you can def edit the CPU speed limit code to enforce it based on slot (have diff limits for every CPU)

How to?
Reply
#7
(11-27-2024, 10:37 PM)Fifty Wrote: Not sure what you want, exactly.

Does a tool like this help? - https://wiki.tockdom.com/wiki/KartAISpdParam.bin_Editor

Not really, don't even have the files to use that with mods I'm trying to use it with
Reply
#8
(12-01-2024, 07:08 AM)Sora0Pi Wrote:
(11-28-2024, 01:45 PM)Vega Wrote: Btw you can def edit the CPU speed limit code to enforce it based on slot (have diff limits for every CPU)

How to?

Try this code. It's a modification to B_squo's original code but adding in slot selectability

N = Slot 1 Soft speed limit
P = Slot 2 Soft speed limit
Q = Slot 3
R = Slot 4
.. ..
Z = Slot 11


NTSC-U
C273428C 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

PAL
C2744158 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

NTSC-J
C27437C4 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

NTSC-K
C2732518 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

Code creator: B_squo
Code credits: Vega (added in Slot selectability)

Code:
#Address Ports (Original is PAL)
#NTSC-U 8073428C
#PAL  80744158
#NTSC-J 807437C4
#NTSC-K 80732518

#Create Lookup Table
bl soft_speed_limit_table

#CPU Soft Speed Limit Table
#Dummy/example values used, adjust this to what you want before assembling
.zero 4 #Need filler for slot 0 which won't be used
.float 120.0 #Speed for slot 1
.float 100.5 #Speed for slot 2
.float 117.4 #Speed for slot 3... etc etc
.float 66.6
.float 87.0
.float 156.6
.float 200.0
.float 45.6
.float 179.9
.float 126.4
.float 220.1

#Place Table addr into r11
soft_speed_limit_table:
mflr r11

#Multiply Slot by 4
slwi r12, r28, 2

#Grab the CPU's assigned limit
lfsx f29, r12, r11

#Write the speed limit now, Original Instruction
stfs f29, 0x001C (r3)
Reply
#9
(12-09-2024, 07:07 PM)Vega Wrote:
(12-01-2024, 07:08 AM)Sora0Pi Wrote:
(11-28-2024, 01:45 PM)Vega Wrote: Btw you can def edit the CPU speed limit code to enforce it based on slot (have diff limits for every CPU)

How to?

Try this code. It's a modification to B_squo's original code but adding in slot selectability

N = Slot 1 Soft speed limit
P = Slot 2 Soft speed limit
Q = Slot 3
R = Slot 4
.. ..
Z = Slot 11


NTSC-U
C273428C 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

PAL
C2744158 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

NTSC-J
C27437C4 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

NTSC-K
C2732518 00000009
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7FAC5C2E
D3A3001C 00000000

Code creator: B_squo
Code credits: Vega (added in Slot selectability)

Code:
#Address Ports (Original is PAL)
#NTSC-U 8073428C
#PAL  80744158
#NTSC-J 807437C4
#NTSC-K 80732518

#Create Lookup Table
bl soft_speed_limit_table

#CPU Soft Speed Limit Table
#Dummy/example values used, adjust this to what you want before assembling
.zero 4 #Need filler for slot 0 which won't be used
.float 120.0 #Speed for slot 1
.float 100.5 #Speed for slot 2
.float 117.4 #Speed for slot 3... etc etc
.float 66.6
.float 87.0
.float 156.6
.float 200.0
.float 45.6
.float 179.9
.float 126.4
.float 220.1

#Place Table addr into r11
soft_speed_limit_table:
mflr r11

#Multiply Slot by 4
slwi r12, r28, 2

#Grab the CPU's assigned limit
lfsx f29, r12, r11

#Write the speed limit now, Original Instruction
stfs f29, 0x001C (r3)
This is good! What if I wanted to only do one or two instead of all 12, do I remove certain lines then?
Reply
#10
(Yesterday, 07:57 AM)Sora0Pi Wrote: This is good! What if I wanted to only do one or two instead of all 12, do I remove certain lines then?

This should work. Fill in any value with 00000000 to NOT have the code effect the respective slot.

NTSC-U
C273428C 0000000B
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7DAC5C2E
ED8C6028 FC8D6040
41860008 FFA06890
D3A3001C 00000000

PAL
C2744158 0000000B
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7DAC5C2E
ED8C6028 FC8D6040
41860008 FFA06890
D3A3001C 00000000

NTSC-J
C27437C4 0000000B
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7DAC5C2E
ED8C6028 FC8D6040
41860008 FFA06890
D3A3001C 00000000

NTSC-K
C2732518 0000000B
48000035 00000000
NNNNNNNN PPPPPPPP
QQQQQQQQ RRRRRRRR
SSSSSSSS TTTTTTTT
UUUUUUUU VVVVVVVV
XXXXXXXX YYYYYYYY
ZZZZZZZZ 7D6802A6
578C103A 7DAC5C2E
ED8C6028 FC8D6040
41860008 FFA06890
D3A3001C 00000000

Code:
#Address Ports (Original is PAL)
#NTSC-U 8073428C
#PAL  80744158
#NTSC-J 807437C4
#NTSC-K 80732518

#Create Lookup Table
bl soft_speed_limit_table

#CPU Soft Speed Limit Table
#Dummy/example values used, adjust this to what you want before assembling
.zero 4 #Need filler for slot 0 which won't be used
.float 220.0 #Speed for slot 1
.float 200.5 #Speed for slot 2
.float 0.0 #Zero means allow CPU to have game-assigned soft speed limit
.float 0.0
.float 0.0
.float 0.0
.float 0.0
.float 0.0
.float 0.0
.float 0.0
.float 0.0

#Place Table addr into r11
soft_speed_limit_table:
mflr r11

#Multiply Slot by 4
slwi r12, r28, 2

#Grab the CPU's assigned limit; place in scratch reg
lfsx f13, r12, r11

#Is float null (bypass)
fsubs f12, f12, f12
fcmpo cr1, f13, f12
beq cr1, original_instruction

#Move value into non-vol reg
fmr f29, f13

#Write the speed limit now, Original Instruction
original_instruction:
stfs f29, 0x001C (r3)
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)