Ewano
Posts: 10
Joined: Mon Nov 23, 2015 10:31 am

Re: N64 HDMI converter thread

Tue Nov 24, 2015 5:48 pm

http://ultrahdmi.retroactive.be/

Scroll down to the bottom and you will see "Use both Plugs at once." I assume they don't effect each other.
That's what you get when you are used to skim reading pages and mentally blanking out pictures as "non informative guff". I think I must spend too much time reading technical documents and skimming forums looking for solutions.. :oops:

Good to see that I can get an analogue audio signal out while using HDMI for video though.

User avatar
marshallh
Site Admin
Posts: 105
Joined: Fri Jun 13, 2014 12:39 am

Re: N64 HDMI converter thread

Tue Nov 24, 2015 7:34 pm

1) Will this affect the traditional analogue signals that can be output from the system?
No, the signals are not affected in any way. At first I thought there might've been interference but it turned out to be my potato craposite capture card. I've done simultaneous captures.

2) I've been reading around the subject concerning NTSC and PAL units and their frame rates. As far as I can tell European units are driven at a slower base clock rate in order to reduce the output for PAL signal to 50Hz.

Am I correct in thinking that the clock rate of a unit affects the overall execution speed of the console with the result that even with the HDMI mod installed, a PAL unit will still run at 83% of the speed of an NTSC unit - but that no matter what the base clock speed is, the HDMI mod output will run at a standardized HDMI signal rate?
The way it works is a bit more complex than that, but basically all N64s run at roughly the same speed - actually PAL rambus runs a wee bit faster, but not enough to make a difference. However the video signal they generate is the key differentiator - the timings are programmed in software by the game. You can run NTSC games on PAL consoles and vice versa (ignoring the CIC and region protection measures), but since the base clocks are very slightly different, you might have a 0-1fps faster or slower game.

In buffered mode, regardless of anything, UltraHDMI will put out a standards compliant signal. You can even run generate a 60fps HDMI signal while the game produces a 50hz signal - you'll just see jerky video as the frame rates will not quite match.
In direct mode, it will generate standards compliant 480p or 576p -- unles you use SYNC in this mode, which breaks compliance to exactly sync up with the N64, some TVs do not like this, but it's there.

Another facet is the PAL ports themselves - I've mentioned before how most ports are lazy - they don't take advantage of the extra vertical resolution that PAL offers.
1. They add black bars ontop and bottom (can be remove with special PALFIX option)
or
2. They make the N64 stretch the rendered data to fit the new space - creating a lot of unrecoverable blur

A lot of people think that Rareware games, since they were UK designed, using native PAL resolution - but that's not the case for most of their games. Here's an example of PAL Conker stretching its 240 high framebuffer to fit the 288 pixels produced by PAL:
http://retroactive.be/img/i/ra56550f6a31dc9ee1f.jpg

These phenomonena never occur with NTSC games. If you're a stickler for best quality you will want NTSC games.

Ewano
Posts: 10
Joined: Mon Nov 23, 2015 10:31 am

Re: N64 HDMI converter thread

Tue Nov 24, 2015 7:40 pm

2) I've been reading around the subject concerning NTSC and PAL units and their frame rates. As far as I can tell European units are driven at a slower base clock rate in order to reduce the output for PAL signal to 50Hz.

Am I correct in thinking that the clock rate of a unit affects the overall execution speed of the console with the result that even with the HDMI mod installed, a PAL unit will still run at 83% of the speed of an NTSC unit - but that no matter what the base clock speed is, the HDMI mod output will run at a standardized HDMI signal rate?
I am somewhat confused after more reading, and I think I have had this backwards.

I've been reading an old forum thread from 2012:
http://assemblergames.com/l/threads/dir ... oles.42764
concerning a previous HDMI FPGA interface project.

It looks to me like a PAL console CPU runs slightly faster than an NTSC console due to a faster oscillator. Then depending on region, a different divisor is used to generate timing for the video DAC to output at 60Hz or 50Hz.

