Rolling video w/a particular game pak (The Immortal; TLROM).

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Rolling video w/a particular game pak (The Immortal; TLROM).
by on (#167657)
I have a copy of The Immortal that was sold as-is/broken, but I thought it was curious enough to make a post about because I have never seen anything else like it.

I demonstrate the issue with two different TVs with very different results in this video:
https://youtu.be/3fhyX3HdVcg

First, it's a TLROM board and I verified other TLROM games working on the same consoles. I verified that it was an NTSC ROM. It's been tested on multiple consoles:
unmodified front loader
unmodified top loader
frontloader with CIC disabled
frontloader with Blinking Light Win v2 installed and ~15 unused pins removed
whatever console the previous owner was using

I've tested it with multiple CRTs and LCDs. I get a very different effect on LCDs (less stable image) but the image rolls on both.

I've got a feeling that replacing the capacitor might fix this, but I'm still curious to know what could be causing it. I've read that a lot of MMC3 games use a scanline counter to have static HUD with a scrolling screen and I'd guess that miscounting could cause a rolling issue but I don't see a static HUD in this game.

Ignore my brother talking about CGA graphic conversion. :P
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167660)
It is caused by the game using a known invalid color value ($0D): viewtopic.php?f=2&t=13504&p=159590#p159590

Nothing you can really do to fix it apart from replacing the PRG-ROM with a patched ROM that uses a proper black like $0F instead of $0D. (Or get a TV that doesn't have a problem with $0D.)
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167661)
thefox wrote:
It is caused by the game using a known invalid color value ($0D): viewtopic.php?f=2&t=13504&p=159590#p159590

Nothing you can really do to fix it apart from replacing the PRG-ROM with a patched ROM that uses a proper black like $0F instead of $0D. (Or get a TV that doesn't have a problem with $0D.)

Interesting. I'm reading it but right off the bat I have to wonder if that's really it:
It didn't work with at least four different CRTs with no image processor
and the same consoles/TVs worked great with Camerica games (Micro Machines, Quattro Sports, Game Genie, and one other Quattro game). This problem with The Immortal seems to affect all TVs and consoles.

I'll try to test it with the oldest TV I can find or with my NES that only outputs B&W to see what happens. Thanks!

Also, I've googled plenty and couldn't find reports of this with this particular game. If that is the same issue then it's the first report I've come across despite searching. Thanks again!
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167671)
If you have a flash cart such as PowerPak or EverDrive you can try whether you get the same problem with it.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167676)
thefox wrote:
If you have a flash cart such as PowerPak or EverDrive you can try whether you get the same problem with it.

Unfortunately, I do not. :( Thanks, though.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167682)
If you have a game genie, you can use it to patch out some of the offending code that produces the $0D colour. A while back I worked out a couple of codes that helped with The Immortal:

1. GEOATSKV (title)
1. GPVEASKN (walking around)
3. GPOEGSKN (battle)
4. GOUEYNKN (paused)

Edit: sorry, these don't actually do what I thought. I'm realizing now that these were for removing the "emphasis" The Immortal uses to darken the screen further. They don't actually remove the $0D colour, I don't think.

These might help, though. Perhaps the problem with the Immortal and not other games is that it additionally darkens it with the emphasis bits? These do disable that, I think.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167690)
Well, you guys were right: it was definitely the TV not liking this particular game. I tried yet another TV and it looked great. The B&W NES I have changed nothing. Thanks guys!

rainwarrior wrote:
If you have a game genie, you can use it to patch out some of the offending code that produces the $0D colour. A while back I worked out a couple of codes that helped with The Immortal:

1. GEOATSKV (title)
1. GPVEASKN (walking around)
3. GPOEGSKN (battle)
4. GOUEYNKN (paused)

Edit: sorry, these don't actually do what I thought. I'm realizing now that these were for removing the "emphasis" The Immortal uses to darken the screen further. They don't actually remove the $0D colour, I don't think.

These might help, though. Perhaps the problem with the Immortal and not other games is that it additionally darkens it with the emphasis bits? These do disable that, I think.

I'm excited to try them tonight. Thanks a ton!
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167700)
rainwarrior wrote:
If you have a game genie, you can use it to patch out some of the offending code that produces the $0D colour. A while back I worked out a couple of codes that helped with The Immortal:

