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

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

CZroe
Posts: 32
Joined: Mon Apr 04, 2016 7:59 am

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by CZroe » Fri Apr 08, 2016 5:19 am

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.

Great Hierophant
Posts: 766
Joined: Tue Nov 23, 2004 9:35 pm

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by Great Hierophant » Sat Apr 09, 2016 2:43 pm

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.

CZroe
Posts: 32
Joined: Mon Apr 04, 2016 7:59 am

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by CZroe » Sat Apr 09, 2016 5:45 pm

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?

lidnariq
Posts: 9413
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by lidnariq » Sat Apr 09, 2016 5:50 pm

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.

User avatar
rainwarrior
Posts: 7818
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by rainwarrior » Sat Apr 09, 2016 9:03 pm

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.

CZroe
Posts: 32
Joined: Mon Apr 04, 2016 7:59 am

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by CZroe » Wed Dec 20, 2017 1:03 am

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!

marioxb
Posts: 7
Joined: Mon May 08, 2017 7:44 am

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by marioxb » Fri May 31, 2019 5:34 am

Can you make an ips patch with all of the fixes applied?

User avatar
rainwarrior
Posts: 7818
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by rainwarrior » Fri May 31, 2019 11:30 am

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/
Attachments
Immortal, The (U) video signal fix.ips
(39 Bytes) Downloaded 160 times

marioxb
Posts: 7
Joined: Mon May 08, 2017 7:44 am

Re: Rolling video w/a particular game pak (The Immortal; TLR

Post by marioxb » Sat Jun 01, 2019 7:19 am

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.

marioxb
Posts: 7
Joined: Mon May 08, 2017 7:44 am

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

Post by marioxb » Wed Jul 08, 2020 6:45 am

Hey so this game is coming out on Switch next week. I wonder how they fixed the color issue. Do you think maybe they "borrowed" this fix?

lidnariq
Posts: 9413
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

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

Post by lidnariq » Wed Jul 08, 2020 10:17 am

Emulators don't have color problems. Only real TVs receiving an analog signal.

marioxb
Posts: 7
Joined: Mon May 08, 2017 7:44 am

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

Post by marioxb » Wed Jul 08, 2020 8:48 pm

lidnariq wrote:
Wed Jul 08, 2020 10:17 am
Emulators don't have color problems. Only real TVs receiving an analog signal.
Oh, I guess I didn't read this properly. Thought it was a fix for newer (HD) tvs.

User avatar
aquasnake
Posts: 102
Joined: Fri Sep 13, 2019 11:22 pm

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

Post by aquasnake » Fri Jul 10, 2020 1:13 pm

static const unsigned char gray_table[] = {
0x0F, // 0 black
0x1D, // 1 dark grey
0x2D, // 2 66 shades of gray
0x00, // 3 middle grey
0x10, // 4 33 shades of gray
0x3D, // 5 light gray
0x30, // 6 white
0x30 // 7 just for compatibility
};


0x0D is meaningless, do not assign 0x0D as some gray scale

lidnariq
Posts: 9413
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

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

Post by lidnariq » Fri Jul 10, 2020 1:24 pm

aquasnake wrote:
Fri Jul 10, 2020 1:13 pm
static const unsigned char gray_table[] [...]
0x0D is meaningless, do not assign 0x0D as some gray scale
I measured the actual brightnesses here:
nesdevwiki:NTSC video§Terminated measurement

In short:
0x0D = -0.12
0x0F = 0
0x2D = 0.34
0x00 = 0.43
0x10 = 0.74
0x3D = 0.80
0x20/0x30 = 1.1

"But how do you display brightness more than 1 or less than 0?" Yeah, that is the problem.

Post Reply