• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Eliminating Horizontal Underscan

mirrorbender

Smash Rookie
Joined
Dec 16, 2013
Messages
12
Location
Arlington, MA
I spent this past weekend working on this. Here's the code:

Code:
C234FD8C 00000002
7D484378 3908EC00
60000000 00000000
C234FDB8 00000004
7D000378 91010000
39000000 39080050
7C080214 81010000
60000000 00000000
42000000 CC000000
0200204A 000010E3
42000000 80000000
For best results, combine with the Dolphin version of the 16:9 code. Test it out if you are playing Melee on an LCD monitor.

When you output Melee to a screen that does not overscan, it reveals significant black bars on each side of the screen. This code gets rid of these by changing the values loaded into the hardware registers of the Gamecube's video interface. This code increases the display area by 40 "pixels" on each side, and scales the output horizontally to fill this area. The above code works well in my testing using the Sewell Wii2Hdmi converter, as well as with the Wii U. If anyone has any information about what the values loaded into the horizontal scaling register actually represent, let me know.
 
Last edited:
Joined
Oct 10, 2011
Messages
1,126
Location
Boise, ID
NNID
dansalvato
This is great work. Really happy to see this being visited to provide the optimal LCD experience, which will translate to the optimal stream/recording experience. I can probably lend a hand with this at some point.
 

Y-L

Smash Champion
Joined
Jan 16, 2014
Messages
2,436
Location
Ventura, CA
I use Dolphin frequently along side with the 16:9 code, but I'm still not sure what this code does. Could you provide like an image that shows the difference with the code on or off?
 

mirrorbender

Smash Rookie
Joined
Dec 16, 2013
Messages
12
Location
Arlington, MA
This code doesn't do anything in dolphin, as dolphin grabs the image directly from one of the frame buffers, before the video interface creates the analog signal. Here is a simulated image of what the difference looks like on a console.

With code vs Without code:
With code:


Without code:
 
Last edited:

mirrorbender

Smash Rookie
Joined
Dec 16, 2013
Messages
12
Location
Arlington, MA
I think I've worked out how the scaling register works, so I'm going to mark this thread as completed. The best value is 227 (0xE3, second to last line), which scales the width by 256/227. (256/227)*640 = 721.76, which is as close to 720 as you can get using fractions with a numerator of 256. Why it works this way I don't know, but it is consistent with other games that i've tested (namely Twilight Princess)
 

mirrorbender

Smash Rookie
Joined
Dec 16, 2013
Messages
12
Location
Arlington, MA
Update: Nintendont recently added support for manually setting the width of the output (i.e. doing exactly what this code does), so if you use nintendont to load melee, you don't need to use this code anymore, you can just set the width to 720, use the true 16:9 code and it should be beautiful.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Update: Nintendont recently added support for manually setting the width of the output (i.e. doing exactly what this code does), so if you use nintendont to load melee, you don't need to use this code anymore, you can just set the width to 720, use the true 16:9 code and it should be beautiful.
@ Doq Doq How do you update Nintendont? Wii hacking is very unknown to me, like I have no idea what I'm doing.
 
Top Bottom