1. GEOATSKV (title)
1. GPVEASKN (walking around)
3. GPOEGSKN (battle)
4. GOUEYNKN (paused)

Edit: sorry, these don't actually do what I thought. I'm realizing now that these were for removing the "emphasis" The Immortal uses to darken the screen further. They don't actually remove the $0D colour, I don't think.

These might help, though. Perhaps the problem with the Immortal and not other games is that it additionally darkens it with the emphasis bits? These do disable that, I think.

Awesome! They definitely work. Thanks! Only issue is that the Game Genie only allows three at once, but I guess we can do without the title or pause screens. ;)

Well, I guess there was one other little issue:
The codes labeled "walking around" and "paused" are reversed and the numbering is a little wonky...

...but seriously: AWESOME! Thanks again. :D

Edit: well, I did a bit of testing and these are the effects I've noticed so far:
1. GEOATSKV (pause; title w/out sprite; dialog)
2. GPVEASKN (sprite; encounter screen)
3. GPOEGSKN (battle)
4. GOUEYNKN (walking around)

The "w/out sprite" thing is because the screen would scramble as soon as the wizard walked on the screen. If I enter the sprite code instead the screen will stabilize as soon as the wizard walks on screen. "Encounter screen" is just before the battle screen.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167705)
Here are the patches for actually patching out the $0D color and not the emphasis bits. Had these figured out some time ago, just wasn't sure which ones affected which parts of the game.

Code:
0001F7B9: 0D 0F <- battle
0001F7D9: 0D 0F <- title screen
0001F7F9: 0D 0F <- walking around
0001F7FE: 0D 0F <- sprite color (used in e.g. wizards robe in some places)

Game Genie codes:
Code:
YEXNPNIE <- battle
YEKNPNIE <- title screen
YEVNPNIE <- walking around
YEVNTNIE <- sprite color

Offsets $1F7EA..1F7EC also have $0D, but I'm not sure if that colorset is actually used anywhere (couldn't trigger it from the intro).
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167721)
Here are the effects of a few of your memory patches:
https://youtu.be/pZsFJjGAdj4

Either removing the emphasis or changing the value for black seems to fix it on this particular TV. Thanks, guys! Now I just need a Game Genie that supports more simultaneous cheats. :)
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167732)
You can stack two game genies for that. ;)
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167762)
rainwarrior wrote:
You can stack two game genies for that. ;)

Tried it and it works great! Now I have a reason to keep these two Game Genies around. I should probably mod the junky-lookin' one to fit a top-loader. I'm going to check and see if anyone ever made a replacement 3D-printed shell for that.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167771)
I would guess that The Immortal now works in the Sharp Famicom TV, Sharp Famicom Titler as well as games that break TVs synchronization with palette value 0D with these patches.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167874)
Great Hierophant wrote:
I would guess that The Immortal now works in the Sharp Famicom TV, Sharp Famicom Titler as well as games that break TVs synchronization with palette value 0D with these patches.

Just Googled and can't find a report of The Immortal not working with a Sharp Famicom TV. Was that reported to be the case?
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167875)
NesCartDB has no report of The Immortal having been released outside North America. (If there were such a report, there would be a flag of Japan in "More Profiles".) The 72-pin Sharp NES TV used the composite PPU, not the RGB PPU.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167876)
tepples wrote:
NesCartDB has no report of The Immortal having been released outside North America. (If there were such a report, there would be a flag of Japan in "More Profiles".) The 72-pin Sharp NES TV used the composite PPU, not the RGB PPU.

They were on the shelf in every K-Mart, which is where I plugged in and played SMB/DH as a kid. Using the composite PPU and being incompatible would mean that the unit's television simply wasn't tolerant of the signal (same as modern TVs) which is what I'm curious about. If so, the game would be one of the few incompatible titles.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167954)
CZroe wrote:
tepples wrote:
NesCartDB has no report of The Immortal having been released outside North America. (If there were such a report, there would be a flag of Japan in "More Profiles".) The 72-pin Sharp NES TV used the composite PPU, not the RGB PPU.

They were on the shelf in every K-Mart, which is where I plugged in and played SMB/DH as a kid. Using the composite PPU and being incompatible would mean that the unit's television simply wasn't tolerant of the signal (same as modern TVs) which is what I'm curious about. If so, the game would be one of the few incompatible titles.


