Retro AV Setup for Streaming

· retro

Like a lot of computer-obsessed nerds in my approximate age bracket, I've got a thing for retro games. I grew up with them. Digging through catalogues of obscure older games to discover the janky, the ambitious, and the overlooked is still fascinating.

When I'm playing these I prefer to use a MiSTer FPGA to play anything up to the PS1 / N64 / Saturn console generation. If you're not familiar with the MiSTer, YouTube channel My Life in Gaming has a much better and much more comprehensive explanation than I could ever give you (although given how far the project has come in the last two years, slightly dated). The extremely short version: a MiSTer is a multi-console FPGA-based emulator that plays all of those old systems in a package a bit bigger than a Raspberry Pi. Crucially, they allow things like original-spec analog signal outputs to a CRT. For anything newer the N64, I use original hardware. All these systems are hooked up to a CRT, specifically a Sony Wega KV-24FS120, to get that oldschool composite blend.

This has been a very satisfying setup to dig through old libraries with. A well-calibrated CRT does a lot to bring out the joy in these games. Has a pretty big issue though! It's not exactly what you'd call "streaming friendly".

And that is an issue for me. As my friends have slowly spread out across the country, we've stayed very commited to getting together in voice chat once a week (sometimes more) playing games together or streaming whatever weird thing we've been fixated on. When I find a goofy PS1 comedy game about running a ramen shop that makes me use the analogue sticks to chop onions and pour a beer and stamp out cockroaches in the kitchen, I want to stream it to my friends!

Now. I could stream an emulator. I could. That would be simple and ergonomic. It be point and click. Using an emulator is what any sensible person would do. But I don't want a sensible solution; I want a ridiculous one that lets me play on a 72 lb TV.

A Bit About Input Switching

At any given time I have at least four devices hooked up to a CRT that only has two inputs: one composite and one component. A signal switcher is pretty much mandatory. I'm currently using a gcomp 8:2 component switcher:

gcomp component switcher on my test bench

The gcomp is a fairly simple switch: it has eight ranked inputs and two simultaneous outputs. Each I/O slot has component video inputs, a composite video input, and stereo audio inputs. The outputs emit the highest ranked input port actively receiving signal. It's a simple and fairly low profile switch that handles both composite and component.

I'm using an analog I/O board on the MiSTer that outputs signals through a reproduction of the Sega Saturn I/O port. This has a nice little perk: high quality component cables for the Saturn port also frequently feature a composite video cable. Combined with the gcomp accepting both component and composite inputs, this opens some doors.

My default MiSTer.ini is set to output composite via the line vga_mode=svideo. When I'm playing a game that benefits from composite blending (such as Megadrive and Saturn games with a lot of dithering), I boot up the MiSTer and I'm good to go. A second profile named MiSTer_alt_1.ini is set to output component through the same port via only one change: vga_mode=ypbpr. When I want to play something that benefits from a more precise signal, it only takes a quick trip to the OSD menu for an instant profile swap and two taps on the TV's Input button to get those sharper pixels. Everything else is connected to the switch with either component or composite as best suits the device.

OK, the part about streaming

If I was just using the MiSTer this whole thing would've been simple. The analog I/O board can output both an analog signal and HDMI simultaneously, so you can send one cable to the TV and another directly to a capture card. I still do that sometimes! But It's the PS2 that gets me, really. There's so many great games on that thing! I want to stream it!

If you've never tried to hook a PS2 up to a cheap component input converter or an older LED TV that had component input, the results are not what you'd call good. They're actually real bad. Scaling 240p signals from older consoles is already something that isn't handled well; the interlaced 480i coming out of a PS2 looks particularly rough. But the retro scene has come a long way, and console-centric video scalers are plentiful and affordable.

To handle scaling up all these mixed analog signals, I use a RetroTINK-5X Pro. Mike Chi has put together some incredible hardware; the 5X Pro hits the sweet spot for powerful scaling options that output a 1080p signal. There are other, cheaper options out there now you could look into, but I'm already familiar with the RetroTINK line so under the TV it went.

The setup ultimately looks something like this:

Captured audio is handled with a combination of a virtual audio cable and a very dynamic microphone. The virtual audio cable grabs all capture card software audio and carries it over to the stream without ever sending it to my headphones, so that I'm not experiencing a conflict between the TV speakers and the captured video. The microphone helps me isolate what I'm saying so that nobody else hears the TV output.

With all that setup, there's very little left to do to start playing a game. When I boot up a game on one of these devices, I open up the RetroTINK's built-in menu and select a prebuilt profile tailored to that device (that I'll be glossing over for brevity; the RetroTINK settings are involved), fire up the capture card software, and I'm ready to stream. I get to play on the CRT while sending out a crisp video feed for the buddies.

What's next

This setup works, and I've had a lot of fun with it, introducing obscure games to friends and being introduced in kind. But there's still room for improvement!

This post brought to you by a friend's curiosity for how I captured video for my streams. Up next: a guide for creating something like cloud storage and sync for a MiSTer through the use of a NAS.

Search