@@circuit10 Yes, I think so. That's on my todo list as an alternative mode (or maybe alternative firmware if necessary). Although it won't probably be a native driver but a Python script that creates a virtual camera on the host system. This way I can hopefully offer a single solution for Linux, Windows and iOS.
@@ThereOughtaBe This is great. It's awesome. But as I was watching this I realized that, using this approach, you can likely build a retroachievements cartridge to add achievements to physical gameboy games. You would need wifi support and a simple interface to log in, but I think it can be done. I believe the mgba emulator has a fork which has retroachievements built in. Maybe you could utilize that to watch for achievement triggers. We're getting closer and closer to achievements on physical hardware.
The fact that stuff like this is still being made for this older generation of consoles just brings me so much joy! This is what our collective love for gaming has given us, and it's lovely!
@@MaxOakland - That's awesome! I'll have to take a look! I got a homie that's making a game for the NES based off a meme, and that level of dankery just brings me joy, lol... Thank you for your continued service to retro gaming! Wait... SHIT! If it's new, then it isn't retro anymore! NOOOOOOO!!! **Rawkfist exploded...**
Yeah and you can get the Japanese Super Gameboy 2 and it's 1:1 accurate in terms of CPU cycles. I believe the original Super Gameboy released in NA was ever so slightly off in terms of accuracy.
@@Gerenocidiac Clock Modding the SGB is actually a pretty cool thing to do. However the Super Gameboy 2 is a great option with its cable port as well for trading pokemon lol
this is a very cool idea! i wonder if it would be possible to have the interceptor output the actual cpu instructions that it intercepts instead of the video ram. you’d need to be able to emulate the gameplay later on a computer from the intercepted instructions, but the interceptor wouldn’t need to emulate video ram in real-time
This would be neat and would be conceptually similar to how theatre mode worked on Halo games on Xbox 360. Instead of capturing video, they would just save a log of player positions, weapons, map state, etc and reconstruct it.
I had exactly the same thought. I feel like if you ran the emulation in a client application on the connected computer you'd solve the problems of video bit rate and cpu power at the cost of a little bit of latency. I can't imagine the raw CPU instructions would exceed the available bit rate of the USB connection (though I could be wrong).
Might as well just send the controller inputs to the PC and let it do all the emulation. [I read "There oughta be a Game Boy capture cartridge" web page and apparently it can't directly intercept controller reads.] Before I watched this video I assumed it just intercepted the PPU writes and emulated it.
i was wondering about something similar! it should be possible to write a bespoke exact res 2-bit video format for the GBI to send over usb and then simply have a dumb translation program do the conversion into YUV or RGB? from there you can plug in whatever open source codec you want. I don't know if modern stuff like lossless x264 gets upset that small, but i bet huffYUV could do it, and that's been implemented in FFmpeg forever (i used to use it in DScaler back in 2004 when i didn't have a tv and used my trinitron for consoles - i couldn't afford an xrgb, but good bt8x8 capture cards were only $80). at that point the world is your oyster and you can generate whatever video format you need from inside FFmpeg - even cool stuff like capturing clips straight into 60fps animated gifs for super easy sharing!
We should emphasize that the thing that distinguishes this from emulation is that the state of the emulator is tied to the state of the hardware you are playing on. I would’ve liked to see if this enables capture from special hardware like Game Boy Camera.
And still its just the same as emulation. The only advatage you have is that you can play the game on your gameboy. But the captured game is just an emulated one that is running side by side. Every imperfection in the emulator will make the capture to lose its synchronization from the game running on the gameboy. And there is no way of the capturing device to know it went wrong. The reason why the camera and game genie work is because the interceptor sits in between them. Every request from the gb is read and then passed to the cartridge/gamegenie/camera. Neighter the gb, game cartridge or any other device that plugs in the cartridge slot knows the interceptor is listening along. But the interceptor does know what data the gameboy gets back. But it still is just emulation like when you would run an emulator on your pc. Look at it like this, you have 2 computers one with a screen and one without. If you would start both and do the exact same thing on the one without a screen as the one with, and record the one without a screen its video output, then the video would look exactly the same as if you would have recorded the pc with a screen. But its still not a recording of the pc with a screen. And any minor difference in between the 2 pc's will mess things up.
@@timvangenechten5258 “Every imperfection in the emulator will make the capture to lose its synchronization from the game running on the gameboy.” Not exactly. The state of the game is being constantly resync’d with the memory dumps so a desync between hardware and emulation will be wiped out with the next state… exactly like netplay on emulators like ZSNES.
The driverless webcam was a good idea. However, I think it causes too many limitations due to the codecs available. Another approach would be to use HID to keep it driverless. CDC may even work but the driver is not native to all OS's. Create a program on the computer to format the stream and output as a virtual webcam (or something else). This would free up resources on the Pico, allow full FPS, and GBC.
The Super Gameboy for the SNES was the original way to do this. You can do this sort of thing with a Bus Pirate to spy on i2c data to an OLED and display it on a computer. The trick is being able to capture and process data fast enough.
The frame rate limitation might be solvable using a specialized application on the host computer. Transferring the contents of VRAM to the host machine requires about 5.5 Mbps, definitely feasible over a USB connection. The program on the host would have to encode this data as a video stream so that other applications could use it. I can understand why the hardware designer wanted to avoid developing software for several different operating systems, but there is room for the community to help improve this product.
Another really interesting video. I always enjoy and learn something from watching your channel. I just received my Pocket and dock so that suffices for my needs. It is amazing what the community has made for these retro/vintage systems.
This is absolutely a novelty for a super niche audience. It is nice that there are multiple ways of capturing Gameboy games on native hardware and we don't have to be subjected to a very expensive GameCube or SNES attachment, but I wish we got efforts like this for DS or 3DS hardware as there aren't a lot of options for that.
I like that MVG covers this stuff; it makes a cool RUclips video. But the actual product just seems like emulation but with extra steps. The GB adapter for Game Cube is still the best option for people who want to capture genuine hardware. Because that’s how the Game cube GB player works
The Game Boy Player isn't "genuine hardware" because it has slight differences from an actual GBA (and large differences for the Super Game Boy for SNES, that one doesn't run at the correct speed). This isn't "emulation with extra steps" because you're playing the game on an actual, unmodified game boy.
@@Zanpaa You might want to revise that first statement. The GB Player was made officially by Nintendo, and is based on the original GBA design, repackaged for the new form factor. It's literally genuine hardware by definition. It has some minor differences (as far as the game can detect) but so does every Gameboy revision, all the way from the grey brick, through the GBC and to the GBA line. Early GBC's behave very slightly different from late GBC's, which can affect some speedruns, and you can't tell just from looking at the outside. You actually have to open the Gameboy, or run a test on a cartridge to detect the difference. Are either early or late GBC's not genuine because of this? You're right about the GB Interceptor, however. The game is running on the unmodified hardware. However, at the same time it's also worth nothing that while the emulation on the Interceptor will not affect the game itself, it will affect the captured display data, and some games are known to produce corrupted graphics in some instances.
So happy to see this project get more exposure. I'm hoping to pick one up in a month or two, though I wonder if someone was able to make an upgraded model capable of handling GBC games.
Brilliant stuff! I never would've imagined this was possible when I was a lad. I remember the 1st time I finished Tetris B game on 9 - 5 & got to see the dancers & the Space Shuttle, then trying to run to show my brothers & Dad before my 4x AA batteries ran out. I then had no way of proving to my mates that I'd completed the game without playing & completing it again. Think I'm going to have to treat myself to one of these as I personally believe Tetris is best played on the original DMG, even if I do love playing it on my PSP. Thank you MVG.
The creativity and sheer engineering prowess of the homebrew/homebuilt community never ceases to amaze me. Kudos to there oughta be for masterminding this amazing kit.
Katsukitty was based in Japan, so Nintendo threatened them out of existence. Loopy is still making DS and 3DS capture cards in small batches. It would be nice if they were open source and could be home-built, but you’d almost certainly have to be a skilled, confident solderer to put one together and install it. It’s likely impossible to intercept enough of a game to reconstruct video though the DS/3DS cartridge ports, as the cartridges themselves are encrypted.
The Operator reads a ROM and then runs an emulator on the PC to play it separately, this is capturing what's being played on an original unmodified game boy.
I think the next revision of the hardware should wrap around the back so the game cartridge isn't sticking straight up. It's just a lot of extra length and possibly fragile if it bumps against something like a desk edge. Just having the cart flush against the back of the Gameboy would make it less awkward and prone to damage.
The current hardware is designed with an external cartridge slot board that can be attached by a ribbon cable. The cart can be wherever you’d like. Most people just solder the cartridge slot to the top of the device though.
I couldn't help thinking while watching you play Super Mario Land 2 that it's weird that Mario, a character based on a real person, and presented as a working-class guy (a plumber, a boxing referee, a construction worker) can hold his breath underwater indefinitely (in the 2D games at least), while Sonic, a blue talking hedgehog who's the fastest thing alive manages about 30 seconds. That was the step too far for SEGA obviously.
Great project, looking forward to seeing what future iterations bring. I think that upscaling issue is going to have to be resolved though, particularly when it comes time to do GBC due to the fact that many titles on that platform used the LCD persistance trick to effectively generate more colors.
Looks like "Y800" colorspace might work. It gives ~11Mb/s bitrate which can fit in 12Mb/s Full Speed USB. Windows and Linux UVC drivers support Y800. But SW (like OBS) needs to be tested for support. Color pallets can be done with LUT filter in capture SW
That’s a great sounding device. I got into the pocket ecosystem partly for being able to have the dock to output for streaming and gaming on the tv with. For people with existing game boys this seems like a great low cost alternative
I guess it's a good cheap alternative, but seeing it's limitations a GameBoy player with GBI seems to just make a lot more sense for hardware video capture
I'm glad we're getting alternatives for capturing footage. Didn't get the dock for the Analogue pocket since I got my GameCube for game capture. But getting a GameCube with GCLoader and a gameboy player to run GBI, and getting a carby or something will cost you... Also got an mclassic on that! The footage is beautiful but might not be worth it for everyone
Anyone who goes crazy over the GC-GameBoy Player would probably be very stoked to have this wonderful display adapter , , ,I hope a GBA friendly version of this comes out soon 👍😎👍👍
Those watching should also be aware of the various consolizer kits out there now that output via HDMI. Those are going to give a far better experience than this. The only real upside here is that it's cheap & doesn't require modifications.
Plugging a USB controller into a PC doesn't require any modifications either. This is neat in a theoretical way, but when you get down to it I don't know why you'd bother when the captured footage is at half framerate. No one watching a stream is going to be happy with that. You're emulating it anyway, may as well just accept it. Emulation is great, especially on these older consoles!
@@hmm_norah Except you're not emulating it, you're playing the game on original hardware. Only the capture is emulated. This device was made specifically so that you can stream games played on unmodified original hardware.
On capturing 100% framerate: Option 1) output via HDMI. Anyone who is streaming consoles has a capture device already. Anyone who doesn't should probably get one anyway, unless they are exclusively streaming gameboy via this device Option 2) Have a switch to output 16-bit grayscale via any open-source codec at rate. Encode difference between this frame and previous skipped one as lower 2 bits of color. Plug&play would look like a blended 29Hz image. Then modify an OBS-compatible version of same codec to decode color into higher framerate, or make a filter that does the same. Depending on how blending is currently done, it might be possible to recover data from what the device outputs already. Option 3) Have a switch that uses a custom codec that simply streams raw data without any conversion. User would need a decoder that can be distributed via normal means. Switch off = 29hz for noobs who want to plug and go. Switch on = 59Hz for pros who sure can install a decoder.
A really interesting concept. Instead of video, this device captures CPU code which is then "played back" on an emulator. Sort of like running a non-interactive demo, except it's generated from real gameplay data. While not a true capture card, this is perhaps the closest thing you can get without modding your GB.
Since you already need a cable to transfer the video signal, I'd suggest to "simply" (I know it's not that simple) route the whole cardridge-dock to a module sitting on the desk. That would open up the possibility to use a more potent CPU for emulation and video generation.
To get a 60 FPS image, could they possibly pack 2 frames in to multiple bitplanes of 1 frame? So one frame is the high bits and another is the low bits. It'd just look like ghosting if unprocessed, but could be unpacked back in to 2 frames.
So basically interlacing? It makes sense in theory, seeing as it's already sending more data than is actually needed for the frame. But how would you deinterlace the output? It would probably need special software in a worst case, or maybe a specific setting in VLC at best.
@@3dmarth yeah it'd need some kind of filter on the PC end, but that wouldn't be a huge deal. Could probably even be done on a GPU, not that performance would be much of an issue processing a 160x144 image.
Re: the issue about video output color format limitations, I wonder if it makes sense to have the GB Interceptor's output stream be a raw binary format where each frame is a (160 width * 144 height * 2 bit) = 46080-bit = 5760-byte struct, maybe +2 bytes to store the width and height of the current frame = 5762 bytes per frame. Then, there could be a PC client that reads the binary data and saves it on-the-fly (potentially gzip/lzma-compressed) as well as handles conversion to whatever video format the user desires (either to save as an output file in the desired format, or stream it to a virtual capture device on the PC that could be recognized by OBS/similar)
I feel like something like this would work much better for something like the 3DS. Out of all Nintendo handhelds, that's the only real one that's rough to capture from real hardware to this day, besides maybe the Virtual Boy. Even if it doesn't allow a pass through for real carts and requires a hacked system, it would still be worth it if the price was good.
It's more cool than practical in my opinion. The thing I don't like about the Interceptor is the very thing that makes it work. It's a cart solution that takes up the cartridge space, and has any game that you plug into it, sitting over top the console. To me, it doesn't exactly look sturdy or safe, I'd be afraid of it breaking.
This is nice thanks for showing this device and breaking it down for how it works. Do they have one of these for DS,3DS games? They stopped making compatible devices after the GBA,GBC,GBA from the cube to television.
It’s cool they’re making a GB capture device directly from the GB and without the Super Game Boy add on, but I would rather wait until they support Game Boy Color and Advance because I already the Super Game Boy.
When I was growing up Beaties used to have a nintendo game boy cabinet that played gameboy games on a crt using a regular gameboy. I still have no idea how they they did that back in the 89
319 effing dollars to stream game boy games! That is insane! Also I wanted to say that the interceptor is an amazing piece of hardware. It's just amazing what the gaming community is able to create.
you do not need a modshop to have the pcb assembled and soldered, you can just order the pcb by one of the big PCB online maufaktures and use their assembly and solder service to have it done for you which should be way cheeper & quicker.
It's going to be a lot more expensive to do this for a single unit than buying a ready made one. You will also need to solder the cartridge port yourself.
Wouldn't it make way more sense to just stream the instructions and run the emulation on the capturing pc that way you aren't limited to the clock frequency of the pico it would then allow for all gameboy consoles support?
I absolutely love this project, and hope people find awesome use cases for this, but I think, personally, I'd just get a controller cart and the GB as a controller for an Emulator.
when i read the title, i never would have expected that this capture card has to cram an entire second gameboy inside to generate a duplicate video signal.
itd be very cool to see this become a full fledged gb emulator on the pico tbh, like get an sd card and either output this way or some other way like composite or some digital output in some way maybe even getting around the 29fps limitation, connect a basic controller and done, itd need a lot of work i think but the results would be so great imo
The usual point of capturing direct from hardware is to maintain that silky smooth real hardware look and feel that emulators generally break. The output from this looks jerky due to the FPS, its a nicely engineered idea but can't help think it misses the goal, you'd be better capturing from an emulator seeing as all the beauty of the real hw capture is being thrown out.
Seems to me that it would be well worth it to be able to transfer in a custom format requiring a special server/driver to unpack on the host. This could then provide a highly compatible "full frame" A/V stream internally for capture. Though maybe USB is so terrible to deal with that this is less practical than I think.
So I have one and I think some people are missing that while this does use bare bones emulator it doesn't emulate the Gameboys CPU. This is intercepting the commands that the gameboy cartridge is passing around and interpreting them with an emulated VRAM. Fun tool, I've been using it to have a funny GB camera webcam easily. It's also not 100% compatible with different consoles. The GBA SP has had some issues running some games. Now if only a year ago I also bought a Pocket dock with my Analogue Pocket...then I wouldn't be back on the wait list.
Reading through the web page "There oughta be a Game Boy capture cartridge" (RUclips hates hyperlinks), I have a better idea of the technical operation. It's not simply making a copy of the ROM, reading controller input, and running a normal emulator in parallel with the Game Boy. It basically snoops the bus on the cartridge to determine what gets written to video RAM. But the cartridge bus doesn't reflect internal RAM writes or PPU writes, so it has to do this indirectly by monitoring reads by the CPU from the cartridge ROM, then partially emulating the instructions in order to determine (mostly) the CPU, RAM, and PPU writes. For example it doesn't have to fully emulate branch instructions because it can just watch the next address. Apparently part of the purpose of this emulation is to even interpret the bus cycles properly, since each instruction does several. The author calls this "emulation on rails". There are examples on the page where the values written can't be fully determined. A interesting example is the garbage blocks in Tetris having different tiles.
The idea is nice, but I feel like if I wanted to capture the authenticity of the Gameboy screen, then I'd want all the actual imperfections there. The ghosting, the power shut off line, the poor visibility due to a lack of backlight, and the dullness retained. I feel like I'd prefer some sort of Gameboy lens that covers the Gameboy screen itself. That idea may be difficult as it'll block all the natural light shining on and reflecting off the screen, but it's still something I think I'll appreciate more.
I know it 'was' possible at one point, because one of the many "Gameboy Store demo Kiosk's" - a local store had one, and they kept it will into the 00's, it ended up at the back corner of the store's stock room, and I remember them repairing it one time, and they literally swapped out the Gameboy for another they purchased 2nd hand, which fixed the issue.. So at least one of the Kiosk things had the ability to 'see' what the gameboy was seeing somehow, and display it on the screen... I'm pretty sure it was a smaller table-top version, not one of the taller free-standing ones...
Unwieldy, the mod plus the cartridge makes for a very tall device. Maybe if the cartridge was mounted on back and fed to the main slot with a cable it would be more ergonomic.
The 29fps cap really limits this to novelty territory, rather than being a way to get quality recordings off the GB, but man... that emulation-based approach is such a brilliant and ridiculous way of doing something that shouldn't even be possible.
the video format limitation seems to be something that can be overcome with a vritual webcam driver that can read raw usb data so you don't waste the usb bandwidth on formatting data in a limited format. just stream the raw bytes over the usb port to the virtual webcam driver and have the pc add all that extra padding to make it a standard video format. it would require a driver but that means the same hardware can be used and would solve the limitation
Some kids are just too cool to use a SuperGameBoy 😁 Pretty cool that it shows up as a webcam. I imagine with a project like this, the codec problems will be fixed sooner or later. The rp2040 is such a cool microcontroller, people are finding such creative ways to make creative things with it.
Cool, I had no idea that it would be featured here and everything was spot on. Thanks!
holy shit. you saw the video!
Love your work dude! Keep it up!
Could you use raw USB data transfer + a custom driver on the PC to send the 2-bit signal and have it work at 60FPS?
@@circuit10 Yes, I think so. That's on my todo list as an alternative mode (or maybe alternative firmware if necessary). Although it won't probably be a native driver but a Python script that creates a virtual camera on the host system. This way I can hopefully offer a single solution for Linux, Windows and iOS.
@@ThereOughtaBe This is great. It's awesome. But as I was watching this I realized that, using this approach, you can likely build a retroachievements cartridge to add achievements to physical gameboy games. You would need wifi support and a simple interface to log in, but I think it can be done. I believe the mgba emulator has a fork which has retroachievements built in. Maybe you could utilize that to watch for achievement triggers. We're getting closer and closer to achievements on physical hardware.
The fact that stuff like this is still being made for this older generation of consoles just brings me so much joy! This is what our collective love for gaming has given us, and it's lovely!
People are still making games for Gameboy! I made one that is out on a physical cartridge and I’m working on a new one called Wink
@@MaxOakland - That's awesome! I'll have to take a look!
I got a homie that's making a game for the NES based off a meme, and that level of dankery just brings me joy, lol...
Thank you for your continued service to retro gaming! Wait... SHIT! If it's new, then it isn't retro anymore! NOOOOOOO!!!
**Rawkfist exploded...**
@@rawkfistgaming Oh no! What have I done
Now you are playing with power, PORTABLE POWER! I will probably still use the Super Gameboy for DMG capture but this is really amazing!
Yeah and you can get the Japanese Super Gameboy 2 and it's 1:1 accurate in terms of CPU cycles. I believe the original Super Gameboy released in NA was ever so slightly off in terms of accuracy.
I guess the Gameboy refresh rate is tied to some multiple of the Z80’s frequency?
@@Gerenocidiac Clock Modding the SGB is actually a pretty cool thing to do. However the Super Gameboy 2 is a great option with its cable port as well for trading pokemon lol
yep i like sgb2 with the black border
What a wild project. This seems like a lot of work to get an emulated capture but u respect the creativity and hard work.
this is a very cool idea! i wonder if it would be possible to have the interceptor output the actual cpu instructions that it intercepts instead of the video ram. you’d need to be able to emulate the gameplay later on a computer from the intercepted instructions, but the interceptor wouldn’t need to emulate video ram in real-time
This would be neat and would be conceptually similar to how theatre mode worked on Halo games on Xbox 360.
Instead of capturing video, they would just save a log of player positions, weapons, map state, etc and reconstruct it.
I had exactly the same thought. I feel like if you ran the emulation in a client application on the connected computer you'd solve the problems of video bit rate and cpu power at the cost of a little bit of latency. I can't imagine the raw CPU instructions would exceed the available bit rate of the USB connection (though I could be wrong).
Might as well just send the controller inputs to the PC and let it do all the emulation. [I read "There oughta be a Game Boy capture cartridge" web page and apparently it can't directly intercept controller reads.]
Before I watched this video I assumed it just intercepted the PPU writes and emulated it.
@@shanez1215 So like a Demo File for Doom that saves the player inputs
i was wondering about something similar!
it should be possible to write a bespoke exact res 2-bit video format for the GBI to send over usb and then simply have a dumb translation program do the conversion into YUV or RGB?
from there you can plug in whatever open source codec you want. I don't know if modern stuff like lossless x264 gets upset that small, but i bet huffYUV could do it, and that's been implemented in FFmpeg forever (i used to use it in DScaler back in 2004 when i didn't have a tv and used my trinitron for consoles - i couldn't afford an xrgb, but good bt8x8 capture cards were only $80).
at that point the world is your oyster and you can generate whatever video format you need from inside FFmpeg - even cool stuff like capturing clips straight into 60fps animated gifs for super easy sharing!
Interceptor must be the best possible name for anything ever.
We should emphasize that the thing that distinguishes this from emulation is that the state of the emulator is tied to the state of the hardware you are playing on. I would’ve liked to see if this enables capture from special hardware like Game Boy Camera.
Check out the creator's video, linked in the description, to see the Game Boy Camera in action.
That would be cool
even Game Genie works with this
And still its just the same as emulation. The only advatage you have is that you can play the game on your gameboy. But the captured game is just an emulated one that is running side by side. Every imperfection in the emulator will make the capture to lose its synchronization from the game running on the gameboy. And there is no way of the capturing device to know it went wrong. The reason why the camera and game genie work is because the interceptor sits in between them. Every request from the gb is read and then passed to the cartridge/gamegenie/camera. Neighter the gb, game cartridge or any other device that plugs in the cartridge slot knows the interceptor is listening along. But the interceptor does know what data the gameboy gets back. But it still is just emulation like when you would run an emulator on your pc.
Look at it like this, you have 2 computers one with a screen and one without. If you would start both and do the exact same thing on the one without a screen as the one with, and record the one without a screen its video output, then the video would look exactly the same as if you would have recorded the pc with a screen. But its still not a recording of the pc with a screen. And any minor difference in between the 2 pc's will mess things up.
@@timvangenechten5258 “Every imperfection in the emulator will make the capture to lose its synchronization from the game running on the gameboy.” Not exactly. The state of the game is being constantly resync’d with the memory dumps so a desync between hardware and emulation will be wiped out with the next state… exactly like netplay on emulators like ZSNES.
The driverless webcam was a good idea. However, I think it causes too many limitations due to the codecs available. Another approach would be to use HID to keep it driverless. CDC may even work but the driver is not native to all OS's. Create a program on the computer to format the stream and output as a virtual webcam (or something else). This would free up resources on the Pico, allow full FPS, and GBC.
You could also set up a 'proper' codec but that would require 'drivers' for the 'webcam'
I was just looking for MVG videos i hadn't seen yet and then out of nowhere with perfect timing did I receive a notification for this video lol
The Super Gameboy for the SNES was the original way to do this. You can do this sort of thing with a Bus Pirate to spy on i2c data to an OLED and display it on a computer. The trick is being able to capture and process data fast enough.
Great job, developers. Thanks for the video MVG.
The frame rate limitation might be solvable using a specialized application on the host computer. Transferring the contents of VRAM to the host machine requires about 5.5 Mbps, definitely feasible over a USB connection. The program on the host would have to encode this data as a video stream so that other applications could use it. I can understand why the hardware designer wanted to avoid developing software for several different operating systems, but there is room for the community to help improve this product.
now he used a different video codec and it works at native fps
Another really interesting video. I always enjoy and learn something from watching your channel. I just received my Pocket and dock so that suffices for my needs. It is amazing what the community has made for these retro/vintage systems.
This is absolutely a novelty for a super niche audience.
It is nice that there are multiple ways of capturing Gameboy games on native hardware and we don't have to be subjected to a very expensive GameCube or SNES attachment, but I wish we got efforts like this for DS or 3DS hardware as there aren't a lot of options for that.
People just aren’t as excited about the DS or 3DS right now
I like that MVG covers this stuff; it makes a cool RUclips video.
But the actual product just seems like emulation but with extra steps.
The GB adapter for Game Cube is still the best option for people who want to capture genuine hardware. Because that’s how the Game cube GB player works
The Game Boy Player isn't "genuine hardware" because it has slight differences from an actual GBA (and large differences for the Super Game Boy for SNES, that one doesn't run at the correct speed). This isn't "emulation with extra steps" because you're playing the game on an actual, unmodified game boy.
@@Zanpaa You might want to revise that first statement. The GB Player was made officially by Nintendo, and is based on the original GBA design, repackaged for the new form factor. It's literally genuine hardware by definition. It has some minor differences (as far as the game can detect) but so does every Gameboy revision, all the way from the grey brick, through the GBC and to the GBA line. Early GBC's behave very slightly different from late GBC's, which can affect some speedruns, and you can't tell just from looking at the outside. You actually have to open the Gameboy, or run a test on a cartridge to detect the difference. Are either early or late GBC's not genuine because of this?
You're right about the GB Interceptor, however. The game is running on the unmodified hardware. However, at the same time it's also worth nothing that while the emulation on the Interceptor will not affect the game itself, it will affect the captured display data, and some games are known to produce corrupted graphics in some instances.
So happy to see this project get more exposure. I'm hoping to pick one up in a month or two, though I wonder if someone was able to make an upgraded model capable of handling GBC games.
I bet a GBC model will be possible
Brilliant stuff! I never would've imagined this was possible when I was a lad. I remember the 1st time I finished Tetris B game on 9 - 5 & got to see the dancers & the Space Shuttle, then trying to run to show my brothers & Dad before my 4x AA batteries ran out. I then had no way of proving to my mates that I'd completed the game without playing & completing it again. Think I'm going to have to treat myself to one of these as I personally believe Tetris is best played on the original DMG, even if I do love playing it on my PSP. Thank you MVG.
Sounds like you should join the BG Tetris community! 🙂We're pretty active.
Your room looks like it's coming along nicely! 👌
Happy sending this your way, thanks for this great deep dive!
question, do you know if this device works with games that has RNG?
@@arlen2 it depends on the game. If it relies on inputs, it may not work.
Was watching your goldeneye video when this came up. Good timing. Cool product too.
doing the lords work on whoever invented this thang! SICK
The channel/video is linked in the description, and it's a real treat.
The creativity and sheer engineering prowess of the homebrew/homebuilt community never ceases to amaze me. Kudos to there oughta be for masterminding this amazing kit.
So cool. Love seeing modern ANYTHING developed for retro tech. Bravo
You forgot the OG way: super gameboy
Wild that these are getting made but there are few if any solutions for ds/3ds capture hardware anymore
Katsukitty was based in Japan, so Nintendo threatened them out of existence. Loopy is still making DS and 3DS capture cards in small batches. It would be nice if they were open source and could be home-built, but you’d almost certainly have to be a skilled, confident solderer to put one together and install it.
It’s likely impossible to intercept enough of a game to reconstruct video though the DS/3DS cartridge ports, as the cartridges themselves are encrypted.
Finally the Game Boy has its own TOWER OF POWER!!!
Really cool tech! Really curious to see how this compares to the GB Operator. Happy to see old hardware getting this kind of love.
The Operator reads a ROM and then runs an emulator on the PC to play it separately, this is capturing what's being played on an original unmodified game boy.
@@Zanpaa Ahhh gotcha. Still, cool stuff all around! Hopefully they'll soon discover a way to up the framerate.
I think the next revision of the hardware should wrap around the back so the game cartridge isn't sticking straight up. It's just a lot of extra length and possibly fragile if it bumps against something like a desk edge. Just having the cart flush against the back of the Gameboy would make it less awkward and prone to damage.
The current hardware is designed with an external cartridge slot board that can be attached by a ribbon cable. The cart can be wherever you’d like. Most people just solder the cartridge slot to the top of the device though.
awesome quality content, especially the dive into the technical workings of the device, loved the video! thanks!
Super Mario 2 was in a league of its own , what a great game it still is even Today.
No 30fps Mario game is that good, including 64 and Sunshine. 60fps is a must for platformers.
Agreed
I couldn't help thinking while watching you play Super Mario Land 2 that it's weird that Mario, a character based on a real person, and presented as a working-class guy (a plumber, a boxing referee, a construction worker) can hold his breath underwater indefinitely (in the 2D games at least), while Sonic, a blue talking hedgehog who's the fastest thing alive manages about 30 seconds. That was the step too far for SEGA obviously.
Sonic's metabolism is too high.
Haha good point
Great project, looking forward to seeing what future iterations bring. I think that upscaling issue is going to have to be resolved though, particularly when it comes time to do GBC due to the fact that many titles on that platform used the LCD persistance trick to effectively generate more colors.
Looks like "Y800" colorspace might work. It gives ~11Mb/s bitrate which can fit in 12Mb/s Full Speed USB. Windows and Linux UVC drivers support Y800. But SW (like OBS) needs to be tested for support.
Color pallets can be done with LUT filter in capture SW
That’s a great sounding device. I got into the pocket ecosystem partly for being able to have the dock to output for streaming and gaming on the tv with. For people with existing game boys this seems like a great low cost alternative
I guess it's a good cheap alternative, but seeing it's limitations a GameBoy player with GBI seems to just make a lot more sense for hardware video capture
I'm glad we're getting alternatives for capturing footage. Didn't get the dock for the Analogue pocket since I got my GameCube for game capture. But getting a GameCube with GCLoader and a gameboy player to run GBI, and getting a carby or something will cost you... Also got an mclassic on that! The footage is beautiful but might not be worth it for everyone
Anyone who goes crazy over the GC-GameBoy Player would probably be very stoked to have this wonderful display adapter , , ,I hope a GBA friendly version of this comes out soon 👍😎👍👍
i remember like 2-3 months ago when i saw his video testing the wifi gameboy card. now he finished the gb interceptor. i dont think he will stop here.
Woah this is amazing
Those watching should also be aware of the various consolizer kits out there now that output via HDMI. Those are going to give a far better experience than this. The only real upside here is that it's cheap & doesn't require modifications.
It's a cool idea, but I couldn't imagine playing a tense game with that sticking out, too many connections to rely on.
Plugging a USB controller into a PC doesn't require any modifications either. This is neat in a theoretical way, but when you get down to it I don't know why you'd bother when the captured footage is at half framerate.
No one watching a stream is going to be happy with that. You're emulating it anyway, may as well just accept it. Emulation is great, especially on these older consoles!
@@hmm_norah Except you're not emulating it, you're playing the game on original hardware. Only the capture is emulated. This device was made specifically so that you can stream games played on unmodified original hardware.
Would rather use the super Gameboy adapter cart on an hdmi SNES.
A consolizer kit + a decent capture card with pass-through will be incredibly expensive compared to this, and require a lot more work to put together.
I've been waiting for this one! Found out about this device a month or so ago
That's a pretty nifty way of doing things. Cool!😎
Hey MVG, what’s the screen mod you’ve installed on your DMG? Looks bright and crisp.
aftermarket IPS screen.i dont recall which but ill find out and update here!
@@ModernVintageGamer Thanks mate! Been seeing them around for a while, didn’t realise they were ips. Nice.
The most recent IPS Screen mod for a Game Boy DMG is called "RIPS V5".
@@megabusterretro9203 Oooh. Thanks! I’ll check it out.
MVG = one of the best channels on RUclips. Thanks for another sweet episode.
I really enjoy watching these videos. I'd love to see Street Fighter 2 for the Master System on your Impossible Ports
On capturing 100% framerate:
Option 1) output via HDMI. Anyone who is streaming consoles has a capture device already. Anyone who doesn't should probably get one anyway, unless they are exclusively streaming gameboy via this device
Option 2) Have a switch to output 16-bit grayscale via any open-source codec at rate. Encode difference between this frame and previous skipped one as lower 2 bits of color. Plug&play would look like a blended 29Hz image. Then modify an OBS-compatible version of same codec to decode color into higher framerate, or make a filter that does the same. Depending on how blending is currently done, it might be possible to recover data from what the device outputs already.
Option 3) Have a switch that uses a custom codec that simply streams raw data without any conversion. User would need a decoder that can be distributed via normal means. Switch off = 29hz for noobs who want to plug and go. Switch on = 59Hz for pros who sure can install a decoder.
A really interesting concept. Instead of video, this device captures CPU code which is then "played back" on an emulator. Sort of like running a non-interactive demo, except it's generated from real gameplay data. While not a true capture card, this is perhaps the closest thing you can get without modding your GB.
This will be neat for recording footage of games like Robopon Sun Version which just can't be accurately emulated.
Or you just use a super gameboy
tob does some wicked hardware engineering, cool dude
Since you already need a cable to transfer the video signal, I'd suggest to "simply" (I know it's not that simple) route the whole cardridge-dock to a module sitting on the desk. That would open up the possibility to use a more potent CPU for emulation and video generation.
To get a 60 FPS image, could they possibly pack 2 frames in to multiple bitplanes of 1 frame? So one frame is the high bits and another is the low bits. It'd just look like ghosting if unprocessed, but could be unpacked back in to 2 frames.
So basically interlacing? It makes sense in theory, seeing as it's already sending more data than is actually needed for the frame. But how would you deinterlace the output? It would probably need special software in a worst case, or maybe a specific setting in VLC at best.
@@3dmarth yeah it'd need some kind of filter on the PC end, but that wouldn't be a huge deal. Could probably even be done on a GPU, not that performance would be much of an issue processing a 160x144 image.
Love the Teenage Mutant Ninja Turtles III: Radical Rescue footage 💚
Alright let's go!
Re: the issue about video output color format limitations, I wonder if it makes sense to have the GB Interceptor's output stream be a raw binary format where each frame is a (160 width * 144 height * 2 bit) = 46080-bit = 5760-byte struct, maybe +2 bytes to store the width and height of the current frame = 5762 bytes per frame. Then, there could be a PC client that reads the binary data and saves it on-the-fly (potentially gzip/lzma-compressed) as well as handles conversion to whatever video format the user desires (either to save as an output file in the desired format, or stream it to a virtual capture device on the PC that could be recognized by OBS/similar)
we think exactly alike! i just nerded out about the possibilities here in another content thread, lol
I feel like something like this would work much better for something like the 3DS. Out of all Nintendo handhelds, that's the only real one that's rough to capture from real hardware to this day, besides maybe the Virtual Boy. Even if it doesn't allow a pass through for real carts and requires a hacked system, it would still be worth it if the price was good.
Good luck emulating a 3ds with a razzberry pi
You can use NTR on a hacked 3DS to stream the video over wifi without hardware modification.
What a neat idea. My dude is a genius!
I have seen this and it is great. Thanks for the video MVG
Just watched all 10 minutes in 1 minute 😊
Man i love that intro music
It's more cool than practical in my opinion. The thing I don't like about the Interceptor is the very thing that makes it work. It's a cart solution that takes up the cartridge space, and has any game that you plug into it, sitting over top the console. To me, it doesn't exactly look sturdy or safe, I'd be afraid of it breaking.
I have always just use the Gameboy player for GameCube.
Another really cool option is the Gameboy to NES cartridge.
I thought it was an old-school video recording for Gameboy ads from the early 90s.
This is nice thanks for showing this device and breaking it down for how it works. Do they have one of these for DS,3DS games? They stopped making compatible devices after the GBA,GBC,GBA from the cube to television.
It’s cool they’re making a GB capture device directly from the GB and without the Super Game Boy add on, but I would rather wait until they support Game Boy Color and Advance because I already the Super Game Boy.
Reminds me of the analogue video out on the GBA through the audio port.
When I was growing up Beaties used to have a nintendo game boy cabinet that played gameboy games on a crt using a regular gameboy. I still have no idea how they they did that back in the 89
319 effing dollars to stream game boy games! That is insane!
Also I wanted to say that the interceptor is an amazing piece of hardware. It's just amazing what the gaming community is able to create.
you do not need a modshop to have the pcb assembled and soldered, you can just order the pcb by one of the big PCB online maufaktures and use their assembly and solder service to have it done for you which should be way cheeper & quicker.
It's going to be a lot more expensive to do this for a single unit than buying a ready made one. You will also need to solder the cartridge port yourself.
Cool. I have NO need for one. But now I want one. Man just seeing those games…. I’ll have to play some tonight.
This is pretty awesome! Would the GB Camera work?
Wouldn't it make way more sense to just stream the instructions and run the emulation on the capturing pc that way you aren't limited to the clock frequency of the pico it would then allow for all gameboy consoles support?
I absolutely love this project, and hope people find awesome use cases for this, but I think, personally, I'd just get a controller cart and the GB as a controller for an Emulator.
when i read the title, i never would have expected that this capture card has to cram an entire second gameboy inside to generate a duplicate video signal.
itd be very cool to see this become a full fledged gb emulator on the pico tbh, like get an sd card and either output this way or some other way like composite or some digital output in some way maybe even getting around the 29fps limitation, connect a basic controller and done, itd need a lot of work i think but the results would be so great imo
It is now wild to see that this is now being sold on amazon for £40 a peice.
I have my doubts about the viability of this for top-level speedrunning, but it is a great option for the casual user
The usual point of capturing direct from hardware is to maintain that silky smooth real hardware look and feel that emulators generally break. The output from this looks jerky due to the FPS, its a nicely engineered idea but can't help think it misses the goal, you'd be better capturing from an emulator seeing as all the beauty of the real hw capture is being thrown out.
The point of this specific project is to capture what's being played on original and unmodified hardware, which it succeeds at.
beautifull
elegant solution
The exact opposite
Seems to me that it would be well worth it to be able to transfer in a custom format requiring a special server/driver to unpack on the host. This could then provide a highly compatible "full frame" A/V stream internally for capture. Though maybe USB is so terrible to deal with that this is less practical than I think.
So I have one and I think some people are missing that while this does use bare bones emulator it doesn't emulate the Gameboys CPU. This is intercepting the commands that the gameboy cartridge is passing around and interpreting them with an emulated VRAM. Fun tool, I've been using it to have a funny GB camera webcam easily. It's also not 100% compatible with different consoles. The GBA SP has had some issues running some games. Now if only a year ago I also bought a Pocket dock with my Analogue Pocket...then I wouldn't be back on the wait list.
omg I wanna use a Game Boy Camera as a webcam now
Reading through the web page "There oughta be a Game Boy capture cartridge" (RUclips hates hyperlinks), I have a better idea of the technical operation. It's not simply making a copy of the ROM, reading controller input, and running a normal emulator in parallel with the Game Boy.
It basically snoops the bus on the cartridge to determine what gets written to video RAM. But the cartridge bus doesn't reflect internal RAM writes or PPU writes, so it has to do this indirectly by monitoring reads by the CPU from the cartridge ROM, then partially emulating the instructions in order to determine (mostly) the CPU, RAM, and PPU writes. For example it doesn't have to fully emulate branch instructions because it can just watch the next address. Apparently part of the purpose of this emulation is to even interpret the bus cycles properly, since each instruction does several. The author calls this "emulation on rails". There are examples on the page where the values written can't be fully determined. A interesting example is the garbage blocks in Tetris having different tiles.
The third way is a Super Nintendo with a Super Gameboy and a RAD2X. So you can hook up the Super Nintendo at a capture card by HDMI
The idea is nice, but I feel like if I wanted to capture the authenticity of the Gameboy screen, then I'd want all the actual imperfections there. The ghosting, the power shut off line, the poor visibility due to a lack of backlight, and the dullness retained. I feel like I'd prefer some sort of Gameboy lens that covers the Gameboy screen itself. That idea may be difficult as it'll block all the natural light shining on and reflecting off the screen, but it's still something I think I'll appreciate more.
Very cool outro music
Intro music is giving me Police Quest 2 (MT-32) Vibes
I know it 'was' possible at one point, because one of the many "Gameboy Store demo Kiosk's" - a local store had one, and they kept it will into the 00's, it ended up at the back corner of the store's stock room, and I remember them repairing it one time, and they literally swapped out the Gameboy for another they purchased 2nd hand, which fixed the issue.. So at least one of the Kiosk things had the ability to 'see' what the gameboy was seeing somehow, and display it on the screen...
I'm pretty sure it was a smaller table-top version, not one of the taller free-standing ones...
"GB Interceptor" sounds like some kind of aircraft from a Gerry Anderson series.
Unwieldy, the mod plus the cartridge makes for a very tall device. Maybe if the cartridge was mounted on back and fed to the main slot with a cable it would be more ergonomic.
You should make a video about the current state of denuvo cracking, and the drama surrounding empress and fitgirl
I could see this packed together with a flash cart.
Reminds me a bit of GbVGA and GbHDMI, which are similar cartridges that output a video Signal directly
The 29fps cap really limits this to novelty territory, rather than being a way to get quality recordings off the GB, but man... that emulation-based approach is such a brilliant and ridiculous way of doing something that shouldn't even be possible.
the video format limitation seems to be something that can be overcome with a vritual webcam driver that can read raw usb data so you don't waste the usb bandwidth on formatting data in a limited format. just stream the raw bytes over the usb port to the virtual webcam driver and have the pc add all that extra padding to make it a standard video format. it would require a driver but that means the same hardware can be used and would solve the limitation
I just ordered one from Helders mods.
This is a pretty interesting device- wonder if part of its approach was inspired by the wideboy system in the old Game Boy kiosks.
I want to see one of these with the Game Genie plugged into it. Let's make it taller boys!
It's funny that all these years later, there still aren't many affordable (or available) options to modernize old systems
Some kids are just too cool to use a SuperGameBoy 😁 Pretty cool that it shows up as a webcam. I imagine with a project like this, the codec problems will be fixed sooner or later. The rp2040 is such a cool microcontroller, people are finding such creative ways to make creative things with it.
Oh my God.
Awesome.
Even if we can record with a capture software by playing the game on emulator
The creator explained that this was made for competition/speed running where playing on an emulator was explicitly forbidden.