N64 NSO - SM3DAS | Get All Idle Threads for Nintendo 64 Switch Emulator

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
I share with you some methods that I have been using to get idle threads, required for many of the N64 games to work on the official Nintendo Switch emulator (Hovercraft). It is important to know that even if you have all threads down, the game will not work if you do not have the correct settings or ultimately it never will.

My goal in sharing this is for three reasons:
  • I have noticed that someone is trying to make a profit on this. Very unfortunate.
  • It takes a long time to find all idle threads, test correct settings, and determine if a game will never work. So by sharing this, there will be more people who can collaborate and invest their time and it will increase the chances that a stubborn game will work if I have not managed to do it. But if it is simple to explain and requires a few steps to learn (not as someone else thought).
  • I will take a break or dedicate myself to other things.

How to get the Idles?

With Edizon and use this, just import it as markers and you will get the values.
Download the NSP (SM64 Deluxe)
Download this package and unzip it in the root of your MicroSD (Switch)

Rename your rom (z64):
20_rom.z64
Copy it to this path on your MicroSD (Switch)
"sdcard:\atmosphere\contents\010049900F546001\Romfs\rom\Stardust_JP"

Copy this in the following path:
"sdcard:\atmosphere\contents\010049900F546001\cheats\e96321640d686460.txt"

[Idle ]
04000000 20743A68 80000590
[Idle 1]
04000000 20743B70 80000590
[Idle 1-2]
04000000 20743B78 80000590
[Idle 1 Addr CFG]
04000000 00FF24A8 800005A7
[Idle 1 Inst CFG]
04000000 00FF24AC 00000000
[Idle 2 Addr CFG]
04000000 00FF24B4 8009BF00
[Idle 2 Inst CFG]
04000000 00FF24B8 1440FFFE
[Idle end]
04000000 20743BD8 8009BEFC
[GPR RA]
04000000 20743A68 8009BEF0


Launch SM64 Deluxe. Now if you try to press Minus it won't show the pause menu. Suspend the game and go to Edizon.
2022011613013600.jpg


Cheats should appear. DO NOT ACTIVATE THEM !. Press L on Edizon and then import the cheats as bookmarks pressing +. Press R to display the values in Hexadecimal.

Ready, you already have the Idles :)

Just create a .cfg (with those values and use Pj64Debugger to get "JmpInst"):
10_config.cfg
Copy it to this path on your MicroSD (Switch)
"sdcard:\atmosphere\contents\010049900F546001\Romfs\rom\Stardust_JP"

Update
You can use Zing to keep track of Idles
Convert Decimal to Hex here

2022011613031900.jpg


Test.

There are games that need "ScanlineCalculateMode": "Special". Also the Idle is close (below), it always jumps back.
Some games freeze during gameplay. You can go to Edizon and see the Idle that is pointing
 

Attachments

  • 1637611407750.png
    1637611407750.png
    59 KB · Views: 28
  • 1637611674657.png
    1637611674657.png
    15.5 KB · Views: 33
  • 1637612071836.png
    1637612071836.png
    37.1 KB · Views: 35
  • e96321640d686460.txt
    363 bytes · Views: 4
Last edited by Imancol,

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
358
Trophies
0
Age
43
XP
1,700
Country
Brazil
Any tutorial on how to insert Gameshark codes in ROM? There are some Widescreen codes that don't have ips file.
 

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
Any tutorial on how to insert Gameshark codes in ROM? There are some Widescreen codes that don't have ips file.
There are options that I have not tested. Among them the possibility of using cheats internally:
Cheat1 Cheat: Cheat1_Addr: Cheat1_Bytes: Cheat1_Value:

I'm not sure yet how to use them and in which part of the files to put it, if in .cfg or .lua

Of course this only affects the ROM, you can implement a Widescreen hack for the game. But for the emulator interface you need a patch.
 

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
358
Trophies
0
Age
43
XP
1,700
Country
Brazil
There are options that I have not tested. Among them the possibility of using cheats internally:
Cheat1 Cheat: Cheat1_Addr: Cheat1_Bytes: Cheat1_Value:

I'm not sure yet how to use them and in which part of the files to put it, if in .cfg or .lua

Of course this only affects the ROM, you can implement a Widescreen hack for the game. But for the emulator interface you need a patch.
Did you find this in the Switch Online code or did you get it from the Wii U virtual console? I had tried using these Wii U cheat settings before the my previous post and not work.
 

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
Did you find this in the Switch Online code or did you get it from the Wii U virtual console? I had tried using these Wii U cheat settings before the my previous post and not work.
From the Nintendo 64 emulator on SM3DAS. The version that NSO uses has different functions. Some that seems to be removed or disabled is FBE.

I tried to decompile the N64 emulator from WII U (Wii VC) but failed. If anyone knows how it would be great.
 

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
I had also made an idle debugger. Allows you to detect patterns that match between the address and the command. It is for working with bigdata. Use Google Spreadsheet

Depurador de Idle N64

imageonline-co-merged-image (2).png


You work with directions and commands. All this you take from an ASM record. This can be effective as long as they follow the same pattern.

You take many values separated by commas (Address, Commands) with value 0x8XXXXXXX (there are cases where games host memory in 1, 7 like Conker and GoldenEye).

You can enter up to 1 million addresses (or more) and it will vote for the ones that match (between 5 or 30 the result). I recommend removing duplicates before separating them by commas.
1637880494333.png
 
Last edited by Imancol,
  • Like
Reactions: hippy dave

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
I will be trying all the games in alphabetical order. For now I am in "#" and I find a game with 6 idle threads lol


https://docs.google.com/spreadsheet...cEwwjlAbH0k/edit#gid=1387477243&range=A12:A17

They need to patch the game in PAL with the .bps found in the link.

Not patching it causes you to get stuck in a system hang message. Patching it with another method causes the sound to be heard badly. And patching it with the .bps or PAL causes that the Title Menu cannot be seen, but the rest is playable.

If you see it crashing somewhere, please let me know.


Another thing. The above method for searching for Idle is deprecated (even Pj64 in my spreadsheet). When I finish testing games I will share the new method, and anyone can use it.
 

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
Terminada la lista "#"

Juegos:
1080 TenEighty Snowboarding EUR JP
64 Hanafuda - Tenshi no Yakusoku JP
64 Oozumou JP
64 Oozumou 2 JP
64 Trump Collection - Alice no Wakuwaku Trump World JP
007 - The World Is Not Enough USA EUR
 

Imancol

Otak Productions
OP
Member
Joined
Jun 29, 2017
Messages
1,227
Trophies
0
XP
1,912
Country
Colombia
List "A" Ready:

AeroFighters Assault USA
AeroGauge 1.X JP EUR USA
AeroGauge Demo - Kiosk JP
Aidyn Chronicles - The First Mage 1.X USA EUR
Air Boarder 64 EUR JP
Akumajou Dracula Mokushiroku - Real Action Adventure JP
Akumajou Dracula Mokushiroku Gaiden - Legend of Cornell JP
All Star Tennis '99 EUR USA
Army Men - Air Combat USA
Army Men - Sarge's Heroes EUR USA
Army Men - Sarge's Heroes 2 USA
Asteroids Hyper 64 USA
Automobili Lamborghini EUR USA

 
General chit-chat
Help Users
  • No one is chatting at the moment.
    The Real Jdbye @ The Real Jdbye: @Julie_Pilgrim and they don't wear out, so you never need to replace them, they don't take up...