ROM Hack N64 Online - Mod Discussion

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
4,375
Trophies
1
Location
California
XP
4,640
Country
United States
hi guys, does anyone have cheats for starfox 64?
Forgot who did these

[Unlimited Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000063

[Left Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D13
610F0000 00000000 0000003C

[Right Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D2B
610F0000 00000000 0000003C

[Nova Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000004

[inf blue lazers]
580F0000 005D20C0
780F0000 00161AAB
610F0000 00000000 00000002

[Lives]
580F0000 005D20C0
780F0000 00161AA1
610F0000 00000000 00000009

[ship at full health]
580F0000 005D20C0
400C0000 00000000 0013C637
610C01F0 00000000 000000FF
400C0000 00000000 0013F517
610C01F0 00000000 000000FF

[teammates full health]
580F0000 005D20C0
780F0000 001778B4
640F1000 00000000 FF000000
640F1000 00000000 FF000000
640F0000 00000000 FF000000

[boost]
580F0000 005D20C0
400C0000 00000000 0013C68C
620C01F0 00000000 00000000
400C0000 00000000 0013F56C
620C01F0 00000000 00000000

[fly thur almost everything]
580F0000 005D20C0
400C0000 00000000 0013C86A
610C01F0 00000000 00000002
400C0000 00000000 0013F74A
610C01F0 00000000 00000002

[wings]
580F0000 005D20C0
400C0000 00000000 00177D13
610C01F0 00000000 0000003C
400C0000 00000000 00177D28
610C01F0 00000000 0000003C

[reflector on]
580F0000 005D20C0
400C0000 00000000 0013C5AF
610C01F0 00000000 000000B4
400C0000 00000000 0013F533
610C01F0 00000000 000000B4
 

skazi

Member
Newcomer
Joined
Dec 7, 2020
Messages
11
Trophies
0
Age
32
XP
40
Country
Mexico
Forgot who did these

[Unlimited Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000063

[Left Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D13
610F0000 00000000 0000003C

[Right Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D2B
610F0000 00000000 0000003C

[Nova Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000004

[inf blue lazers]
580F0000 005D20C0
780F0000 00161AAB
610F0000 00000000 00000002

[Lives]
580F0000 005D20C0
780F0000 00161AA1
610F0000 00000000 00000009

[ship at full health]
580F0000 005D20C0
400C0000 00000000 0013C637
610C01F0 00000000 000000FF
400C0000 00000000 0013F517
610C01F0 00000000 000000FF

[teammates full health]
580F0000 005D20C0
780F0000 001778B4
640F1000 00000000 FF000000
640F1000 00000000 FF000000
640F0000 00000000 FF000000

[boost]
580F0000 005D20C0
400C0000 00000000 0013C68C
620C01F0 00000000 00000000
400C0000 00000000 0013F56C
620C01F0 00000000 00000000

[fly thur almost everything]
580F0000 005D20C0
400C0000 00000000 0013C86A
610C01F0 00000000 00000002
400C0000 00000000 0013F74A
610C01F0 00000000 00000002

[wings]
580F0000 005D20C0
400C0000 00000000 00177D13
610C01F0 00000000 0000003C
400C0000 00000000 00177D28
610C01F0 00000000 0000003C

[reflector on]
580F0000 005D20C0
400C0000 00000000 0013C5AF
610C01F0 00000000 000000B4
400C0000 00000000 0013F533
610C01F0 00000000 000000B4
Thank you
 
  • Like
Reactions: Smoker1

invisiblekid0

Member
Newcomer
Joined
Oct 28, 2021
Messages
10
Trophies
0
Age
27
XP
54
Country
Spain
Link's expired, got a new one?

Forgot who did these

[Unlimited Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000063

[Left Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D13
610F0000 00000000 0000003C

[Right Wing Never Breaks]
580F0000 005D20C0
780F0000 00177D2B
610F0000 00000000 0000003C

[Nova Bombs]
580F0000 005D20C0
780F0000 00177DA3
610F0000 00000000 00000004

[inf blue lazers]
580F0000 005D20C0
780F0000 00161AAB
610F0000 00000000 00000002

[Lives]
580F0000 005D20C0
780F0000 00161AA1
610F0000 00000000 00000009

[ship at full health]
580F0000 005D20C0
400C0000 00000000 0013C637
610C01F0 00000000 000000FF
400C0000 00000000 0013F517
610C01F0 00000000 000000FF

[teammates full health]
580F0000 005D20C0
780F0000 001778B4
640F1000 00000000 FF000000
640F1000 00000000 FF000000
640F0000 00000000 FF000000

[boost]
580F0000 005D20C0
400C0000 00000000 0013C68C
620C01F0 00000000 00000000
400C0000 00000000 0013F56C
620C01F0 00000000 00000000

[fly thur almost everything]
580F0000 005D20C0
400C0000 00000000 0013C86A
610C01F0 00000000 00000002
400C0000 00000000 0013F74A
610C01F0 00000000 00000002

[wings]
580F0000 005D20C0
400C0000 00000000 00177D13
610C01F0 00000000 0000003C
400C0000 00000000 00177D28
610C01F0 00000000 0000003C

[reflector on]
580F0000 005D20C0
400C0000 00000000 0013C5AF
610C01F0 00000000 000000B4
400C0000 00000000 0013F533
610C01F0 00000000 000000B4
how i can put the cheats on the emulator? I did not know that n64 switch online had support for cheats lol
 

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
379
Trophies
0
Age
43
XP
1,887
Country
Brazil
The decompiled displayresolutionmanager.lua file is as below.

Does anyone know what should be modified so that the game is stretched to 16:9 without affecting the GUI with the Games skins?

I tried to change 1920 to 1440 and 1280 to 960, the game stretches but the GUI is also changed getting the height smaller than it should.


DisplayResolutionManager.start = function(l_1_0)
-- function num : 0_0
local l_1_1 = assert
l_1_1(DisplayResolutionManager.instance == nil)
l_1_1 = DisplayResolutionManager
l_1_1.instance = l_1_0
l_1_0.resolutionChangeListeners, l_1_1 = l_1_1, {}
l_1_1 = System
if l_1_1 then
do
l_1_1 = System
l_1_1 = l_1_1.getCurrentDisplayResolution
if l_1_1 then
l_1_1 = System
l_1_1 = l_1_1.getCurrentDisplayResolution
l_1_1 = l_1_1()
local l_1_4 = nil
l_1_0:changeResolutionMode(l_1_1, l_1_4)
;
(System.setCurrentDisplayResolutionChangeHandler)(function(l_2_0, l_2_1)
-- function num : 0_0_0 , upvalues : l_1_0
l_1_0:changeResolutionMode(l_2_0, l_2_1)
end
)
else
l_1_0.resolutionMode = "1080p"
l_1_0.screenWidth = 1920
l_1_0.screenHeight = 1080
end
end
end

DisplayResolutionManager.stop = function(l_2_0)
-- function num : 0_1
if System and System.setCurrentDisplayResolutionChangeHandler then
(System.setCurrentDisplayResolutionChangeHandler)(nil)
end

DisplayResolutionManager.instance = nil
end

DisplayResolutionManager.registerResolutionChangeListener = function(l_3_0, l_3_1)
-- function num : 0_2

(l_3_0.resolutionChangeListeners)[l_3_1] = l_3_1
end

DisplayResolutionManager.unregisterResolutionChangeListener = function(l_4_0, l_4_1)
-- function num : 0_3

(l_4_0.resolutionChangeListeners)[l_4_1] = nil
end

DisplayResolutionManager.changeResolutionMode = function(l_5_0, l_5_1, l_5_2)
-- function num : 0_4
if l_5_1 == 1920 and l_5_2 == 1080 then
l_5_0.resolutionMode = "1080p"
l_5_0.screenWidth = 1920
l_5_0.screenHeight = 1080
else
l_5_0.resolutionMode = "720p"
l_5_0.screenWidth = 1280
l_5_0.screenHeight = 720
end
;
(l_5_0.mainDisplay):setSize(l_5_0.screenWidth, l_5_0.screenHeight)
;
(l_5_0.mainView):setContentSize(l_5_0.screenWidth, l_5_0.screenHeight)
for l_5_6 in pairs(l_5_0.resolutionChangeListeners) do
l_5_6:onDisplayResolutionChanged()
end
end

DisplayResolutionManager.getUIScalingRatio = function(l_6_0)
-- function num : 0_5
return l_6_0.screenWidth / 1920
end

DisplayResolutionManager.getEmulatorScalingRatio = function(l_7_0)
-- function num : 0_6
return 1 / l_7_0:getUIScalingRatio()
end
 

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,309
Trophies
0
XP
2,171
Country
Colombia
The decompiled displayresolutionmanager.lua file is as below.

Does anyone know what should be modified so that the game is stretched to 16:9 without affecting the GUI with the Games skins?

I tried to change 1920 to 1440 and 1280 to 960, the game stretches but the GUI is also changed getting the height smaller than it should.


DisplayResolutionManager.start = function(l_1_0)
-- function num : 0_0
local l_1_1 = assert
l_1_1(DisplayResolutionManager.instance == nil)
l_1_1 = DisplayResolutionManager
l_1_1.instance = l_1_0
l_1_0.resolutionChangeListeners, l_1_1 = l_1_1, {}
l_1_1 = System
if l_1_1 then
do
l_1_1 = System
l_1_1 = l_1_1.getCurrentDisplayResolution
if l_1_1 then
l_1_1 = System
l_1_1 = l_1_1.getCurrentDisplayResolution
l_1_1 = l_1_1()
local l_1_4 = nil
l_1_0:changeResolutionMode(l_1_1, l_1_4)
;
(System.setCurrentDisplayResolutionChangeHandler)(function(l_2_0, l_2_1)
-- function num : 0_0_0 , upvalues : l_1_0
l_1_0:changeResolutionMode(l_2_0, l_2_1)
end
)
else
l_1_0.resolutionMode = "1080p"
l_1_0.screenWidth = 1920
l_1_0.screenHeight = 1080
end
end
end

DisplayResolutionManager.stop = function(l_2_0)
-- function num : 0_1
if System and System.setCurrentDisplayResolutionChangeHandler then
(System.setCurrentDisplayResolutionChangeHandler)(nil)
end

DisplayResolutionManager.instance = nil
end

DisplayResolutionManager.registerResolutionChangeListener = function(l_3_0, l_3_1)
-- function num : 0_2

(l_3_0.resolutionChangeListeners)[l_3_1] = l_3_1
end

DisplayResolutionManager.unregisterResolutionChangeListener = function(l_4_0, l_4_1)
-- function num : 0_3

(l_4_0.resolutionChangeListeners)[l_4_1] = nil
end

DisplayResolutionManager.changeResolutionMode = function(l_5_0, l_5_1, l_5_2)
-- function num : 0_4
if l_5_1 == 1920 and l_5_2 == 1080 then
l_5_0.resolutionMode = "1080p"
l_5_0.screenWidth = 1920
l_5_0.screenHeight = 1080
else
l_5_0.resolutionMode = "720p"
l_5_0.screenWidth = 1280
l_5_0.screenHeight = 720
end
;
(l_5_0.mainDisplay):setSize(l_5_0.screenWidth, l_5_0.screenHeight)
;
(l_5_0.mainView):setContentSize(l_5_0.screenWidth, l_5_0.screenHeight)
for l_5_6 in pairs(l_5_0.resolutionChangeListeners) do
l_5_6:onDisplayResolutionChanged()
end
end

DisplayResolutionManager.getUIScalingRatio = function(l_6_0)
-- function num : 0_5
return l_6_0.screenWidth / 1920
end

DisplayResolutionManager.getEmulatorScalingRatio = function(l_7_0)
-- function num : 0_6
return 1 / l_7_0:getUIScalingRatio()
end
It was there that I got the widescreen cheatcode
 

AlanLC

Well-Known Member
Member
Joined
Aug 18, 2014
Messages
379
Trophies
0
Age
43
XP
1,887
Country
Brazil
Code is good but the problem is that every update needs a new code.

To get 16:9 I had changed:

return 1 / l_7_0:getUIScalingRatio() to return 1.3359375 / l_7_0:getUIScalingRatio() but this zooms the image and to decrease the height need to modify another file.
 
Last edited by AlanLC,

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,309
Trophies
0
XP
2,171
Country
Colombia
Maybe I should talk more about it, about what I've done lately in Hovercraft.

One of the main ones is that getting Idles is a piece of cake.

And now to know more about the Nintendo 64 emulator. What has allowed to know how to add tricks and hacking from .lua

The big problem has been the compiled scripts. But I have compiled information on what each thing does

Let's start with the emulator itself. Like other debugging emulators, known as pj64 debugger, you have the RDRAM, the GPR, the COP0, the FPR, etc...

To access them you can use:
n64GPRWriteXX AND n64GPRReadXX It is the General Purpose Registers of the CPU. In a nutshell an ASM Debugger
unknown.png


n64FPRWriteXX AND n64FPRReadXX is this
unknown.png


AND n64CP0ReadXX is this (n64CP0WriteXX not exist)
unknown.png


You can use other parameters that change the .cfg settings while the game is running. Use this:
n64SetParameter("TickPerInst", 8)

There is a limit of parameters to use. And no, you can't use "SIDevice_PakType" because it doesn't include it. Here you will find all the parameters.

unknown.png

this is 2.3.0 the green ones are new parameters added


You can also generate conditions to enable cheats.
function FrameBegin()
--menu speed up
n64MemWrite8(0x801DAE8B, 0x02)
if(n64MemRead8(0x8011ACB5) >= 0x05) then --if you have 5 rupees it is true
n64MemWrite32(0x8011AD4F,0x14000000)--Max\Double Defense Power
end
return
end

And of course, the cheatcodes. Use the Python script to convert the cheats to .lua (Thanks to ShushiiZ for the script)
 

Attachments

  • 04753fe0b3f5e4b7.txt
    1 KB · Views: 5
  • GC_to_Lua_all_mem.7z
    786 bytes · Views: 4
  • Like
Reactions: AlanLC

Imancol

Otak Productions
Member
Joined
Jun 29, 2017
Messages
1,309
Trophies
0
XP
2,171
Country
Colombia
Code is good but the problem is that every update needs a new code.

To get 16:9 I had changed:

return 1 / l_7_0:getUIScalingRatio() to return 1.3359375 / l_7_0:getUIScalingRatio() but this zooms the image and to decrease the height need to modify another file.

I've done a bit of garbage

SYS

sysdeviceconfig = About config buttons when Pause game and press X
sysoperationguide = About the configuration buttons when Pause the game and press X

sysgamedetails = Display the game information menu in the Menu by pressing X.

syslabel = Alters the position of the texts, closer (pasted) or farther (lines)

sysdialognewsspecial = New games?

sysingame = Allows you to open the game.

sysloadingscreen = SplashScreen and Menu loading

sysmultisound = Main Menu Sounds

sysnotifier = Push Notifications

syspausemenu = Pause Menu

sysrewind=N64 Hidden Rewind?

syssidemenu = Slider Menu in Game Selection

sysuserinfolist = Show or hide the list of users in the upper left. Also Ping icons and Room Password in online mode.

sysworld = Launch, load and save the Main Menu Launcher and Guides icons and texts.



SYSTEM

appsettings = Manages the name of the instant savepoints folder.

blurmanager = Opacity of the background when opening an overlay

debugmenu = Debugging Options. Deleted...

deviceconfigmanager = Alters control mapping or interface actions?

displayresolutionmanager = Manages the resolution of the interface and the emulator

fontmanager = Manage the interface language?

fsm (unluac) = Manages the management and control of the main interface (Start, load, update and Select items)

inputdevicemanager = Gamepad-Controller Connection Manager

networkevents = Assign numeric ID to internet events

saveslotmanager (unluac) = Manages instant save points (slows down decompiled launcher quite a bit)

scriptorder = Script Order?

statesyncmanager = Sync games?

store = Store Launcher state

systembuttonmanager = I'm not sure what it does. Keep track of the buttons for multiplayer mode?

titlelistmanager = Read and load title list 2/2

titlesdatabase = Read and load the list of titles 1/2




TWEEN

tween.lua (decompiled failure)= Manage all overlays.



SCRIPT

constants_nuse = Change Tweerk color settings (Options Menu). Also connection and player notifications
 
  • Like
Reactions: AlanLC

Fadi5555

Well-Known Member
Member
Joined
Jan 3, 2018
Messages
442
Trophies
0
Age
33
XP
1,760
Country
United States
My dream is to could remapping the buttons in super Mario Galaxy and make the right analog stick like motion to collect starbits.
I hope we can can do that one day.

and Zelda skyward sword hd make an easy switching between fighting and moving camera instead of hold a button.
 
General chit-chat
Help Users
    KenniesNewName @ KenniesNewName: Only penises around here I'm afraid