If NTSC games run faster on slower running hardware this leads me to believe that slower frame rates in some games are due to sloppy programming just cutting the execution frame rate in PAL games by 17% to make up for the reduced frame rate accepted by PAL TV's. Reading around it seems like this happened in noticeably in MarioKart64 and Waverace64 - combined with not bothering to recode the graphics engine to take account of alternate resolutions generated bars as the NTSC resolution was pumped out onto PAL sets which could display more horizontal lines. Other games were better coded for PAL to increase the resolution yet maintain the same/similar internal frame rate as NTSC versions (notably Rare games such as Perfect Dark, GoldenEye, BanjoKazooie).

As the UltraHDMI takes it's feed from the RPC - not the DAC, it's the raw speed of the console and the code of the game that is playing which will dictate the overall frame rate and raw resolution that the game runs at.

If this is the case then this suggests to me that the fastest console mod combo will be:
  • PAL N64
  • UltraHDMI
  • Flashcart running NTSC versions of games that were sloppily converted to PAL
  • Flashcart or original cart PAL versions of games that were well converted to for PAL
Or am I missing something here?
If so what?

Ewano
Posts: 10
Joined: Mon Nov 23, 2015 10:31 am

Re: N64 HDMI converter thread

Tue Nov 24, 2015 7:50 pm

Ha..

Spent so long on my post I didn't notice you answered it already - though I guess that what this means essentially is that if you have a HDMI enabled console and use a 64Drive (or other flash cart) and load NTSC games - it doesn't matter (much) any more if you have a PAL or NTSC console in terms of speed.

Reading the info on 64Drive, I'm assuming that it can force NTSC games to run on PAL hardware - or would that require a region mod?

I'd also be interested in your knowledge concerning if any PAL games were ever coded to display a higher resolution without just stretching the 240 scan lines to 288.

Quinn
Posts: 2
Joined: Wed Nov 25, 2015 12:07 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 12:42 am

Let's just nip this in the bud right now so more people won't get confused.

The region of the console itself doesn't really matter, as a) clockspeeds are largely the same and b) any N64 is capable of outputting both PAL or NTSC signals. Older consoles (NES, SNES, Genesis, Saturn) will have different base clocks to compensate for the different framerates, but consoles after a certain point (N64, PlayStation, Dreamcast) will allow the software being loaded to choose the video standard.

The output video standard is decided by the software (i.e. the game). A PAL game in any N64 will output a PAL-encoded 50Hz signal while an NTSC game in any N64 will produce an NTSC-encoded 60Hz signal.

In the case of the N64, if there are any differences in the speed a game runs it's solely down to how the game was programmed. In any region the N64 hardware itself is similar enough not to be a factor when it comes to speed.

You typically cannot run an NTSC cartridge on a PAL N64 or a PAL cartridge on a NTSC N64 because of the CIC lockout chip. If the CIC in the cartridge doesn't match the CIC in the console, the cartrdige will not boot. If they were able to boot, the output and video frequency would still be exactly the same.

Flash carts (i.e. 64drive) can allow the loaded games to do run as they normally would, but they can also force a game to output the other signal. UltraHDMI apparently has the same capability. This means that you could force a PAL game to output a 60Hz or an NTSC game to output a 50Hz signal. Very important to note that doing this will not affect the speed at which the game itself runs. Forcing a PAL N64 game to output at 60Hz won't make it faster, and forcing an NTSC N64 game to output 50Hz won't make it slower.

To summarize:
• The video standard to use is decided by the software.
• The only relevant difference between N64s of different regions is the lockout chip, nothing video related.
• If you have NTSC cartridges, get an NTSC N64.
• If you have PAL cartridges, get a PAL N64.
• If you have a flash cart, it doesn't really matter one way or the other as they can load/play/do everything.

If you live in a PAL country, the only point of importing a US N64 would be if you happen to have a ton of NTSC games lying around, but I don't think that's the case for most people.

A 64drive combined with UltraHDMI is the ultimate combo for any N64.

