N64 Advanced V2: N64Digital or UltraHDMI alternative?


This is my first post in english, so don’t judge me too hard. The previous blog posts are only available in german. But I think, it’s readable with a translation tool of your choice. So why english? I had a lot of comments on the N64Adv2 because of the lack of available HDMI mods. You probably know the story of current N64 HDMI mods: UltraHDMI by MarshallH aka Retroactive was first out in 2015 (!), but notorious for not beeing available. N64Digital came out 2021 with the same problem: very limited quantity.

Another issue: Both solutions are not open source. So you can’t buy a PCB on your own and program it with open source firmware. borti4938 aka Peter worked on many N64 projects beforce, especially the N64RGB and the N64Adv (both analog mods). See the full feature list on GitHub.

With N64 Advanced 2, Peter tries to fill the gap: An FPGA based digital output mod with open source firmware. I was able to test the mod for some days (some months ago) and can compare it to N64Digital. I’m glad that Peter gave me this opportunity to test a pre-release of N64Adv2 and here are some of the results.

Everything you will need is freely available on GitHub:

The only downside right now is the chip shortage… Nevertheless, let’s have a look.

Testing N64Adv2

Nice custom made case by reventlow, NES style and HDMI output: N64Adv2 in action!

First of all: I was able to compare N64Adv2 in a modified case (awesome!). The firmware was 2.08 (later 2.10) vs. 1.6.5 on N64Digital (later 2.1.0). To update the N64Adv2, there is a microUSB connector on the board. You’ll find the how to here.

MicroUSB connector. It’s not the final design and in a custom case.

But now, let’s dig into the results. How is it compared to N64Digital? Can it achieve the same sharpness and what about the features?

With the previous firmware (< 2.09), the image was rendered with a softer image scaling. This could especially be seen in non-integer scaling modes like 4.5X vs. 5X, but this was also the case in integer only modes:

Left: N64Adv2 | Right: N64Digital (fw < 2.09)
Left: N64Adv2 | Right: N64Digital (fw < 2.09)

But Peter fixed it right away, so there is no real difference anymore comparing to N64Digital (not exactly the same zoom, sorry, but it’s also an extreme close-up):

Left: N64Adv2 | Right: N64Digital

So with N64Adv2 you get perfectly sharp images as you would expect:

And there is more: As you can see, Peter integrated a scanline generator with a lot of options to adjust:

Also extremely sharp with 480i/576i content (List of interlaced games on N64):

N64Adv2 vs. N64Digital

Or, to showcase The Legend of Zelda: Ocarina of Time, so damn beautiful:

Let me show you the interpolation and scaling settings:

You can adjust the interpolation level from integer (sharpest option for „raw pixel look“) to bilinear (softer image) with the option to use Integer+Bi-linear (bi-linear scaling with pre-integer scaling). The scaling options are amazing: 4:3 is the standards mode, but you can also go for „open“ and „zoom“ even in games, that show a widescreen mode within a 4:3 picture (like World Driver Championship) to get a „real“ widescreen picture without those big black borders:

The game runs without expansion pack in hi-res mode (480/576i), selectable in the options, but gets a little bit blurred because of the high zooming factor (up to 7X!)

Or you can squish it into a „tate mode style“ screen. Why? Because you can:

If you want, you can use 240 lines (NTSC mode) as input reference instead of 288 lines (PAL mode) but I never used this option. Last but not least, you can shift the image pixelwise vertically or horizontally.

So now the scanlines options:

You can adjust the scanline sensitivity from ThinNormalThick or Adaptive, the sl strength in general and you can adjust a „blooming effect“: This makes scanline strength pixel-intensity dependent:

  • 0% means that the scanlines are drawn as calculated
  • 100% means that the scanlines strength is reduced down to 0 for maximum pixel intensity
  • above or below 100% means that the scanlines strength is reduced to 0 before maximum pixel intensity or never completely reduced to 0, respectively.

There are different profiles how to calculate those scanlines, beginng from HanningGaussianRectangular and Flat top. You can select whether all calculations regarding thickness (adaptive) and strength (bloom effect) are Luma based or per color based. Just try out to see the differences:

That’s an extreme comparison (and not really recommended, just to show the effects): adaptive scanlines, hanning profile, 100% sl strenght and 150% blooming effect. Left is calculated on color base, right luma base.

Every setting is also applicable for vertical scanlines if you want. To cite Peter:

„Depending on the scaling factor there might be a minor to huge difference. Just play around and see what suits best for you.“

Now, let’s see the resolution options of N64Adv2:

Yes, you can get 1440p! The option is locked and must be unlocked under Miscellaneous settings („Unlock lucky 1440p mode“, note: 1440p resolution runs over the maximum frequency specified for the FPGA and for the video transmitter IC!). There are two options for 1440p (4:3: 1920×1440 and 16:9 which is 2560×1440). Does it work? Oh yes:

Note: this was captured with an older firmware and uses the slightly blurry scaling algorithm. With fw >2.09, the image will be more sharp in detail!

There is even a 960p mode which uses 4X and not 4.5X scaling as default. A sort of „1080p under“ mode that can be handy in some cases (e.g. 640×240 games).

The next one ist VI-Processing and offers one very common but essentially feature: lowres-deblur, only available for 240/288p games. To quote Bob from RetroRGB:

