News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Widescreen SNES needs hackers  (Read 1030 times)

bansheexyz

  • Newbie
  • *
  • Posts: 1
    • View Profile
Widescreen SNES needs hackers
« on: May 16, 2019, 01:50:27 am »
A fork of bsnes called bsnes-hd by DerKoun has conceptually shown that widescreen output for SNES titles is possible. You can see some examples of play in this mode here:

https://www.youtube.com/watch?v=G9D-dDANHkU
https://www.youtube.com/watch?v=-moxxEjz5x4
https://www.youtube.com/watch?v=Ss49vVbULOQ
https://www.youtube.com/watch?v=pmAOPvHEhSE

As you can see, that extra viewing distance on the sides makes games quite a bit more immersive as it expands the viewable world (though it may make some platformers easier). I personally think the 21:9 ratio is best, you're practically doubling the view distance. Mario Kart turns into Ben Hur. :laugh:

Unfortunately, it's not so easy. Each game will need to be modified at load time to behave as it should with this extra output area. byuu has stated that he wants to adopt the feature and ship the emulator with patches for each title as people make them. The patches would be soft-applied at load-time. This would make the feature built-in and take out the legwork of finding patches and altering roms. But we need hackers to make these patches, and it could take months per title.

DerKoun

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Widescreen SNES needs hackers
« Reply #1 on: May 16, 2019, 07:24:27 pm »
I have only thought this through roughly, but I'll add some technical details and then answer questions as they arise (if I can):

The amount of additional pixels that can be utilized is 64 by side [(512-256-64*2)/2], resulting in 16:9. (more is possible if there are only smaller sprites)
Using coordinates in that areas should not break support on other emulators or hardware AFAIK, as it only uses the existing coordinate space.

see https://www.reddit.com/r/emulation/comments/bmc9t9/bsneshd_beta_5_bsnes_1073_formally_hd_mode_7_mod/ for the emulator

I really hope some people here are interested and can put together some proof of concept.

Mauron

  • Sr. Member
  • ****
  • Posts: 488
    • View Profile
Re: Widescreen SNES needs hackers
« Reply #2 on: May 17, 2019, 12:21:46 am »
I'm interested in tackling Chrono Trigger once more details are available.
Mauron wuz here.

DerKoun

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Widescreen SNES needs hackers
« Reply #3 on: May 17, 2019, 05:54:00 pm »
Great. I've put together the basic information about objects in widescreen:

Please point out any mistakes, many people here will know much more than me about the details of the SNES' inner workings.
I'll focus objects/sprites this time as this, as ROM-hacks to avoid pop-in/out are the most requested thing in this context.

Objects are up to 64 pixels wide.
For their x coordinates we have a 9 bit unsigned integer,
i.e. values from 0 to 511.
0 to 255 are the visible columns of the screen.
To be able to have objects start off the left side and extend into the screen, the values wrap,
i.e. 449 to 511 is treated as -63 to -1.
256 to 448 place objects outside of the visible area.

For widescreen 16:9 we add 64 pixels to each side.
So the visible columns of the (wide) screen are now -64 to 319,
or technically 448 to 511 and 0 to 319.
So with objects partially off screen to the left the minimal coordinate with visible content is -127 aka 385.

Using that coordinate space you can place objects in the widescreen area quite similar to placing them in the normal screen area.
Please let me know if I forgot anything important or if there are any questions.

vince94

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
Re: Widescreen SNES needs hackers
« Reply #4 on: May 17, 2019, 06:42:04 pm »
I tried it on an EarthBound hack I'm working on, and it's especially bad with map tiles. I wonder if anything can be done to the game to make this not happen https://youtu.be/KuhDIfS9sQw

slidelljohn

  • Full Member
  • ***
  • Posts: 249
    • View Profile
Re: Widescreen SNES needs hackers
« Reply #5 on: May 18, 2019, 02:10:40 pm »
@DerKoun
We need a debugger that supports this feature.
Is there a debugger? If not, I recommend trying to
add this feature to the bsnes plus vram expand
branch that added support for the 128kb of vram.
With double the screen and double the vram we
could make some really nice looking hacks. I
already created a fully working 128kb vram hack
for mmx1 and I would like to add the extra screen
space to it to see how it plays.

Is it possible for this to work on original hardware?