Hopefully no mistakes crept in there...

inspectah
Posts: 36
Joined: Mon Oct 06, 2014 8:23 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 2:34 am

A lot of people think that Rareware games, since they were UK designed, using native PAL resolution - but that's not the case for most of their games. Here's an example of PAL Conker stretching its 240 high framebuffer to fit the 288 pixels produced by PAL:
http://retroactive.be/img/i/ra56550f6a31dc9ee1f.jpg
This is really interesting, I also thought that.
So when the games where originally stretched for PAL resolution like Conker, the UltraHDMI adds black borders instead to show the correct resolution, is that correct?
Assuming this is correct, a simple way to test which PAL games really take advantage of the higher resolution would be to test if there are black borders with UltraHDMI, right?
I'd also be interested in your knowledge concerning if any PAL games were ever coded to display a higher resolution without just stretching the 240 scan lines to 288.
I would also love to hear about that.

Ewano
Posts: 10
Joined: Mon Nov 23, 2015 10:31 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 6:25 am

I'm mainly concentrating on speed related points here and trying to gain a clear idea of the issues at hand:
The output video standard is decided by the software (i.e. the game). A PAL game in any N64 will output a PAL-encoded 50Hz signal while an NTSC game in any N64 will produce an NTSC-encoded 60Hz signal.

In the case of the N64, if there are any differences in the speed a game runs it's solely down to how the game was programmed. In any region the N64 hardware itself is similar enough not to be a factor when it comes to speed.
Except that it was a problem because the base clock is actually very slightly different in PAL and NTSC N64's - so that an exact video frequency was calculable for the consoles region. From what I have read, the game code decides how to generate it's video signal but expects the base clock rate on the console to be the correct rate for it's region. The display clock rate is then calculated differently depending on what region the code is written for.

NTSC code run on an NTSC console results in 60hz NTSC output whereas on a PAL console the same code would result in a non standard 61.(something)Hz NTSC output. Likewise PAL code run on an NTSC console would result in a slower than PAL standard frequency - but PAL encoding.
You typically cannot run an NTSC cartridge on a PAL N64 or a PAL cartridge on a NTSC N64 because of the CIC lockout chip. If the CIC in the cartridge doesn't match the CIC in the console, the cartrdige will not boot. If they were able to boot, the output and video frequency would still be exactly the same.
Video output frequency would be approximately the same.
Flash carts (i.e. 64drive) can allow the loaded games to do run as they normally would, but they can also force a game to output the other signal. UltraHDMI apparently has the same capability. This means that you could force a PAL game to output a 60Hz or an NTSC game to output a 50Hz signal. Very important to note that doing this will not affect the speed at which the game itself runs. Forcing a PAL N64 game to output at 60Hz won't make it faster, and forcing an NTSC N64 game to output 50Hz won't make it slower.
As Marshall pointed out a few posts back:
However the video signal they generate is the key differentiator - the timings are programmed in software by the game. You can run NTSC games on PAL consoles and vice versa (ignoring the CIC and region protection measures), but since the base clocks are very slightly different, you might have a 0-1fps faster or slower game.
As far as I know, all games were developed to run in NTSC resolution and with an NTSC output in mind.

I believe that sometimes the conversion to PAL was lazy and the coder simply wrote code to reduce the rate the game ran at by 17% so that no frames were missed when output to PAL at a lower frequency. If this conversion was done, the PAL version actually ran slower than the NTSC version on any version of the console hardware.

Waverace64/MK64 are examples of this where different lap records were recorded for NTSC and PAL versions of the game:

Wave Race 64 (NTSC) -Best Lap -Drake Lake
Wave Race 64 (PAL) -Best Lap -Drake Lake

As UltraHDMI takes it's data feed from a point before the digital to analogue video conversion, does the idea of forced output video frequency generation become irrelevant?

By this I mean that should you want to output the fastest version of the game code then you want to run the NTSC version of a game. Either by having an NTSC console and cart - or by using 64Drive and the relevant ROM in any console.