Many Nintendo 64 games use software to add a blurring effect, presumably to smooth out the jagged, low-resolution 3D graphics.  This seemed to do a great job back in 1996, when almost everyone played on a CRT with composite video.  This blurring effect sometimes doesn’t scale well to modern TV’s and luckily, people figured out ways to turn it off on most games, if desired.

https://www.retrorgb.com/n64blur.html

I activate this option in every game and there are only a few examples where you should not use this feature. The most obvious game that uses the blur function to offer a kind of „hi-res“ picture is Command & Conquer 64:

As you can see, it’s not always recommended to turn it on. Deblur is a common „feature“ on N64.

The last options are found within the Miscellaneous settings. You can adjust controller routines or unlock the 1440p mode. Every option is well documented on GitHub.

So what’s missing from N64 Digital? Not a lot:

  • no pre-filter/masks: As you can see, you can fully customise your scanlines. But what’s missing are pre-installed filter or masks like N64Digital. So no aperture grille pre-set or CRT masks. You need to recreate those on your own and a RetroFX-like mask editor is not implemented at the moment.
  • no WiFi: there’s something really handy when using WiFi on the N64Digital: the usage is simple and you don’t need to connect wires or open the case. Peter stated, that there will be the option to connect to USB without opening the N64 though.
  • no „HDR injection“: N64Digital offers a new feature introduced with fw 2.0.0: HDR injection, as seen with RetroTINK5X.
  • Some features missing: there is no motion-adaptive interlacing yet, N64Digital introduced this feature in fw 2.0.0.

As you can see, N64Adv2 is an excellenct solution for everyone who’s interested in N64 gaming. The firmware is open source and there is plenty of room for new features and it really depends on the community support. The used FPGA (Intel Max10) is strong enough to even output 1440p without a problem.

The only REAL drawback as mentioned in the introduction: The chip shortage (Intel FPGA Max10) is still an issue. If you can’t get one or if it’s not affordable, you can’t get into it. The same problem with UltraHDMI and N64Digital.

Epilog: 1440p to N64Digital?

On N64Digital, 1440p is also possible, but you need to upgrade the modeline.ini as explained here. I used example 3:

[NTSC] custom1=1440p,2080,1920,48,80,32,1481,1440,3,34,4,1,0,6.0,0,0 custom2=1440p PR,1360,1280,24,40,16,1481,1440,3,33,5,1,0,6.0,p:1,0 [PAL] custom1=1440p,2080,1920,48,80,32,1481,1440,3,34,4,1,0,6.0,0,0 custom2=1440p PR,1360,1280,24,40,16,1481,1440,3,33,5,1,0,6.0,p:1,0

You can see a clear difference between 1080p (left) and 1440p (right):

Or more close (+400% zoom):

This is the same with N64Adv2 so you can except razor sharp pixel mayhem!

Final thoughts on The N64 gaming era

The N64 brought us an awesome 3D experience in 1996/1997, when the „3D market“ was in extreme movement: PSX and Saturn used different approaches to 3D gaming with less advanced techniques (PSX with „wobbling, unfiltered textures“, Saturn with „quad rendering“ like nVidia NV1).

The PC market was in full transition from 2D to 3D cards and the switch from DOS gaming to Win 95. nVidia, ATI, S3, PowerVR, Number Nine, Matrox or Rendition competed with very different products. The 3Dfx Voodoo can be seen as a game changer for the whole industry and 3D cards became more important from 1998 on with the introduction of powerful standalone cards like nVidia TNT or Voodoo Banshee (2nd half of 1998). But this topic should be adressed in further blog posts. 😉

Super Mario 64 on N64Adv2 by Borti – fw 2.08

This time period was perhaps the era with the most technical innovations ever within only a few years and the N64 remains one of the most iconic pieces of hardware of the „3D revolution“. It was overwhelming to see the transparent water effects in Waverace 64 or the fluid animations of the Dinosaurs in Turok. Do you remember the first time you saw Super Mario 64? It was mind blowing – at least for me.

The N64 showcases this era of 3D gaming with wonderful milestones like Zelda – Ocarina of Time, GoldenEye 007 or Super Mario 64. These HDMI-mods provide all the essential options to recreate this era today. So everyone that is enjoying this time and remebers those first attempts of 3D focused consoles can enjoy it the way it was meant to be played. Sure, there is also RetroTINK5X and CRT gaming, but it’s nice to have different options for different cases – especially with open source solutions like N64 Advanced 2!

We can only hope that the corresponding components will soon be available again so that the N64 will be played more – it deserves it so much! It’s really interesting to see the whole N64 community still loving the N64 despite of all the hate that came from the transition from 2D to 3D and the lack of (J)RPGs or the overall game quantity. Also, a lot of people prefer CDs over cartridges.

The modding community is very active, not only the hardware mods but also the game hacking community. There is A LOT going on (Mario Kart Amped Up, Kaze Emanuars unbelievable achievements, N64 Ocarina of Time Triforce Tribute, Banjo-Kazzooie Jiggies of Time,…) and the N64 is the perfect compagnion to recreate this first 3D gaming era of the 90s.

Wave Race 64 on N64Adv2 by Borti – fw 2.08

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..