Hardware Review: DCHDMI - The 1080p Dreamcast

Playing older games in higher resolutions than they were ever intended to be played in is all the rage these days. Be it through emulation, or via the relatively recent trend of the remaster, getting titles of yesteryear to play on modern display screens in the best possible quality is a prize many are willing to go to extraordinary lengths to attain.
The Dreamcast CD player in 1080p (960p bordered)
Here in our little corner of the gaming sphere, things are no different. There are some people who will never plug their Dreamcasts into anything but a CRT television through an RGB SCART connection. Others champion the clarity of a good old fashioned CRT computer monitor and a VGA box. And for those who simply don't have the space for the luxury of a proper old television or monitor, there's the HDMI passthrough boxes from Beharbros and Pound Technology.
The Akura and Gekko are both well built, high quality devices
The limitations of these HMDI boxes and cables are well documented, but for those with either limited space or on a budget, simply connecting a Dreamcast to a flat panel HD display and enjoying their favourite games in 480p is a perfectly acceptable and affordable way to continue gaming on Sega's old warhorse in the modern era.


Of course, what the Pound and Berharbros adapters do is simply take the VGA signal from the Dreamcast and spit it out through a HDMI cable. There's no upscaling at all, and the larger the screen, the poorer the image. It isn't really true high definition gaming, in all honesty. Things are about to change though, as a new contender has entered the ring: DCHDMI.
The DCHDMI board is an internal mod replete with an onboard FPGA
The DCHDMI is an internal board that is slotted into the Dreamcast shell, beneath the main board and is connected directly to the Dreamcast's GPU. What this means is that a digital signal is taken directly from from the GPU and is output in true HDMI through a mini HDMI port on the back of the console. The results are truly staggering, and as we'll see in this review, outside of emulation, the image quality and clarity afforded by the DCHDMI is leagues ahead of anything ever seen before from a Dreamcast console...

Created by engineers Dan Kunz (aka citrus3000psi) and Christof Harnischmacher (aka chriz2600), the DCHDMI has been in development for quite some time. Indeed, many will be familiar with citrus3000psi's previous work with HD output solutions on the Nintendo Gamecube, as well as myriad other projects that all focus on improving the video output options for a range of retro systems. The Dreamcast is just the latest console to become the focus of his attention, and the results are - we're sure you'll agree from the video and screens in this article - pretty outstanding. All of the screens in this review were captured in the 1080p output mode and then cropped to remove the border - just so you know.
From the outside, the DCHDMI console that's being reviewed here looks no different from a standard console. Granted, it's a Sega Sports black console, but apart from that it's standard. The only small hint of the magic going on inside is that under the rear vents on the back of the console, you'll find a mini HDMI port. It's what's behind this port that counts though - a custom board with an FPGA that is tapped in directly to the Dreamcast GPU, with no analogue interference whatsoever, and which enables a crisp 1080p (960p windowed) image to be displayed on your HD screen of choice.

"A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing – hence "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). Circuit diagrams were previously used to specify the configuration, but this is increasingly rare due to the advent of electronic design automation tools."
- Wikipedia entry on FPGA
We spoke to Dan and Christof to get the full story on how this device works and the history behind it:

DCJY: Hi Dan and Chris - thanks for giving us access to your DCHDMI, and thanks - on behalf of the entire community - for putting so much effort into creating such an amazing piece of hardware. Can you give us some information on the history of the project?

Christof: Hi Tom, the project started in July 2016. I got my first FPGA board then and was looking for a project. I also found some schematics and documentation for the Dreamcast, hooked up some wires to the video DACs digital side and started from there. This is what I came up with:

At this point the HDMI protocol was entirely implemented in the FPGA, and there was also no fix for the Dreamcast's weird aspect ratio issue. I then decided to put it on GitHub.