However with an UltraHDMI fitted is there now no reason to force an output of a game to run in any particular mode any more - just output it natively and let the UHDMI deal with that and give you a standardized HDMI output?
To summarize:
• The video standard to use is decided by the software.
• The only relevant difference between N64s of different regions is the lockout chip, nothing video related.
• If you have NTSC cartridges, get an NTSC N64.
• If you have PAL cartridges, get a PAL N64.
• If you have a flash cart, it doesn't really matter one way or the other as they can load/play/do everything.

If you live in a PAL country, the only point of importing a US N64 would be if you happen to have a ton of NTSC games lying around, but I don't think that's the case for most people.

A 64drive combined with UltraHDMI is the ultimate combo for any N64.
Because a 64Drive will allow you to run an NTSC code base version of a game on whatever region console you want to use, and UltraHDMI will take whatever comes out of the RPC and *magically* make it work with with HDMI (or not if you set it to some of the more interesting modes). Correct?

If I have made any glaring mistakes I'd appreciate being corrected on them - especially on how the interplay between a 64Drive and UltraHDMI will work.

I'm still thinking that a PAL console running NTSC code with HDMI mod will give you an extra frame a second - seems like justice after all for the PAL market :D

Quinn
Posts: 2
Joined: Wed Nov 25, 2015 12:07 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 8:41 am

Thanks for that very clear and informative post. I somehow wasn't aware of that output deviation despite it being mentioned already. :p

Just to clarify, the rate of video (and audio) output is completely isolated to the DAC? That is to say the rest of the system isn't aware that this deviation exists? In which case while the console might output 61Hz, UltraHDMI instead bypasses the DAC by fetching output directly from the RCP at a rate of either 50Hz or 60Hz according to its own clock? Therefore if you were to simultaneously use the standard output and UltraHDMI's output, they'd have both 61Hz and 60Hz signals respectfully?

I'm not really clear on how VBlank (or similar op) fits into this either. If it's affected by the faster rate of output, that would/could be detected elsewhere? That would mean CPU and friends running at the normal rate in conjunction with everything video being slightly faster? How or where in the process is VBlank set anyway? If there's an extra interrupt in there somewhere then that would eat into CPU time available per frame? Maybe I'm over-thinking it, especially since that trade-off already exists when going from PAL to NTSC.

Sorry for all the newbie questions. My head is starting to spin a bit...

meneerbeer
Posts: 35
Joined: Wed Aug 27, 2014 8:43 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 12:47 pm

I have made a very simple HDMI mod for the N64, so I know this in quite some detail.

The framerate is decided by the RCP. The RCP sends out the hsync, vsync and video color data. The DAC is really stupid, it directly converts this data to composite, s-video, etc.

I am from a PAL area, but I use a flashcard to play NTSC N64 games. What I noticed is that the framerate for those games on a PAL console is more like 61 Hz, exactly what Ewano says. This can be explained because the RCP is supplied with a different clock speed. I believe games themselve initialize the RCP and set the video output timings. Due to the RCP being a different clock speed, everything is a bit off.

What I am wondering about myself is, how does Ultrahdmi handle this in the buffered mode? Will it be in lock with the framerate of 61 Hz, so the HDMI output framerate is 61 Hz as well (which some TVs will not like probably)? Or does it drop a frame every now and then and just run at a steady 60 Hz output rate?

What if you have an NTSC N64, are the N64 framerate and the HDMI output rate then locked to each other? So you never once drop a frame? And what about when the N64 switches to interlaced? Doesn't the framerate change slightly then? Seems like it is impossible to always run the HDMI output's framerate locked to that of the N64. Although I do not think it is noticeable if a frame is dropped every now and then.

User avatar
Tim.
Posts: 35
Joined: Wed Aug 27, 2014 11:56 am

Re: N64 HDMI converter thread

Wed Nov 25, 2015 1:36 pm

Great work Marshall! I'll be ordering my personal batch soon! I'm sure the long wait will be well worth it.

Return to “Hardware”