Loading video...

Video Failed to Load

Go Home

GB Interceptor v1.2.0 is out now! - MJPEG encoding - Full MacOS support - 60fps mode (almost the same as the last beta)

74,659 views • 3 years ago •via X (Twitter)

28 Comments

MVG's profile picture
MVG3 years ago

fantastic work! looks like i need to update my video ;)

Konrad Beckmann's profile picture
Konrad Beckmann3 years ago

Woah, real-time 60 FPS MJPEG encoding on the RP2040? That sounds awesome. I didn't really understand the details in the PR discussion though, is it true lossless and used sort of as a container format in order to utilize the bits more efficiently vs. raw NV12?

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

Yes, it is lossless and abusing JPEG as a container. The trick is to encode the image at 8 times its original size, so each 8x8 unit of the JPEG is just one Game Boy pixel. This way I only need to encode the DC component, can stick to a grayscale channel and use Huffman encoding.

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

It is mostly about being able to ignore colors and setting up a Huffman table to encode the few shades of gray in four bits. One more bit sets AC components to zero and so the encoding achieves five bits per pixel. (Still annoying as the Game Boy only has 2 bits per pixel.)

Konrad Beckmann's profile picture
Konrad Beckmann3 years ago

That’s clever, I love it!

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

That's mostly Ikadzuchi's idea from the PR. Oh, and most of the encoding is done by chained DMAs and a few PIO state machines working in parallel to feed the result back into chained DMAs. So, the CPU only takes a few pixels once in a while and shoves them into this pipeline.

pkerga_bzh's profile picture
pkerga_bzh3 years ago

Thanks a lot I'll test it as soon as I come black home

Frank Cifaldi's profile picture
Frank Cifaldi3 years ago

Hi Sebastian, I couldn't find this on the readme, website or Reddit so apologies if I missed it: what are the cable requirements for this? I know it is USB-C but my use case needs extra length, is it required that I get an "active" cable for 4k video or is a data cable enough?

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

The Interceptor uses an rp2040 that only has USB1.1, which is the reason why getting 60fps was so difficult in the first place. The upside is that long or bad cables should not be much of an issue. However, busy hubs and multiple devices on the same bus might be problematic.

Frank Cifaldi's profile picture
Frank Cifaldi3 years ago

Ah that's great news for me, thank you!

Shane's profile picture
Shane3 years ago

@GameTradeGregg another neat project

Evan Swanson's profile picture
Evan Swanson3 years ago

@KydeandEric supports 60fps and MJPEG now, guess we can IRL stream from a Gameboy camera now :D

Marek Bartovic's profile picture
Marek Bartovic3 years ago

That's so fucking cool! (and no, don't excuse my language, because it really is that fucking cool!!!!!)

Fenixero's profile picture
Fenixero3 years ago

Do I need a new interceptor to have this version or can I update mine?

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

Just hold the flash button while plugging it in and it will show up like a USB stick. Drag the uf2 file from GitHub onto that stick and it should reboot with the new version. (Most cases need to be opened to reach the flash button.)

Fenixero's profile picture
Fenixero3 years ago

GB Interceptor force dmg mode in games? if my game is optimized for gbc does it run in dmg mode?

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

The Interceptor does not influence the way the game runs (i.e. it does not force anything), but it is only compatible with DMG mode. Pure GBC games do not work at all, hybrid games only work on grayscale Game Boys and DMG games work on all systems including GBC and GBA.

tnPlayer's profile picture
tnPlayer3 years ago

@Pixel_Devil @Kalisto3000

Polo's profile picture
Polo3 years ago

Audio ? (poke @digitaLumberjak )

EdgeAds's profile picture
EdgeAds3 years ago

Don’t need one, will never use one. Brilliant work

halfamoos's profile picture
halfamoos3 years ago

gb interceptor is moving up my wishlist...

American Fool's profile picture
American Fool3 years ago

@danvasc2 👀

Mallagan 👨‍👧🇸🇪's profile picture
Mallagan 👨‍👧🇸🇪3 years ago

@syrusch That’s cool xD

🏴‍☠️ 𝐅𝐑𝐀𝐍𝐙 🏴‍☠️'s profile picture
🏴‍☠️ 𝐅𝐑𝐀𝐍𝐙 🏴‍☠️3 years ago

I need some similar thing on my PlayStation 1!!! 😬😬

W00fer's profile picture
W00fer3 years ago

If we have a pico W (or 2) can we do wireless transmission?

Sebastian Staacks's profile picture
Sebastian Staacks3 years ago

Do you mean an Interceptor with a Wifi module (the Pico W is just an rp2040 with external module) or attaching the Interceptor to a Pico W? The former probably will lead to the same power problems as my WiFi cartridge. The latter might work if there is USB host code for the UVC.

W00fer's profile picture
W00fer3 years ago

The latter will most likely increase the size of de adapter even more? Maybe you can make a camera cable to your PCB for the Raspberry Pi Zero W or Zero 2 W. Instead of a camera it has video input. And you can use this:

Filthy Beans's profile picture
Filthy Beans3 years ago

@4amlaundry

Related Videos