The initial commit is from February 1st 2017. A few days later Dan (citrus3000psi) found the GitHub repository and made a post on the shmups forum, and I joined the conversation in March 2017.
I then fixed the aspect ratio issue and moved to a much more cheaper FPGA development board, while Dan was designing a first QSB and the DCHDMI board 1.0 (pictured below).
Then, early this year, the project really began: Dan and I started talking on a regular basis, he was working on the hardware and I was writing the firmware.

DCJY: Can you give us an idea of why the DCHDMI board is such a big deal? Why is it such a game changer when there are other solutions out there for connecting a Dreamcast to a HD display?

Christof: I think the real heart of the board is the aspect ratio fix: The video from the Dreamcast isn't a real VGA signal, it's closer to a 480p signal. 480p uses 720x480 active pixels, what results in an aspect ratio of 3:2 (for square pixels). According to the SDTV standard a 480p signal can have either a 16:9 or a 4:3 picture aspect ratio. As all modern TVs/monitors use square pixels, they have to scale the pixels to 32:27 (16:9) or 8:9 (4:3) to achieve that.
Dreamcast is putting out a 480p-ish signal, but only is using the inner 640 pixels. So the challenge was to recode 480p to VGA without any kind of frame buffer. Main problem here was, that we needed a PLL that is able to achieve a 1000/1001 clock ratio, which is done by a specialized IC on the board. This way, I was able to do a proper conversion from 480p to VGA without any lag.

Dan: It takes the digital video direct from the GPU and spits it out via HDMI and you can output 4 resolutions:
  • VGA - has correct aspect ratio over HDMI (640x480)
  • 480p - has the incorrect aspect ratio, but some homebrew use the extra pixels, so we left this mode in
  • 960p - integer scale line doubled. Some TVs don't like 960p and won't display this resolution.
  • 1080p - this is 960p in a 1080p frame, so black borders. This setting is for TV's that cannot handle the 960p format
For VGA incompatible games, The cable detect puts the FPGA in to a state of checking to see what the dreamcast is outputing. So let's say you want RGB out of the analog port and HDMI you would set the mode to cable detect, the Dreamcast would output 480i to the analog port and the HDMI would upscale to 1080p etc (whatever setting) via de-interlacing.

If your TV accepts 960p, than you should use the 960p setting. 1080p was used, as its a standard, and 960p fits nicely inside. The video being display is really 960p - the 1080p just makes compatibility 100% with all TVs.  I have one TV that works with 960p and one that doesn't.

DCJY: Absolutely fascinating stuff! For the man on the street though, which will do a better job of upscaling: our TVs or the DCHDMI?

Dan: It is a digital to digital true HDMI solution. As there's no analogue conversion in the chain which can add noise and artifacts, this differs from the other cables as those are analog VGA/RGB to HDMI and suffer from the aspect ratio problem. It also does 960p/1080p. As some TVs really soften a 480p image when the TV panel is upscaling to its native resolution (1080p or 4K). Also, since this is a digital to digital mod, there is zero image lost in the chain. Colours are exactly what the Dreamcast developers intended.
Image source: http://junkerhq.net/xrgb/index.php?title=Dreamcast
Christof: It really depends on your personal preference: If set to VGA output, your TV will scale the image to full screen height and will do the interpolation, which usually results in a smoother picture. If you prefer a crisp image with no interpolation done by your TV (full HD TV, 4K is a little bit different), you should use the 1080p output mode, where all pixels/lines are doubled.
***
As you'll no doubt be able to tell from the video above and the screens around this article, the DCHDMI really does make Dreamcast games look better than any other option on the market today. We have to give Dan and Christof the maximum amount of kudos that's legally permitted for what they have acheieved with the DCHDMI board. The sheer number of output options, the built in wifi for firmware updates, and most importantly the ability to play Dreamcast games in 1080p on a modern display.

It's a staggering accomplishment and just shows what the community can do with the Dreamcast hardware. It's also worth noting at this point that there is no input lag while playing, and everything runs at full speed - either 30fps or 60fps depending on the game. The video uploaded above appears to show some jerkiness in the footage captured, but that's the result of my capture device, not the fault of the DCHDMI.
For further information on the DCHDMI, we thoroughly recommend that you follow both Dan and Christof on Twitter (citrus3000psi and chriz2600 respectively), and also follow the development and improvements on the DCHDMI firmware on GitHub.

