Stayhye
Senior Member
Fix for Final Fight: Streetwise (NTSC-U)
CLI
LUA
Final fight original, has no sound effects(music only) with aofa emu, but no shaking screen. Rotk v1 emu fixes sound, but introduces judder. Final Fight original will crash if widescreen code is enabled. Streetwise works great. 3 screen mode selector added.
CLI
Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--host-display-mode=16:9
--host-audio-latency=0.50
--ee-cycle-scalar=1.6
--iop-cycle-scalar=1.1
#emu used=aofa no sound
#emu used=rotk v1 sound, but judder
Code:
-- Final Fight: Streetwise (NTSC-U)
-- Widescreen hack by nemesis2000
-- Widescreen Selector by Stayhye
-- emu used=aofa no sound, no judder
-- emu used=rotk v1 sound, but judder
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--unlock Haggar
eeObj.WriteMem32(0x20311BE4,0x00000001)
--unlock Guy
eeObj.WriteMem32(0x20311C00,0x00000001)
--unlock final fight original
eeObj.WriteMem32(0x20311B58,0x00000001)
--Fear Factory--Archetype
eeObj.WriteMem32(0x20311B74,0x00000001)
--Shadows Falls--What Drives The Weak
eeObj.WriteMem32(0x20311B90,0x00000001)
--Shadows Fall--Inspiration On Demand
eeObj.WriteMem32(0x20311BAC,0x00000001)
-- Widescreen Selector
local pad_bits = emuObj.GetPad()
local L1 = pad_bits & 0x0400
local L3 = pad_bits & 0x0002
local R1 = pad_bits & 0x0800
local R3 = pad_bits & 0x0004
if (L1 ~= 0 and R3 ~= 0) then --Normal Screen
--4:3
eeObj.WriteMem32(0x0017f228,0x3c043f35) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x34896042) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf35) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346a6042) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033f80) -- 0x3c033f80 lui v1, $3f80
emuObj.SetDisplayAspectNormal()
end
if (L3 ~= 0 and R1 ~= 0) then --Widescreen Screen
--16:9
eeObj.WriteMem32(0x0017f228,0x3c043f71) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x3489d5a2) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf71) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346ad5a2) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033fab) -- 0x3c033f80 lui v1, $3f80
--No Interlace
eeObj.WriteMem32(0x201014ec,0x00000000) -- 0x64420008
emuObj.SetDisplayAspectWide()
end
if (L3 ~= 0 and R3 ~= 0) then --Full Screen
--Full
eeObj.WriteMem32(0x0017f228,0x3c043f35) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x34896042) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf35) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346a6042) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033f80) -- 0x3c033f80 lui v1, $3f80
emuObj.SetDisplayAspectWide()
end
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Final fight original, has no sound effects(music only) with aofa emu, but no shaking screen. Rotk v1 emu fixes sound, but introduces judder. Final Fight original will crash if widescreen code is enabled. Streetwise works great. 3 screen mode selector added.
Last edited:
(edit: work fine with red dead emu lol)