Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Mario Kart 64 resources:
- abitalive's custom Mario Kart 64 Mod with general improvements to the base game: (this mod is outdate please use either fray's mod or OverKart64) https://github.com/abitalive/MarioKart64
- -
- fray's mk64 netplay mod, which is a general update over abitalive's now outdated hack: (netplay/emulator version)
- https://github.com/FraySSB/MarioKart64
- -
- fray's mk64 console mod, which is a general update over abitalive's now outdated hack: (console-compatible version)
- https://github.com/leodexe/MarioKart64
- -
- triclon's custom Mario Kart 64 Mod CPU uses human items: https://www.romhacking.net/hacks/4802/
- -
- Triclon's Mario Kart 64 Gameshark Code Injector: (outdated, check newer versions in the discord) https://sites.google.com/view/triclons-mario-kart-64-page/utilities/mario-kart-64-gameshark-code-injector
- -
- Overkart64 (Custom Mario Kart 64 Mod, currently active) https://www.youtube.com/@OverKart64/about
- -
- Updated MK64 60FPS code with normal pacing + ASM instructions: http://sprunge.us/ENOX
- ---
- Join the OverKart64 Discord for the latest updates on the newest mods: https://discord.com/invite/NNkQSz9
- ---
- Recommended N64 emulator to achieve Full 60FPS Mario Kart 64 on the Wii:
- Wii64 (Rice GFX) https://github.com/FIX94/Wii64/releases
- Mario Kart 64 Gameshark codes:
- Tested on actual N64 console with Everdrive, and Wii console. Most of these codes works except for Lagfix (0D) on N64 console.
- -
- Update on 60FPS code: actually works on N64 applying a few workarounds, I made a 60FPS code compatible with the N64, see below.
- -
- Lagfix:
- 800EA6D2 000D //Lagfix. Note: When combined with the 60FPS Hack it breaks the final lap music, another code has been added to compensate this. Note2: 0D Breaks on console, 02 works with console because that's the default value so I guess it does nothing.
- 800EA6D2 0012 //Alternative LagFix. According to retroben this fixes issues with the previous value that had issues with certain graphic plugins.
- Disable anti-aliasing:
- 810EB3DC 0000 //Disable anti-aliasing
- 810EB3DE 3216 //Disable anti-aliasing
- 810EB40C 0000 //Disable anti-aliasing
- 810EB40E 3216 //Disable anti-aliasing
- Increase Render Distance to 20,000 units (same valued used in OverKart64)
- 8115014C 469C
- 8115014E 4000
- Remove pointless obstacles that adds nothing to the game but makes it even worse:
- 8000985B 0005 //Remove bomb karts in Vs. races (Doesn't affect battle mode bombs)
- 8001C40B 0005 //Remove bomb karts in Vs. races (Doesn't affect battle mode bombs)
- Make the pointless obstacles an even worse nightmare by turning them invisible:
- 8001C404 0000 // Writing 00 in any of these addresses also works: 8001C405, 8001C406, 8001C407
- P1 is always visible bomb kart (You are THE BOMB)
- 81058B32 0009
- 81058B34 51C1
- D10F6990 C010
- 810F699C 0400
- D10F6990 7000
- 810F699C 0800
- D10F6990 7000
- 810F6990 C050
- 60FPS Hack (doesn't work on N64 console)
- 81001890 2419 //60FPS Hack
- 81001892 0001 //60FPS Hack
- 81001894 2419 //60FPS Hack
- 81001896 0001 //60FPS Hack
- 80000FE3 0000 //Single Player 60FPS
- 800014CF 0001 //Single Player 60FPS
- 81001A38 2409 //Two Player 60fps tempo
- 81001A3A 0001 //Two Player 60fps tempo
- 81001A3C 2409 //Two Player 60fps tempo
- 81001A3E 0001 //Two Player 60fps tempo
- 81001C90 240A //Three and Four Player 60fps tempo
- 81001C92 0001 //Three and Four Player 60fps tempo
- 81001C94 240A //Three and Four Player 60fps tempo
- 81001C96 0001 //Three and Four Player 60fps tempo
- 80122CBB 001C //60FPS Hack
- 810AC5D4 2401 //60FPS Hack
- 810AC5D6 0006 //60FPS Hack
- Note: Trophy Celebration and Ending Credits, among other stuff play/move at double speed. Conditionals need to be added so Trophy Celebration and Ending Credits play at the correct speed and objects like the Penguins, Thwomps and Chain Chomp move at regular speed.
- 60FPS Hack for OverKart-based ROM Hacks (like Amped Up, Jerod Kart and Chaos/Mushroom Blast)
- OK64 60FPS Hack + LagFix (Multiplayer)
- 80000FE3 0000
- 800015C4 0001 //OverKart
- 800015C8 0001 //OverKart
- 80122CBB 001C
- 81001890 2419
- 81001892 0001
- 81001894 2419
- 81001896 0001
- 81001A38 2409
- 81001A3A 0001
- 81001A3C 2409
- 81001A3E 0001
- 81001C90 240A
- 81001C92 0001
- 81001C94 240A
- 81001C96 0001
- 810AC5D4 2401
- 810AC5D6 0006
- Note: Doesn't work with Hooting Time.
- 60FPS Hack compatible with N64: Since the N64 is only able to sustain Single Player 60FPS on Rainbow Road without overclocking, I will only include the 60FPS codes for 1P mode. So 2P and 3P-4P modes remain unaffected. If you have overclocked console and want to test 60FPS Single Player on all tracks, remove all the "D00DC5A1 000D //Check if course is Rainbow Road" lines.
- D00F6990 00E0 //Check if player 1 is playing
- D00DC53B 0001 //Check if game mode is set to 1 player
- D00DC5A1 000D //Check if course is Rainbow Road
- 80000FE3 0000 //Remove lag frames
- D00F6990 00E0 //Check if player 1 is playing
- D00DC53B 0001 //Check if game mode is set to 1 player
- D00DC5A1 000D //Check if course is Rainbow Road
- 800014CF 0001 //Set pacing to double speed
- D00DC50F 00FF //Check if game is on standby
- 80000FE3 0001 //Add lag frames
- D00DC50F 00FF //Check if game is on standby
- 800014CF 0002 //Set pacing to default speed
- 810AC5D4 2401 //Unknown function (required)
- 810AC5D6 0006 //Unknown function (required)
- 80122CBB 001C //Unknown function (required)
- This way, after you finish Rainbow Road, the game will fallback to its default pacing and the trophy celebration and ending credits play at the correct speed. The conditionals are required so the game can bypass the crash, because if you permanently active the 60FPS code on boot, the N64 console crashes on a white screen after the Nintendo Logo.
- Two Player Fixed 30FPS Hack (works on console but needs overclock)
- 81001A38 2409
- 81001A3A 0002
- 81001A3C 2409
- 81001A3E 0002
- Three and Four Player Fixed 30FPS Hack (works on console but needs overclock)
- 81001C90 240A
- 81001C92 0002
- 81001C94 240A
- 81001C96 0002
- It must be noted that you can only have 30FPS codes or 60FPS codes, the game is unable of dynamically switching framerates so you'd make one codeset for 30FPS and another codeset for 60FPS unless you know N64 modding and can implement something like abitalive's FPS selector.
- Update on this: It is possible to dynamically switch framerates between game modes / number of players / tracks so you can play with different framerates. Conditionals are required for this, an example of this is the Dynamic framerate switch code below.
- Without overclocked N64, you can actually play D.K.'s Jungle Park in 2-Player at 30FPS, Bowser Castle in 3-Player at 30FPS and DKJP again in 4-Player at 20FPS on console, these 3 tracks actually feel smoother at 30, 30 and 20FPS as opposed to their default values which are 20, 20 and 15FPS plus the horrid speed increase. This codeset lets you play those tracks at higher FPS than default on console.
- 30FPS 2-Player DKJP, 30FPS 3-Player Bowser Castle and 20FPS 4-Player DKJP: (Dynamic framerate switch) WIP
- 81001A38 2409 //Two Player Custom Tempo
- 81001A3C 2409 //Two Player Custom Tempo
- 81001C90 240A //Three and Four Player Custom Tempo
- 81001C94 240A //Three and Four Player Custom Tempo
- D00DC53B 0002 //Check if game is set to Two Player Mode
- D00DC53F 0002 //Check if game is set to VS Mode
- 81001A3A 0002 //30FPS Two Player VS
- D00DC53B 0002 //Check if game is set to Two Player Mode
- D00DC53F 0002 //Check if game is set to VS Mode
- 81001A3E 0002 //30FPS Two Player VS
- D00DC53B 0002 //Check if game is set to Two Player Mode
- D00DC53F 0000 //Check if game is set to Grand Prix Mode
- D00DC5A1 0012 //Check if course is DKJP
- 81001A3A 0003 //20FPS Two Player GP DKJP
- D00DC53B 0002 //Check if game is set to Two Player Mode
- D00DC53F 0000 //Check if game is set to Grand Prix Mode
- D00DC5A1 0012 //Check if course is DKJP
- 81001A3E 0003 //20FPS Two Player GP DKJP
- D00DC53B 0003 //Check if game is set to Three Player Mode
- 81001C96 0002 //30FPS Three Player
- D00DC53B 0003 //Check if game is set to Three Player Mode
- 81001C96 0002 //30FPS Three Player
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D00DC5A1 0009 //Check if course is MMF
- 81001C92 0003 //Set game tempo to 20FPS
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D00DC5A1 0009 //Check if course is MMF
- 81001C96 0003 //Set game tempo to 20FPS
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D00DC5A1 0012 //Check if course is DKJP
- 81001C92 0003 //Set game tempo to 20FPS
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D00DC5A1 0012 //Check if course is DKJP
- 81001C96 0003 //Set game tempo to 20FPS
- D20DC5A1 0010 //Check if course is not Skyscraper
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC53F 0003 //Check if game is set to Battle Mode
- 81001C92 0002 //30FPS Four Player Battle
- D20DC5A1 0010 //Check if course is not Skyscraper
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC53F 0003 //Check if game is set to Battle Mode
- 81001C96 0002 //30FPS Four Player Battle
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC53F 0002 //Check if game is set to VS Mode
- 81001C92 0003 //20FPS Four Player VS
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC53F 0002 //Check if game is set to VS Mode
- 81001C96 0003 //20FPS Four Player VS
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC5A1 0010 //Check if course is Skyscraper
- 81001C92 0003 //20FPS Four Player Battle
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC5A1 0010 //Check if course is Skyscraper
- 81001C96 0003 //20FPS Four Player Battle
- 16:9 Anamorphic Widescreen Hack (All modes)
- D00DC533 0000 //16:9 Anamorphic Widescreen Hack (All modes)
- 81150148 3FDF //16:9 Anamorphic Widescreen Hack (All modes)
- D00DC533 0001 //16:9 Anamorphic Widescreen Hack (All modes)
- 81150148 4060 //16:9 Anamorphic Widescreen Hack (All modes)
- D00DC533 0003 //16:9 Anamorphic Widescreen Hack (All modes)
- 81150148 3FDF //16:9 Anamorphic Widescreen Hack (All modes)
- D00DC533 0004 //16:9 Anamorphic Widescreen Hack (All modes)
- 81150148 3FDF //16:9 Anamorphic Widescreen Hack (All modes)
- All players can choose the same character:
- 810B3924 2400 //All players can choose the same character
- 810B3936 7FFF //All players can choose the same character
- 810B39A4 2400 //All players can choose the same character
- 810B39B6 7FFF //All players can choose the same character
- 810B3A38 2400 //All players can choose the same character
- 810B3A4E 7FFF //All players can choose the same character
- Fix final lap music broken by 60FPS Hack on 1P and 2P Player Modes + Grand Prix/Time Trial Results Screen Music fix:
- D20DC52F 0003 //--1 FIXES FINAL LAP MUSIC BROKEN BY 60FPS HACK ON 1P AND 2P PLAYER MODES--
- D018FC08 0001 //--1 THIS CODE IS NOT NEEDED IF YOU ARE NOT USING 60FPS HACK--
- D03B1511 0002 //--1 THIS CODE IS NOT NEEDED IF YOU ARE NOT USING 60FPS HACK--
- 811930E6 307D //--1 FIXES FINAL LAP MUSIC BROKEN BY 60FPS HACK ON 1P AND 2P PLAYER MODES---
- D03B16DC 0040 //--2 GRAND PRIX AND TIME TRIAL RESULTS SCREEN MUSIC LOOP BUG FIX--
- 803B16DC 0002 //--2 GRAND PRIX AND TIME TRIAL RESULTS SCREEN MUSIC LOOP BUG FIX--
- Enable 3-4 Multiplayer Music + many bugfixes: MUSIC MEGAHACK FOR 3 AND 4 PLAYER MODES
- Each --number is the function of the hack, just in case you want to split them to test them separately.
- D00F8540 00E0 //--1 ENABLE 3-4 MULTIPLAYER MUSIC--
- 8128EC9C 240E //--1 By default the music on 3 and 4 player modes is disabled
- D00F8540 00E0 //--1 these lines
- 8128EC9E 0001 //--1 enables
- D00F8540 00E0 //--1 multiplayer music
- 8128F9C4 2409 //--1 for 3 player
- D00F8540 00E0 //--1 and 4 player modes
- 8128F9C6 0001 //--1 ENABLE 3-4 MULTIPLAYER MUSIC--
- D00DC52F 0003 //--2 FIX BATTLE MODE MUSIC BUG ON 3 AND 4 PLAYER MODES--
- D00DC513 0005 //--2 However, this causes another bug in 3-4 battle mode
- D03B03D2 0002 //--2 where the music of the track that's either
- 813B03D2 0000 //--2 Big Donut/Skyscraper
- D00DC52F 0003 //--2 or Block Fort/Double Deck
- D00DC513 0005 //--2 continues playing even on battle results screen
- D13B03C4 0002 //--2 which is supposed to be muted, this fixes that.
- 813B03C4 0000 //--2 FIX BATTLE MODE MUSIC BUG ON 3 AND 4 PLAYER MODES--
- D00DC533 0003 //--3 FIX STAR JINGLE WHEN A PLAYER USES A STAR ON 3-4 MULTIPLAYER--
- D10EA10C 0000 //--3 By default on 1 and 2 Player Modes the Star Jingle which is the music you hear
- D10EA10E 0000 //--3 when you use a Star it mutes the main track music but since on 3-4 Multiplayer
- 800EA164 0000 //--3 there isn't any music this function doesn't exist so both things play at the same
- D00DC52F 0003 //--3 time when MP Music is enabled, this code mimicks the behavior the Star Jingle mutes
- D00DC513 0003 //--3 the main track music when any player uses a star, but you won't hear the Star Jingle on
- D00EA164 0001 //--3 Multiplayer 3-4 when pausing the game as this is the default behavior in the original game
- 803B1510 00E5 //--3 even thought it is technically possible to make the Star Jingle sound when pausing the game
- D03B1510 00E1 //--3 throught the master music address, it overlaps with the star jingle and gets out of sync
- 803B1510 00C4 //--3 it would be just easier to find the address that mutes the game when paused and nop it
- comment line //--3 FIX STAR JINGLE WHEN A PLAYER USES A STAR ON 3-4 MULTIPLAYER--
- comment line //--4 FIX FINAL LAP JINGLE AND ADD FINAL LAP MUSIC TO 3-4 MULTIPLAYER--
- D00DC52F 0003 //asks if game is set to 3-4 players and they are currently playing
- D00DC513 0005 //asks if the game has finished
- D13B03C4 0002 //asks if the battle BGM is playing
- 813B03C4 0000 //Fix Block Fort / Double Deck bug not muting on 3-4 battle results screen
- D00DC52F 0003 //Ask if game is set to 3P or 4P Mode and currently racing
- D018FC08 0001 //Ask if any player has reached the final lap
- D03B15FE 0000 //Ask if mute execution bit is 0
- 81193348 C150 //Select sound test mode
- D00DC52F 0003 //Ask if game is set to 3P or 4P Mode and currently racing
- D018FC08 0001 //Ask if any player has reached the final lap
- D03B15FE 0000 //Ask if mute execution bit is 0
- 8019334B 000C //Select Final Lap Jingle
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D10E9EAE 0000 //Ask if progressive countup has not started
- D019334B 000C //Ask if final lap jingle started
- 810E9EAE 0263 //start progressive countup for final lap jingle (default tempo, 3p)
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D10E9EAE 0000 //Ask if progressive countup has not started
- D019334B 000C //Ask if final lap jingle started
- 810E9EAE 0279 //start progressive countup for final lap jingle (default tempo, 4p)
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D10E9EAE 0263 //Ask if progressive countup has reached the specified value
- D03B15FE 0000 //Ask if mute execution bit is off
- 8019335D 0001 //Play Music
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D10E9EAE 0279 //Ask if progressive countup has reached the specified value
- D03B15FE 0000 //Ask if mute execution bit is off
- 8019335D 0001 //Play Music
- D00DC53B 0003 //Check if game is set to Three Player Mode
- D00DC53F 0002 //Ask if game is set to VS mode
- D10E9EAE 0263 //Ask if progressive countup has started
- 803B15FE 0001 //Set Mute Execution Bit to 1
- D00DC53B 0004 //Check if game is set to Four Player Mode
- D00DC53F 0002 //Ask if game is set to VS mode
- D10E9EAE 0279 //Ask if progressive countup has started
- 803B15FE 0001 //Set Mute Execution Bit to 1
- D13AFE02 1A10 //Ask if course music is 3 Raceways or Wario Stadium
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0003 //Select Raceway/Stadium Music
- D13AFE02 1CA0 //Ask if course music is Moo Moo Farm or Yoshi Valley
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0004 //Select Farm/Valley Music
- D13AFE02 1EE0 //Ask if course music is Koopa Troopa Beach
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0006 //Select Beach Music
- D13AFE02 1AE0 //Ask if course music is Kalimari Desert
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 000A //Select Desert Music
- D13AFE02 1160 //Ask if course music is Toad's Turnpike
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0015 //Select Turnpike Music
- D13AFE02 23D0 //Ask if course music is Frappe Snowland or Sherbet Land
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0008 //Select Frappe/Sherbet Music
- D13AFE02 1F70 //Ask if course music is Choco Mountain, Block Fort or Double Deck
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0005 //Select Battle Music 2
- D13AFE02 1800 //Ask if course music is Bowser Castle
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0009 //Select Castle Music
- D13AFE02 06C0 //Ask if course music is D.K.'s Jungle Park
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0013 //Select Jungle Music
- D13AFE02 16D0 //Ask if course music is Banshee Boardwalk
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0007 //Select Boardwalk Music
- D13AFE02 32F0 //Ask if course music is Rainbow Road
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0012 //Select Rainbow Road
- D13AFE02 16E0 //Ask if course music is Big Donut or Skyscraper
- D00DC513 0003 //Ask if race has not finished
- D10E9EAE 02A0 //Ask if progressive countup has started
- 8019334B 0005 //Select Battle Music 1
- D00DC52F 0003 //Ask if game is set to 3P or 4P Mode and currently racing
- D00DC513 0003 //Ask if race is not finished
- D10E9EAE 02B9 //Ask if progressive countup has reached the specified value
- 8019335D 0001 //Play Music
- D00DC53F 0002 //Ask if game is set to VS mode
- D10E9EAE 02BB //Ask if progressive countup has almost finished
- 811930E6 307D //Set final lap music on 3P and 4P player modes
- D10E9EAE 02BC //asks if progressive countup finished
- D11930E6 307D //Ask if final lap music has started
- 811930E6 0000 //Prevent final lap music from running faster than intended
- D018FC08 0000 //Ask if the race actually finished
- D03B15FE 0001 //Ask if mute execution bit is 1
- 803B15FE 0000 //Set Mute Execution Bit to 0
- comment line //--4 FIX FINAL LAP JINGLE AND ADD FINAL LAP MUSIC TO 3-4 MULTIPLAYER--
- D00DC53B 0004 //--5 PLAY RESULTS SCREEN MUSIC AFTER ANY PLAYER FINISHES THE RACE ON 4P MODE--
- D00DC513 0004 //--5
- 81193348 C151 //--5 By default when playing Vs Races on 4 player mode, the results screen music
- D00DC53B 0004 //--5 doesn't play until every player finishes the race, as opposed to 2 and 3 player
- D00DC513 0004 //--5 modes where it would play as soon as the first player finishes the race
- 8019334B 0017 //--5 this code makes it so the results screen music plays on 4P Mode after any player
- D00DC53B 0004 //--5 finishes the race, mimicking the same behavior as results screen music on 3-Player mode
- D03B040D 0003 //--5
- 8019335D 0001 //--5 PLAY RESULTS SCREEN MUSIC AFTER ANY PLAYER FINISHES THE RACE ON 4P MODE--
- Player 1 is CPU controlled with bugfixes: (auto selects Mario)
- 81196500 FF01 //Trick N64 into thinking controller 1 is plugged in
- 81196502 0401
- 81196504 0000 //Ensure button and control stick activators default to 0000
- 81196506 0000
- 8018EDE4 0001 //01-Mario, 02-Luigi, 03-Peach, 04-Toad, 05-Yoshi, 06-DK, 07-Wario, 08-Bowser
- 8018EDE8 0001 //01 selects Mario, change value in the above line to select a different character
- D00F6990 00C0 //Check if Player 1 State is Human
- 800F6990 00D0 //Will give control to D0 AI
- D20DC513 0005 //Asks if game is not on results screen
- D00F719B 0003 //Check if Player 1 state is "WHIRRRR"
- 800F6990 00C0 //Switch to C0 to avoid "CRASH"
- D02BA290 0011 //If RNG == 11
- 80196504 0020 //Set button activator 1 to Z
- D02BA290 0012 //If RNG == 12
- 80196504 0020 //Set button activator 1 to Z
- D02BA290 0013 //If RNG == 13
- 80196504 0020 //Set button activator 1 to Z
- D0165F8A 000F //If Player 1 item = gold shroom (1P-2P Modes)
- 80196504 0020 //Activate machine gun
- D016614A 000F //If Player 1 item = gold shroom (3P-4P Modes)
- 80196504 0020 //Activate machine gun
- Player 2 is CPU controlled with bugfixes: (auto selects Luigi)
- 81196508 FF01 //Trick N64 into thinking controller 2 is plugged in
- 8119650A 0401 //Player 2 controlled by CPU
- 8119650C 0000 //Ensure button and control stick activators default to 0000
- 8119650E 0000
- D20DC533 0000 //asks if game is not set to 1 Player Mode
- 8018EDE5 0002 //01-Mario, 02-Luigi, 03-Peach, 04-Toad, 05-Yoshi, 06-DK, 07-Wario, 08-Bowser
- 8018EDE9 0001 //02 selects Luigi, change value in the above line to select a different character
- D20F7F73 0003 //Check if Player 2 state is not "WHIRRRR"
- D00F7768 00C0 //Check if Player 2 State is C0
- 800F7768 00D0 //Will give control to D0 AI
- D20DC513 0005 //Asks if game is not on results screen
- D00F7F73 0003 //Check if Player 2 state is "WHIRRRR"
- 800F7768 00C0 //Switch to C0 to avoid "CRASH"
- D02BA290 0021 //If RNG == 21
- 8019650C 0020 //Set button activator 1 to Z
- D02BA290 0022 //If RNG == 22
- 8019650C 0020 //Set button activator 1 to Z
- D02BA290 0023 //If RNG == 23
- 8019650C 0020 //Set button activator 1 to Z
- D016606A 000F //If Player 2 item = gold shroom (2P Mode)
- 8019650C 0020 //Activate machine gun
- D016622A 000F //If Player 2 item = gold shroom (3P-4P Modes)
- 8019650C 0020 //Activate machine gun
- Player 3 is CPU controlled with bugfixes: (auto selects Peach)
- 81196510 FF01 //Player3
- 81196512 0401
- 81196514 0000
- 81196516 0000
- D00DC533 0003 //asks if game is set to 3 or 4 Player Mode
- 8018EDE6 0003 //01-Mario, 02-Luigi, 03-Peach, 04-Toad, 05-Yoshi, 06-DK, 07-Wario, 08-Bowser
- 8018EDEA 0001 //03 selects Peach, change value in the above line to select a different character
- D20F8D4B 0003 //Check if Player 3 state is not "WHIRRRR"
- D00F8540 00C0 //Check if Player 3 is Human
- 800F8540 00D0 //Will give control to D0 AI
- D20DC513 0005 //Asks if game is not on results screen
- D00F8D4B 0003 //Check if Player 3 state is "WHIRRRR"
- 800F8540 00C0 //Switch to C0 to avoid "CRASH"
- D02BA290 0031
- 80196514 0020
- D02BA290 0032
- 80196514 0020
- D02BA290 0033
- 80196514 0020 //Player3
- D016630A 000F //If Player 3 item = gold shroom
- 80196514 0020 //Activate machine gun
- Player 4 is CPU controlled with bugfixes: (auto selects Toad)
- 81196518 FF01 //Player4
- 8119651A 0401
- 8119651C 0000
- 8119651E 0000
- D00DC53B 0004 //asks if game is set to 4 Player Mode
- 8018EDE7 0005 //01-Mario, 02-Luigi, 03-Peach, 04-Toad, 05-Yoshi, 06-DK, 07-Wario, 08-Bowser
- 8018EDEB 0001 //04 selects Toad, change value in the above line to select a different character
- D20F9B23 0003 //Check if Player 4 state is not "WHIRRRR"
- D00F9318 00C0 //Check if Player 4 State is Human
- 800F9318 00D0 //Will give control to D0 AI
- D20DC513 0005 //Asks if game is not on results screen
- D00F9B23 0003 //Check if Player 4 state is "WHIRRRR"
- 800F9318 00C0 //Give control to human player to avoid "CRASH"
- D02BA290 0041
- 8019651C 0020
- D02BA290 0042
- 8019651C 0020
- D02BA290 0043
- 8019651C 0020 //Player4
- D01663EA 000F //If Player 4 item = gold shroom
- 8019651C 0020 //Activate machine gun
- Speed hack for Player 1 D0 AI (works on console)
- D00E49C3 0015 //Check if Lakitu is rescuing Player 1
- 800F6990 00C0 //Give control to C0
- D30F6A2C 0000 //Check if Player 1 is moving
- D00E49C3 0012 //Check if Lakitu is not rescuing Player 1
- D00E9F24 0000 //Check if Player 1 isn't shrunk
- D00F6990 00D0 //Check if Player 1 State is D0
- D00F719B 0000 //Check if Player isn't hit by anything else
- 810F6A2C 43B2 //Increase Accel Player 1 modify this value to give the speed you desire to the CPU
- D10F6A2C 43B2 //Check if Player 1 has Max Accel modify this value to give the speed you desire to the CPU
- 810F6BA4 43B2 //Max Speed Player 1 modify this value to give the speed you desire to the CPU
- D00F6A4E 0008 //Check if Player 1 state is banana slipping
- D00F6A4F 0000 //Check if Player 1 substate is OK
- 800F6A4F 0001 //Player 1 will banana cancel whenever is possible
- D20F6A4E 0008 //Check if Player 1 state is not banana slipping
- D00F6A4F 0001 //Check if brake is being pressed
- 800F6A4F 0000 //Release brake
- Speed hack for Player 2 D0 AI (works on console)
- D00E4AC3 0015 //Check if Lakitu is rescuing Player 2
- 800F7768 00C0 //Give control to C0
- D30F7804 0000 //Check if Player 2 is moving
- D00E4AC3 0012 //Check if Lakitu is not rescuing Player 2
- D00E9F25 0000 //Check if Player 2 isn't shrunk
- D00F7768 00D0 //Check if Player 2 State is D0
- D00F799F 0000 //Check if Player isn't hit by anything else
- 810F7804 43B2 //Increase Accel Player 2 modify this value to give the speed you desire to the CPU
- D10F7804 43B2 //Check if Player 2 has Max Accel modify this value to give the speed you desire to the CPU
- 810F797C 43B2 //Max Speed Player 2 modify this value to give the speed you desire to the CPU
- D00F7826 0008 //Check if Player 2 state is banana slipping
- D00F7827 0000 //Check if Player 2 substate is OK
- 800F7827 0001 //Player 2 will banana cancel whenever is possible
- D20F7826 0008 //Check if Player 2 state is not banana slipping
- D00F7827 0001 //Check if brake is being pressed
- 800F7827 0000 //Release brake
- Speed hack for Player 3 D0 AI (works on console)
- D00E4BC3 0015 //Check if Lakitu is rescuing Player 3
- 800F8540 00C0 //Give control to C0
- D30F85DC 0000 //Check if Player 3 is moving
- D00E4BC3 0012 //Check if Lakitu is not rescuing Player 3
- D00E9F26 0000 //Check if Player 3 isn't shrunk
- D00F8540 00D0 //Check if Player 3 is D0
- D00F8777 0000 //Check if Player 3 isn't hit by anything else
- 810F85DC 43B3 //Increase Accel Player 3 modify this value to give the speed you desire to the CPU
- D10F85DC 43B3 //Check if Player 3 has Max Accel
- 810F8754 43B3 //Max Speed Player 3 modify this value to give the speed you desire to the CPU
- D00F85FE 0008 //Check if Player 3 state is banana slipping
- D00F85FF 0000 //Check if Player 3 substate is OK
- 800F85FF 0001 //Player 3 will banana cancel whenever is possible
- D20F85FE 0008 //Check if Player 3 state is not banana slipping
- D00F85FF 0001 //Check if brake is being pressed
- 800F85FF 0000 //Release brake
- Speed hack for Player 4 D0 AI (works on console)
- D00E4CC3 0015 //Check if Lakitu is rescuing Player 4
- 800F9318 00C0 //Give control to C0
- D30F93B4 0000 //Check if Player 4 is moving
- D00E4CC3 0012 //Check if Lakitu is not rescuing Player 4
- D00E9F27 0000 //Check if Player 4 isn't shrunk
- D00F9318 00D0 //Check if Player 4 State is D0
- D00F954F 0000 //Check if Player isn't hit by anything else
- 810F93B4 43B4 //Increase Accel Player 4 modify this value to give the speed you desire to the CPU
- D10F93B4 43B4 //Check if Player 4 has Max Accel modify this value to give the speed you desire to the CPU
- 810F952C 43B4 //Max Speed Player 4 modify this value to give the speed you desire to the CPU
- D00F93D6 0008 //Check if Player 4 state is banana slipping
- D00F93D7 0000 //Check if Player 4 substate is OK
- 800F93D7 0001 //Player 4 will banana cancel whenever is possible
- D20F93D6 0008 //Check if Player 4 state is not banana slipping
- D00F93D7 0001 //Check if brake is being pressed
- 800F93D7 0000 //Release brake
- Note: this disables their ability to banana cancel due to permanent acceleration, so I had to add another lines to manual banana cancel.
- caveat: sometimes the CPU will spinout after being rescued by Lakitu due to permanent instant acceleration under very specific and rare circumstances. I did the code that way because it works on console, so it should work on emulator too!
- It is also possible to make the CPU invincible to anything by zeroing the value that processes its player state, that way it will never slip, crash, get bumped and won't lose speed, except when its being rescued by Lakitu.
- Force the CPU to only use items from item boxes: This makes it so the CPU only uses the items they get from item boxes, currently only the D0 AI is able of using items they get from item boxes just like human players would do, but for some reason the code doesn't work properly on Project64 and Mupen64Plus, if anybody knows how to fix this let me know. This also disables the Grand Prix CPU so they will never use items, so use only on VS Mode if the emulator supports the RNG memory address which would be 802BA290
- Mario Kart 64 NO items race
- //item boxes don’t pick up items (for human player) by Rusty
- 8107AC60 2400
- //computers don’t use items by Parasyte
- 8101ACF0 1000
- Here is also version two which lets the CPU cheat only on Toad's Turnpike, as the AI naturally never get items on that track.
- D20DC5A1 000A //Ask if Toad's Turnpike is not selected
- 8101ACF0 1000 //CPU never uses auto items
- D00DC5A1 000A //Ask if Toad's Turnpike is selected
- D101ACF0 1000 //Ask if "CPU never uses auto items" value is active
- 8101ACF0 1420 //Set default value so CPU will use auto items only on Toad's Turnpike
- The RNG memory address: 802BA290
- The 1 byte version RNG activation code triggers a random event about once every 10 seconds:
- D02BA290 00??
- 8??????? ????
- The 2 byte version RNG activation code triggers a random event about 1-2 times per hour:
- D12BA290 ????
- 8??????? ????
- All Cups Tour: (skips first three Trophy celebrations and Ending Credits so you get a single 16-track Cup much like MKDD)
- 8128E3C6 000F
- You will also need this if you're playing All Cup Tours:
- Players GP scores don't overflow over 99 points
- D018D9C8 0064
- 8018D9C8 0063
- D018D9C9 0064
- 8018D9C9 0063
- D018D9CA 0064
- 8018D9CA 0063
- D018D9CB 0064
- 8018D9CB 0063
- D018D9CC 0064
- 8018D9CC 0063
- D018D9CD 0064
- 8018D9CD 0063
- D018D9CE 0064
- 8018D9CE 0063
- D018D9CF 0064
- 8018D9CF 0063
- SNES Rainbow Road, but N64:
- 8002E000 0045 //Rainbow Road Has No Walls
- 8002E058 0045 //Rainbow Road Has No Walls
- D00DC5A1 000D //Rainbow Road Has No Walls
- 8002E000 0010 //Rainbow Road Has No Walls
- D00DC5A1 000D //Rainbow Road Has No Walls
- 8002E058 0010 //Rainbow Road Has No Walls
- Better AI:
- 81163344 FFFF //Hard Mode (All computers annoy you)
- 80163349 0008 //Super AI
- 8016334A 0008 //Super AI
- Combine with Better AI for a more challenging Grand Prix:
- 8101AB9C 2402 //CPUs can use Green Shells
- 8101AB9E 0004 //CPUs can use Green Shells
- 8015F6FF 0000 //Allow An Infinite Amount Of "Roaming" Green Shells Anywhere
- Prevent people from messing up with the music by randomly pressing L:
- 800DC5A9 0004 //L Button Doesn't Affect Music Level
- Always show racers positions on 3-Player VS: (is off on 3P Races by default which annoys me)
- D00DC53B 0003 //Check if VS mode is set to 3 players
- D00DC53F 0002 //Check if game mode is set to VS
- 811657F0 0100 //Always show Player HUD on 3-Player VS
- Notes about some game-mode specific values:
- 0DC50F 0000 //04 is race, 00-03 exit/not playing, clears value after exiting
- 0DC513 0000 //03 is current race, 04 1 player finished, 05 results screen
- 0DC527 0000 //04 is race, 00-03 exit/not playing, also clears value after exiting.
- 0DC52F 0003 //indicate its 3-4 player mode, 52f clears its value upon exiting game mode
- 0DC533 0000 //00 1P, 01 2P, 03 3-4 player mode, retains value after exiting game mode
- 0DC53B 0000 //01 1P, 02 2P 03 3P, 04 4P
- 0DC53F 0000 //00 GP, 01 TT, 02 VS, 03 battle mode
- 0DC54B 0000 //00 50cc, 01 100cc, 02 150cc, 03 mirror
- 18FC08 0000 //Final lap counter, sets to 01 when any player reaches the final lap, retains value until race is restarted.
- Controller Port Statuses (0F6990, 0F7768, 0F8540, 0F9318) 1P,2P,3P,4P
- 3000: not connected or not playing (race mode)
- 6000: not connected or not playing (battle mode)
- 7000: Player turned into a bomb and exploded
- 9000: Trophy Celebration
- C010: Human is playing/Winner of Battle Mode
- D010 (Last player behind, did not finish the race), Demo/Regular/Loser AI
- C810: Player is turning into a bomb
- C850: Player is a bomb (Note any value between CX40 and CX70 will turn the player into a bomb)
- D810 Player is the winner, or finished the race not dead last
- D850 (???)
- E000: Grand Prix opening cutscene
- F000: Demo Mode, before the race starts
- Player GP Scores are stored in these addresses:
- 18D9C8 Mario
- 18D9C9 Luigi
- 18D9CA Yoshi
- 18D9CB Toad
- 18D9CC DK
- 18D9CD Wario
- 18D9CE Peach
- 18D9CF Bowser
- More useful Gameshark codes: https://github.com/kfkaplan/nintendo64_hacking/wiki/Mario-Kart-64-Gameshark-Codes
Advertisement
Add Comment
Please, Sign In to add comment