Finally, and most importantly, you will soon be able to order a DCHDMI of your own at Dan's online store at https://shop.dansprojects.com/dchdmi.html or tap the Black Dog Technology logo below. The DCHDMI will cost $150 and an installation service will be offered once orders go live in November 2018.
What do you think? Has this article convinced you that you need the DCHDMI in your life? Let us know in the comments, on Twitter or in our Facebook group.

Related articles:

19 comments:

Mongroovy said...

Also, this mod does the same for the audio as the video. The DCHDMI takes the digital audio signal directly from the DAC, no analog convertion.

Blondejon said...

Just when I think Ive seen all the dreamcast could possibly have to offer someone comes along and blows my mind with a technology hack! This is amazing and means that "the console that wouldnt die" is still kicking and screaming and full of life. What an exciting time to be a dreamcast owner.

Felipe Guerrero said...

I am also incredibly excited and impressed. The Dreamcast was the first thing i bought with my hard earned money when i was a kid. I was devastated when it was discontinued because i loved Sega stuff. I would have never imagined that i would be enjoying my console for so many years to come and soon in an incredible picture quality. The Dreamcast is the legend that will never die!

Fafadou said...

unbelievable !!

If I understand well, the non vga games are also upscaled. But a true vga for those game will increase the result.

what a fantastic board :-)

hoogafanter said...

I love playing in 480p via VGA and never really felt like the picture isn't great, so this option might blow my fucking mind... Can't wait to see more comparisons...

Tom Charnock said...

Just a note to those who may be a bit concerned that the video footage isn't 60fps - I can assure you that there is no stuttering or anything of the sort when playing on a TV screen. It runs at full speed with no lag. I'm putting it down to the capture device and iMovie (there doesn't appear to be a way of changing the fps of the video so I left everything at default).

RetroButton said...

Wow! Not even a cheap solution, but the output is impressive.
Problem is: Its already sold out.

Segasocks said...

Once people see the Spirit of Speed in full HD they will realise it is probably the best racing game of all time!

Tom Charnock said...

It hasn't sold out - it just hasn't gone on sale yet. Orders will be available from mid November 2018 and it'll cost $150 according to the Web store.

RetroButton said...

Thanks Tom. I´m really thinking about getting one.
This thing gives the possibility to play non-VGA games upscaled! Very nice.

Igor said...

will buy for sure !

DoubleVision said...

It goes inside the DC, will it fit if I have the GDEMU inside the DC instead of the regular CD drive?

bugtv said...

@doublevision I would assume it would fit fine because it goes underneath the board, would be nice for clarification that it's compatible to work together though

Tom Charnock said...

@bugtv @DoubleVision - Yeah I would agree - I can't see why it wouldn't fit as yes, it sits under the main board. It's also worth noting that the other ports continue to work fine too, so if you want to hook up to a CRT or a VGA monitor you still can :)

Brian said...

Do you think it would be possible to connect to the dreampi servers with the onboard wifi on the dchdmi board?

An all in one HD wifi gaming solution for the Dreamcast.

Unknown said...

@DoubleVision
DCHDMI sits below the motherboard and does not interfere with anything plugged in the GDROM connector. I tested it with both GDEMU and USB-GDROM extensively, and DCHDMI also supports resetting both from the OSD.

@Brian
Unfortunately not, this would be another big project :) The Dreamcast modem is connected over the G2 bus. As there are no more pins available on the FPGA currently used, it's not possible with this hardware design.

Anthony817 said...

@Brian, I am afraid not as this doesn't interface with the actual modem like the DreamPi does.

Unknown said...

Do you know if they are going to have a round 4 for preorders? I just got my tax return and was going to plunk down the cash for one, but it's sold out now. :(

Segasocks said...

The Spirit of Speed 1937 has never looked so good!