[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games

Search:


View post   

>> No.2346803 [View]
File: 11 KB, 400x300, smw.png [View same] [iqdb] [saucenao] [google]
2346803

I made a similar thread about this months ago with a technical demonstration but it got deleted quickly. Hrm.

But anyway, yeah it would be possible, but kinda hard. There's no single solution and it would have to work with game-by-game basis. Example: SMW.

1. Construct a special emulator or write a plugin (or a lua script maybe?) that constantly reads all RAM and ROM, and depending on what's loaded, renders stuff out of the ordinary SNES resolution bounds. SNES is 256 x 224, so additional "back" and "front" sections of 72px width have to be made for the 16:9 ratio.
2. For the hack to work, a specially-crafted XML file would be placed in the same folder as the ROM. Essentially it would consist of the instructions on _how_, _what_ and _under what conditions_ should shit be rendered outside the true emulation window.
3. No XML file found = no 16:9 trick. Incomplete XML file present = incomplete widescreen emulation.

See pic related. A good chunk of level is loaded to the RAM, and the viewport is somewhere around the middle of the level. The hack would read and understand the RAM addresses "this is Yoshi's Island 3 / therefore use the assets from its respective graphics page", "the viewport is at x:y / therefore render the missing parts of the level accordingly", "sprite ID "checkerboard" is loaded already but not onscreen / therefore render it anyway out-of-bounds and move it as it should", "background layer is at x:y / therefore render its missing parts out-of-bounds, behind the top layer"

So, in short, heavy, scripted processing in real-time.


Technically there could be an even easier way that would work with any game at all but I don't think it would be as easy as I think: program a new emulator from the ground-up that renders everything at maximum: no viewport at all, just full namespace of all layers on top of each other all the time, just cropped accordingly. I'll post a demo of this later.

Navigation
View posts[+24][+48][+96]