ROM Hack Quest to hack parallax barrier to NES VC games

WiiUBricker

News Police
OP
Banned
Joined
Sep 19, 2009
Messages
7,827
Trophies
0
Location
Espresso
XP
7,510
Country
Argentina
Nintendo's VC emulator is an all-in-one emulator. It has one config.ini for settings of all emulators. For NES roms you can change the resolution by simply editing the width and height values. So since the parallax barrier (that thing that causes 'scanlines' when disabled) is disabled when running NES roms and enabled when running GBC roms, I attempted to enable it for NES roms.

First I compared the available settings for NES and GBC roms:

Code:
[NES]
Width = 284
Height = 240
ClipUp = 4        ;pixel unit
ClipDown = 4        ;pixel unit
ClipLeft = 4        ;pixel unit
ClipRight = 4        ;pixel unit
Code:
[CGB]
Width = 267
Height = 240
ColorDelay = 200    ;ms unit
SoundSwapLR = 0        ;ƒTƒEƒ“ƒhLR“ü‚ê‘Ö‚¦
Dotbydot = 1        ;0: Disable, 1: Enable
Parallax = 300        ;1/1000 mm unit
RenderTime = 0        ;0: Begin of Mode3(Default), 1: End of Mode3
Logo = 0        ;Show Nintendo(R) Logo
ObjLineLimit = 1    ;0: Max, 1: Limit
LCDOnDelay = 1        ;LCD On Delay Frame Count(Only for DMG)
LCDIntOnce = 0        ;1: LCD's interrupt active once in one scanline
VBlankDelay = 1        ;VBlankDelay Ticks (1~113) (Default: 1)
SoundCH1Sweep = 1    ;0:Old Sweep Mode 1: New Sweep Mode
SoundNoiseTable = 1     ;0: old noise 1:use noise table
SoundReplace = 1    ;0: normal 1: replace some sound to fit the real
SoundMultiSample = 0; 0~4 bigger, sound better, but slower
SoundCH1Reset = 0; 0: when channel initial, don't reset the  channel index 1: reset channel index
SoundCH2Reset = 0; 0: when channel initial, don't reset the  channel index 1: reset channel index
SoundCH1SweepLimit = 2047 ;0~2047, default is 2047
ColorLCD = c31,31,31
SDataInitValue = 0 ;0~255, default is 0

As you can see, for NES roms there aren't any screen settings except width, height and some padding. For GBC roms there is a setting for the parallax effect among other screen settings. I copied the whole block over to the [NES] section because why not? Then I did rebuild the CIA and installed it.

Result: No changes. It's as if all settings I copied over are ignored by the emulator.

Then I inspected the other files inside the RomFS folder. There is a folder for GPU shaders. Maybe the settings were ignored because the shaders of NES and GBC roms differ from each other. I extracted a GBC CIA and looked inside its shaders folder. Almost all of the shaders in there are name like the shaders in the NES rom. So I swapped the shadders of the NES rom with the shaders of the GBC rom.

Result: App crashes and kicks me back to the home menu.

My last attempt was to just replace the GBC rom from the GBC CIA with the NES rom from the NES CIA, renamed accordingly.

Result: App crashes and kicks me back to the home menu.

Any ideas?
 
Last edited by WiiUBricker,
  • Like
Reactions: Deleted User
D

Deleted User

Guest
Well, I'm no expert ROM Hacker (in fact, I'm barely a ROM Hacker at all), but try comparing the EXEFS of both CIAs.

Also, try searching the ROMFS for any other files that could be influencing this.

Later on, I'll open up one of my NES CIAs and see what this about.
 

LoganK93

Well-Known Member
Member
Joined
Dec 5, 2012
Messages
672
Trophies
1
Age
31
XP
1,992
Country
United States
It is likely enabled in GBC roms due to the fact that you can actually use "3d" While playing GB/GBC if you hold select(?) when launching it makes a gameboy show on the top screen, which also uses the 3d effect (which would mean it uses the parallax barrier and thus it is always able to be activated.) The NES has no comparable feature so the barrier and 3d in general are never enabled.
 

WiiUBricker

News Police
OP
Banned
Joined
Sep 19, 2009
Messages
7,827
Trophies
0
Location
Espresso
XP
7,510
Country
Argentina
Well, I'm no expert ROM Hacker (in fact, I'm barely a ROM Hacker at all), but try comparing the EXEFS of both CIAs.

Also, try searching the ROMFS for any other files that could be influencing this.

Later on, I'll open up one of my NES CIAs and see what this about.
The ExeFS contains only UI stuff like icon, logo etc. The rest is manual, download play and banner. So really there is only the RomFS left.

It is likely enabled in GBC roms due to the fact that you can actually use "3d" While playing GB/GBC if you hold select(?) when launching it makes a gameboy show on the top screen, which also uses the 3d effect (which would mean it uses the parallax barrier and thus it is always able to be activated.) The NES has no comparable feature so the barrier and 3d in general are never enabled.
I highly doubt it's enabled in roms themselves. Else how could you explain that this "3D" effect you are talking about is still there when you inject random roms off the internet? The emulator decides whether it activates the parallax barrier or not.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BakerMan @ BakerMan: i tell ya what, i could go for a fuckin gyro right about now