You are incorrect because the Sharp Famicom TV is not the same thing as the Sharp NES TV :

Sharp Famicom TV : Japan, 60 Pin Connector, 2C03 RGB PPU - Incompatible
Sharp NES TV : US, 72 Pin Connector, 2C02 Composite PPU - Compatible

The only titles that may have been incompatible with the Sharp NES TV back in the day are the unlicensed games with lockout defeating circuitry that did not work.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167970)
Great Hierophant wrote:
CZroe wrote:
tepples wrote:
NesCartDB has no report of The Immortal having been released outside North America. (If there were such a report, there would be a flag of Japan in "More Profiles".) The 72-pin Sharp NES TV used the composite PPU, not the RGB PPU.

They were on the shelf in every K-Mart, which is where I plugged in and played SMB/DH as a kid. Using the composite PPU and being incompatible would mean that the unit's television simply wasn't tolerant of the signal (same as modern TVs) which is what I'm curious about. If so, the game would be one of the few incompatible titles.


You are incorrect because the Sharp Famicom TV is not the same thing as the Sharp NES TV :

Sharp Famicom TV : Japan, 60 Pin Connector, 2C03 RGB PPU - Incompatible
Sharp NES TV : US, 72 Pin Connector, 2C02 Composite PPU - Compatible

The only titles that may have been incompatible with the Sharp NES TV back in the day are the unlicensed games with lockout defeating circuitry that did not work.

So, we know that the combination of $0D and emphasis bits doesn't cause the scrambling/rolling problem on the Sharp NES TV like it does on most modern TVs?
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167971)
Whether the use of color $0D and/or emphasis bits is problematic varies widely from TV to TV. When I was testing voltages for the IRE test for Tepples's test suite, even the combination of $0D and emphasis did not screw up the horizontal timing on the 2006-era TV I was using at the time.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#167988)
I've seen the many different responses from TVs and capture devices I've tested with an $0D colour signal:

1. Wobbly areas of the screen in horizontal strips. (loss of horizontal blank integrity?)
2. Wobbly/rolling screen in general. (loss of vertical blank integrity?)
3. Drops the signal entirely. (probably same as 2 but for a TV that's converting to digital)
4. $0D rendered at same colour as regular black.
5. $0D rendered slightly darker than regular black.
6. Introduction of $0D causes the black level to renormalize after several seconds, causing a slow transition from 4 to 5 as it becomes the "new" black.
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#210457)
Well, I've had Everdrives for well over a year now and I finally got around to patching a ROM with these fixes. It works, but it seems that we missed one.

First I tried these:
Battle screen
YEXNPNIE
0001F7B9: 0D 0F

Title screen
YEKNPNIE
0001F7D9: 0D 0F

Walking screen
YEVNPNIE
0001F7F9: 0D 0F

Sprite
YEVNTNIE
0001F7FE: 0D 0F

Just after the wizard raises his staff, the screen flashes. This consistently causes it to lose sync on one of my displays. I added the ones we were wondering about (let me know if I got the GG encoding wrong):
Unknown 1
YESNZNIE
0001F7EA: 0D 0F

Unknown 2
YESNLNIE
0001F7EB: 0D 0F

Unknown 3
YESNGNIE
0001F7EC: 0D 0F

It still happens. :(

I loaded it up into FCEUX and frame-stepped that part until the PPU viewer showed all black. Sure enough, many of the palettes show 0D when I mouse over them. I don't know how to find the offset in ROM from that though.

Edit: Got it! I my hex editor I saw a pattern of 00 and 0D that looked very similar to what I saw when mousing over the palettes in the PPU viewer. Changed those all to 0F and now it works!
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#239467)
Can you make an ips patch with all of the fixes applied?
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#239475)
Here's a patch that applies the 7 changes listed above.

Edit: threw it on RHDN as well, maybe that'll make it easier to find: http://www.romhacking.net/hacks/4534/
Re: Rolling video w/a particular game pak (The Immortal; TLR
by on (#239530)
rainwarrior wrote:
Here's a patch that applies the 7 changes listed above.

Edit: threw it on RHDN as well, maybe that'll make it easier to find: http://www.romhacking.net/hacks/4534/


Awesome, thanks! I was actually thinking of doing the same, if you didn't.