@@Eddies_Bra-att-ha-grejer Yes and no. It funtion on windows, linux and mac. I currently have it running on my Pi. But yes as in you need software. But with my understanding of this project, it probably wont work with the GBCamera .
It does work with the Game Boy camera (why wouldn't it?). For example the outro was recorded with the Interceptor. But more to the point of the discussion: Being able to record or stream the Game Boy Camera is just a nice side effect. Streaming games while playing on the original hardware was the main consideration, so the focus of the Interceptor is quite different from the GBxCam. If it can do some of its functions too, that's just a bonus. In terms of additional software it indeed should just be usable like a webcam, which it does on Linux and MacOS (with the next firmware update and on Intel devices): you just plug it in and select it in Zoom, OBS, VLC etc. Unfortunately, on Windows VLC and Zoom are not happy with its video format and do not accept it (yet). Here you can use OBS to send the stream to Zoom, but if it you are not already using OBS it could be considered additional software.
This seems like one of those ideas where you would pitch it and everyone would call you crazy.... It's amazing to see how well it works and how clever it actually is
Awesome! A very very cool project and great execution! I like how you do not cut or modify the device, how you made it just show up as a USB camera, and many of your design choices. They show a clear attention to detail and a lot of care. Kudos! I made a somewhat tangential device for speedrunning competitions on the NES - with slightly different design criteria. I ended up going with an FPGA, although the rp2040 is a really neat option. Regardless, thanks again and great job!
I got GB Interceptor earlier this month and I am now streaming Game Boy games live on my Twitch channel CantStopTheRaj (and uploads to my RUclips). This invention is EXACTLY what I wished for when I first started streaming, as I love playing my Game Boy but I want to play ON my Game Boy and not through emulation or another device like Game Boy Player. The GB Interceptor is perfect and allows me to show my viewers a big screen version of what I see on my Game Boy! I even posted my first TwinGalaxies Game Boy World Record this week with the use of the GB Interceptor (Most Points in Skate or Die: Bad N Rad)! I just wanted to say THANK YOU FOR THIS AMAZING INVENTION! You are a hero! THANK YOU!!!!
This is a clever architecture. Before you explained you were running an emulator on one of the RP2040 cores I was thinking that maybe you were sniffing enough bus traffic while CS for the cartridge was not asserted to put the video state back together. I love your videos!
Well done! I’ve been following this project on your other social media accounts and am incredibly impressed by this execution. Emulating the GB (no trademark violation 😝) on a RP2040 core is awesome! As always, great presentation and project breakdown, too!
This is unbelievably metal! This is taking the party gotcha of "well _technically_ everything goes through that one place in the system [which is practically useless for all reasonable intents and purposes]" and just frigging running with it! Amazing!!
once u mentioned the vram problem, my brain quickly figured out you basically needed an whole gb emulator running on the pico but I quickly tossed that idea away cause too much work etc...just to see that in fact u did just that!^^
Maybe the interceptor could have an audio INPUT (where you'd connect the headphone jack of the GameBoy)? That way you'd make sure you sync video and audio properly
Your work with the interceptor es priceless! Also the explanation of how it works is really detailed and well explained, I have one interceptor and functions really well with the games (and especially with the GB Camera). Greetings from Argentina!
Me: "Why would you do that you'll have to basically emulate the whole thing?" there oughta be (6;24): "Solving those details was a lot of fun" That's mildly insane..... Thank you for doing it.
Das eigentliche Produkt außen vor. Dieses Video alleine. RICHTIG nice wie viel Mühe und Arbeit alleine da rein geflossen ist. Und das Produkt an sich natürlich entsprechend auch. Hut ab. Richtig richtig nice!
Incredible project and a stunningly elegant solution. I’m a big fan of the original GameBoy and often feature its games on my channel. I’ve always struggled to capture classic GameBoy - usually either use a Super GameBoy or point a camera at a GBA SP AGS-101 model both of which work ok - but this captures the right “look” too (except with those exceptions noted in the video) Brilliant work - love this kind of thing!
Very cool project!! I’m sure someone caught the mistake already but you kept showing raw data from Legend of Zelda but you incorrectly labelled it as A Link to the Past in a couple parts when it’s actually Link’s Awakening :)
The part with the Analogue Pocket multiplayer is crazy. 2 different kinds of emulators performing 2 different tasks with the same real Game Boy at the same time.
Gute Arbeit, bin beeindruckt 🙂Ich würde zwar der Einfachheit halber mein Analogue Pocket und das Dock verwenden um zu capturen aber als Nostalgiker gefällt mir dein Adapter besser und es hat mehr retro Charm.
Thank you so much, this is amazing. I'm here from MVG's video, subscribed before watching. Just wanted to say that you've made an old guy extremely happy & you've blown my mind. I will be ordering this. First I need to see the GB WiFi video, but I'm not sure this old brain can handle being blown away twice in one day!
7:41 with the new Raspberry Pi RP2350 being advertised as a beefed-up drop-in replacement for the RP2040, intercepting Switch games should be a lunchtime break no-brainer by now.
Not only the project itself is a crazy and well done hacker-work, but the 3d-presentation with these renderings are insane too. What do you do in your free time 🙂
I would not rule it our entirely, but there is a big "if" and a lot of work: The big "if" is "if someone finds a trick to massively optimize my code". I don't see it, but I do not have much experience in optimizing my code for the rp2040 on that level and I have not yet looked into optimizing the machine code. So, maybe. But it would have to be a big optimization because right now I am at the limit of the rp2040 running classic games and most GBC games run at twice the clock speed. If that is possible, there are still many additional registers and features to be implemented including resampling of color information for NV12 color encoding which is required for the limited USB bandwidth. Currently the Interceptor internally handles everything as grayscale with a static color block that is set to gray (or green). Changing that probably also means some memory optimization as the rp2040 will run out of RAM, which is another complicated story... (The rp2040 typically runs it code from plenty of flash with dynamic caching, which is way to slow for what the Interceptor does, so the code is almost entirely copied to RAM first of which the rp2040 does not exactly have too much...) So, nothing that I would immediately call impossible, but several big hurdles.
Thank you for the in-depth information. I love your animations, they gave a clear concise illustration. The machine code parts were very interesting and brought me back to my college days. Keep up the great work and sense of humor 😅 Will this work with a flashcart? I’m not sure how they exactly differ vs original carts.
Yes, I do not have that many games left from my childhood and tested many on a flash cart. Not entirely sure if there could be problems with fancier ones like an Everdrive, but in principle it should work, too.
I had a random thought while watching this video. Do you think it would be possible to create an add-on that allows the original Gameboy with a Pokémon game to trade via wireless with the 3DS' VC RBY/GSC?
Excellent write-up. Any idea how the retail display for the GB in the result 90s worked? The Gameboy screen (and audio) was displayed on CRT within the cabinet. Must have been tricky with the much slower microcontrollers of the day.
ruclips.net/video/C990wzFsoho/видео.html at 4:15 you see the insides. I wonder if it was achieved similar to what Elliot did there: ruclips.net/video/rdRL4naV5VU/видео.html
I would assume the gameboy was modified to access the video signal running to the LCD, and then that was converted into something that could feed a CRT.
Awesome job! 🤩 Will it work with EMS (or any other) flashcarts? Can I use multiple, like 4+, at the same time as different webcam sources when streaming, or will they mess with each other in some way?
Simple flash carts that just run a single ROM should work without any issues (I am using one for testing myself). More complicated ones with menus might cause problems when they reset the Game Boy in order to start the game after the menu. The Everdrive is a good example where the Interceptor currently needs to be plugged in after the menu is already showing to prevent it to start with the menu and instead start when it resets for the game. I have already written a fix for this, but since I do not have an Everdrive I am still waiting for someone to try if it resolves the issue. About using multiple at the same time: I have not thought about this, but the only issue I can see is that currently the serial in the USB descriptor is just set to 123456 in the firmware. This might confuse some software, but it should be easy to resolve by flashing firmwares with different serial numbers to each device. Ideally, I will find a way to generate a serial from the serial of one of the chips on the board (well, actually only the flash chip is a candidate here), so each Interceptor would automatically have a unique serial. One other possible issue might arise if they are all connected to the same USB bus. It is only a USB 1.1 device that uses low bandwidth, but it runs in isochronous mode (the bus has to poll data every 10ms) and that can be trouble for some USB hubs if they have to manage multiple such devices. But all in all I think that these are solvable issues.
@@ThereOughtaBe Thanks for the answer! Then it should work with the EMS's, as there's no menu! I will follow the progress of this project closely. I thought it could be fun using the interceptor with LSDJ and thinking in a live setting it would be cool to have the screens of the DMGs projected as part of the backdrop. But then it needs to be able to run aside at least one more! I don't know how USB busses in computers keep track of what device is which, but you seem to be on to something getting the serial from the chips instead of hard-coding it in! 🙂 Great job with this so far! 👏
Legend, loved the project, it's always a pleasure to see someone on this world thinkering over this old devices. Nice explanation too, thanks for posting
You definitely deserve a like, comment and subscribe! Every video of yours is interesting, funny, clearly narrated and explained, and the perfect length. Thank you so much for sharing your work!
Will it work on GameBoy Advance Game on GameBoySP ? and it's a really beautiful piece of ART for retro game Streamer... edit : i have my response at 7:41 :D
My SNES with Super Game Boy cartridge has been the easiest way to capture video. I like how the GB interceptor is intelligent enough to reconstruct the data in video ram by making educated guesses at the state of- and without having to fully emulate the Game Boy cpu. Best of all, the GPL license allows curious minds to peek at the code.
Bit late but in theory would it have been possible to boot strap it to an emulator on the pc instead of trying to do it on the rpi? Like sending the raw data over the usb and then in software on the pc pipe the data into the drawing/image processing part of some already existing emulator? Would give more resources to the pi and the streaming pc does the image reconstruction based on the data?
I saw a news thing on this and glad this hit my YT feed. Awesome piece of tech, and GB Camera would probably be even better after modding for DSLR lens. I hope we get to see compatibility for GBC at some point
I just discovered this channel and perhaps the answer is in previous videos, but I’m thoroughly mind-boggled at how you acquired so much low-level knowledge of these devices! I have to ask: What on Earth (or beyond) do you do for a living? Now, excuse me while I binge-watch all of your videos…
I am a physicist, but most of what I need for these projects is self-taught - usually through projects like the ones I am showing on my channel. For example, there is so much that went into the Interceptor that I learned from the Wifi cartridge project about the Game Boy, about electronics and about coding. Some of it while searching for a solution, some of it from trying and also a lot from comments I got on the Wifi cartridge video from people who are much more knowledgeable in electronics (which I would consider my weak spot). But as you are also asking specifically about the low-level knowledge of the Game Boy: I learned most of it from many others who looked into the Game Boy before me. Have a look at gbdev.io/ and you will find that the Game Boy might be one of the best documented and researched piece of hardware in human history. Even now some enthusiasts are still trying to figure out the last edge cases of timing differences in the CPU or secrets of some obscure game cartridges.
@@ThereOughtaBe Ok, now I’m even more amazed… I was convinced you had been an engineer in the tech space for a few decades, and I’m an engineer who’s been in the tech space for a few decades! Thanks for the info and thanks for this fantastic content!
In the latest firmware update for the Interceptor I added support to recognize tight loops that wait for the STAT register to synchronize. This means that the video stream on the WiFi cartridge is now properly captured - before this the Wikipedia example worked, but video streams had artifacts. So, yes, I will soon post a short clip of this stunt on social media and maybe as a RUclips short (I try not to post too many of those as I think most subscribers are here for the full edited content).
if used just for recording, can it record the data and then offload emulation to the host PC? This way you can emulate not only basic games at the cost of having a significant processing delay...
You mean in order to play Game Boy Color games? Unfortunately, no. In order to reconstruct the game, you need at least the 16 data pins and the 8 data pins (you might actually get away without rd, wr and cs). That's 24bit per event on the bus, which runs at roughly 1MHz. In total that's about 3MB/s, which is about three times of what the rp2040's USB can handle if your stream it. If you record that internally that would fill up its flash in a bit more than 5 seconds. And that calculation is for classical games - GBC games would run at twice the rate. With different hardware that should be absolutely doable, but then emulating GBC should be doable, too. I am still hoping that someone will look at my code and find a way to optimize it enough to achieve GBC emulation, but streaming or recording the raw bus data is definitely out of the question for this hardware design.
Awesome shit, and informative. So, how about a cart with an SD card slot, headphone jack, and bluetooth... for a music player. Game Boy code just needs to be a file explorer, cartridge handles audio. I guess GB code should have a bluetooth setup menu too... I should of bought an ESP32 with my little disposable income I had recently, dig through your code for reference.
This is an amazing piece of equipment. I don't even stream but still really want to get this. One question: Would this work an Analogue Pocket or must it be original hardware?
The Pocket has a minor difference in how it handles interrupts on the memory bus, which is why it is not working at the moment. But I think that this should be an easy fix. (Just not a high priority right now.)
@@ThereOughtaBe I completely understand. I'm going to price out a few boards this weekend and see how much it's going to cost me. I know a few creators I'd like to gift this to.
🤩 Seeing this project come to life is a dream! Great work, great result! (A Tetris enthusiast)
THE Tetris enthusiast :)
DMG Tetris is the best Tetris
Hi tolstoj 😂
@@creepercraftytT99 Hey creepercraft! 🙂
@@tolstoj_ when the Tolstoj
GB Camera as a webcam is just priceless. Congratulations on this project! Really well done and impressive! And thanks for open sourcing it ✊
Can already be done with GBxCam
@@pocketsuke That requires extra software though, and it's only on Windows. This works by simply functioning like a webcam.
@@Eddies_Bra-att-ha-grejer Yes and no. It funtion on windows, linux and mac. I currently have it running on my Pi. But yes as in you need software.
But with my understanding of this project, it probably wont work with the GBCamera
.
It does work with the Game Boy camera (why wouldn't it?). For example the outro was recorded with the Interceptor.
But more to the point of the discussion: Being able to record or stream the Game Boy Camera is just a nice side effect. Streaming games while playing on the original hardware was the main consideration, so the focus of the Interceptor is quite different from the GBxCam. If it can do some of its functions too, that's just a bonus.
In terms of additional software it indeed should just be usable like a webcam, which it does on Linux and MacOS (with the next firmware update and on Intel devices): you just plug it in and select it in Zoom, OBS, VLC etc. Unfortunately, on Windows VLC and Zoom are not happy with its video format and do not accept it (yet). Here you can use OBS to send the stream to Zoom, but if it you are not already using OBS it could be considered additional software.
@@ThereOughtaBe nice, well consider me wrong! nice work!
Wow, just watched the whole video. Amazing, just amazing. I'll cover this on my next FPGA/Retro gaming video.
Amazing product, great ingenuity.
This is absolutely brilliant! Really taught me a lot about how the GameBoy works!
I totally geeked out for this, great video.
Nice contrast between the 3D animated PCB and the following hand drawn (though clear) explanation on how things work.
Wow that's very very clever! Well done!
What did you use to make the 3d visuals?! They’re SO GOOD!! 2:05
These are done on Blender. I bought the Game Boy model on cgtrader and the PCB and components have been imported from the KiCad design.
I would love to see playing splatoon on a gameboy advance
This seems like one of those ideas where you would pitch it and everyone would call you crazy.... It's amazing to see how well it works and how clever it actually is
We need something like this for the DS/3DS. A non intrusive way to capture footage from original hardware would be amazing
3DS has NTRStream but it's still relatively low quality compared to an actual capture devicr
@@danmakufan It's only for New 3DS, through.
Support the Channel promote
that is NEVER happening. it's $200 to get your new 3DS XL modded from loopy. absolutely worth
@@danmakufannot a solution at all.
Awesome! A very very cool project and great execution! I like how you do not cut or modify the device, how you made it just show up as a USB camera, and many of your design choices. They show a clear attention to detail and a lot of care. Kudos!
I made a somewhat tangential device for speedrunning competitions on the NES - with slightly different design criteria. I ended up going with an FPGA, although the rp2040 is a really neat option. Regardless, thanks again and great job!
I certainly have to start messing with FPGAs one day. The rp2040 was just a familiar tool that fitted the problem.
I got GB Interceptor earlier this month and I am now streaming Game Boy games live on my Twitch channel CantStopTheRaj (and uploads to my RUclips). This invention is EXACTLY what I wished for when I first started streaming, as I love playing my Game Boy but I want to play ON my Game Boy and not through emulation or another device like Game Boy Player. The GB Interceptor is perfect and allows me to show my viewers a big screen version of what I see on my Game Boy! I even posted my first TwinGalaxies Game Boy World Record this week with the use of the GB Interceptor (Most Points in Skate or Die: Bad N Rad)! I just wanted to say THANK YOU FOR THIS AMAZING INVENTION! You are a hero! THANK YOU!!!!
This is a clever architecture. Before you explained you were running an emulator on one of the RP2040 cores I was thinking that maybe you were sniffing enough bus traffic while CS for the cartridge was not asserted to put the video state back together. I love your videos!
Well done! I’ve been following this project on your other social media accounts and am incredibly impressed by this execution. Emulating the GB (no trademark violation 😝) on a RP2040 core is awesome! As always, great presentation and project breakdown, too!
This is SO cool!
This is unbelievably metal! This is taking the party gotcha of "well _technically_ everything goes through that one place in the system [which is practically useless for all reasonable intents and purposes]" and just frigging running with it! Amazing!!
once u mentioned the vram problem, my brain quickly figured out you basically needed an whole gb emulator running on the pico but I quickly tossed that idea away cause too much work etc...just to see that in fact u did just that!^^
Yes please!
I have a spare one that would not mind some visibility, in case you don't want to try the build process.
@@ThereOughtaBe send an email to retrofutureinfo@gmail.com!
I am very pleased with this purchase, most definitely this is a keeper for me!..
Maybe the interceptor could have an audio INPUT (where you'd connect the headphone jack of the GameBoy)? That way you'd make sure you sync video and audio properly
Your work with the interceptor es priceless! Also the explanation of how it works is really detailed and well explained, I have one interceptor and functions really well with the games (and especially with the GB Camera). Greetings from Argentina!
0:28 those pictures .. whahaha awesome !
The 3D rendering explanation is top notch
This is pure genius. I feel so dumb after watching your videos.
6:44 Shout-out to my bois Cave Johnson from Portal, Nolan Sorrento from Ready Player One, and Wilson Fisk from Spider-Man
Was actually surprised that nobody commented about these (and the others).
I've come over from Recessim. Subscribed. Great work and video 🙂
Ciao! (E grazie) :) Outstanding project, as usual. You are a mad scientist and I like it. ^_^
Me: "Why would you do that you'll have to basically emulate the whole thing?"
there oughta be (6;24): "Solving those details was a lot of fun"
That's mildly insane..... Thank you for doing it.
This is amazing. Was looking for something similar for years. Just ordered one!
I wouldn't mind a mode that requires a custom driver but gives a full framerate, if only as an option.
Was nice meeting you after your talk! Keep up the good work😄
Das eigentliche Produkt außen vor. Dieses Video alleine. RICHTIG nice wie viel Mühe und Arbeit alleine da rein geflossen ist.
Und das Produkt an sich natürlich entsprechend auch.
Hut ab. Richtig richtig nice!
Incredible project and a stunningly elegant solution.
I’m a big fan of the original GameBoy and often feature its games on my channel. I’ve always struggled to capture classic GameBoy - usually either use a Super GameBoy or point a camera at a
GBA SP AGS-101 model both of which work ok - but this captures the right “look” too (except with those exceptions noted in the video)
Brilliant work - love this kind of thing!
That's what Switch Lite needs.
Impressive research and the presentation alone is also outstanding!
Fluck, I should have stayed in scool! Hut ab Alter ! ! !
Awesome stuff, you earned a sub for that, can't wait to see what you do next
man, cheers for this, it's just incredible !
Impressive! 👍
12:35 bro took the jif thing to a whole new level. Wtf is Jithib?
Great work, and the 3D animations are dope. This channel is really top notch content.
I've been waiting finally here. I love your content.
Very cool project!! I’m sure someone caught the mistake already but you kept showing raw data from Legend of Zelda but you incorrectly labelled it as A Link to the Past in a couple parts when it’s actually Link’s Awakening :)
Yeah, I know, has been mentioned once or twice... :)
You are such an inspiration.
I wish you the best!
Top notch work. Subscribed!
The part with the Analogue Pocket multiplayer is crazy. 2 different kinds of emulators performing 2 different tasks with the same real Game Boy at the same time.
...and using two different ports to talk to it. Now I wonder if there is something useful that could be hooked up to the headphone jack.
Gute Arbeit, bin beeindruckt 🙂Ich würde zwar der Einfachheit halber mein Analogue Pocket und das Dock verwenden um zu capturen aber als Nostalgiker gefällt mir dein Adapter besser und es hat mehr retro Charm.
Only suggestion would be to make the cartridge port L-shaped so that instead of popping out from the top, it stays behind the GameBoy.
That's what the flexible option at 13:20 is for. I hope that the community will create a few alternatives with this.
Thank you so much, this is amazing. I'm here from MVG's video, subscribed before watching. Just wanted to say that you've made an old guy extremely happy & you've blown my mind. I will be ordering this. First I need to see the GB WiFi video, but I'm not sure this old brain can handle being blown away twice in one day!
Saw this posted on mastodon. Cool to see a video on it.
Reverse engineering sent me 😊
lol, thanks for explaining where the views are coming from! That video is awesome. I really don't know what to say :)
really awesome work! your videos are incredibly cool.
7:41 with the new Raspberry Pi RP2350 being advertised as a beefed-up drop-in replacement for the RP2040, intercepting Switch games should be a lunchtime break no-brainer by now.
I really like the idea of joining video meetings through the original gameboy cam.
Not only the project itself is a crazy and well done hacker-work, but the 3d-presentation with these renderings are insane too. What do you do in your free time 🙂
Nice project ! Good to see you again too !
Is there a chance that a GB Color will work with colors? Maybe and update of code will be enough?
I would not rule it our entirely, but there is a big "if" and a lot of work:
The big "if" is "if someone finds a trick to massively optimize my code". I don't see it, but I do not have much experience in optimizing my code for the rp2040 on that level and I have not yet looked into optimizing the machine code. So, maybe. But it would have to be a big optimization because right now I am at the limit of the rp2040 running classic games and most GBC games run at twice the clock speed.
If that is possible, there are still many additional registers and features to be implemented including resampling of color information for NV12 color encoding which is required for the limited USB bandwidth. Currently the Interceptor internally handles everything as grayscale with a static color block that is set to gray (or green). Changing that probably also means some memory optimization as the rp2040 will run out of RAM, which is another complicated story... (The rp2040 typically runs it code from plenty of flash with dynamic caching, which is way to slow for what the Interceptor does, so the code is almost entirely copied to RAM first of which the rp2040 does not exactly have too much...)
So, nothing that I would immediately call impossible, but several big hurdles.
What a cool idea, and well implemented. At first I assumed it would never work, but it looks like it is pretty solid.
Wow. Your 3D animations are amazing. Do you make them in blender?
Yes. (Sorry, that's a rather short answer, but it's just "yes")
Wow I am very impressed by your animations! How did you do them? With blender?
Jepp, it's Blender.
Very high quality video!
you are amazing!! thank you
It's awesome. ❤ Great work 💪
Thank you for the in-depth information. I love your animations, they gave a clear concise illustration. The machine code parts were very interesting and brought me back to my college days. Keep up the great work and sense of humor 😅
Will this work with a flashcart? I’m not sure how they exactly differ vs original carts.
Yes, I do not have that many games left from my childhood and tested many on a flash cart. Not entirely sure if there could be problems with fancier ones like an Everdrive, but in principle it should work, too.
This is phenomenal stuff! What you do is really impressive
I had a random thought while watching this video. Do you think it would be possible to create an add-on that allows the original Gameboy with a Pokémon game to trade via wireless with the 3DS' VC RBY/GSC?
cool man, open source too, rad
I like your drawings. And that PCB animation was crisp!
Excellent write-up. Any idea how the retail display for the GB in the result 90s worked? The Gameboy screen (and audio) was displayed on CRT within the cabinet. Must have been tricky with the much slower microcontrollers of the day.
ruclips.net/video/C990wzFsoho/видео.html at 4:15 you see the insides. I wonder if it was achieved similar to what Elliot did there: ruclips.net/video/rdRL4naV5VU/видео.html
I would assume the gameboy was modified to access the video signal running to the LCD, and then that was converted into something that could feed a CRT.
It's like Magic :-)
Amazing. What a work!
Awesome job! 🤩 Will it work with EMS (or any other) flashcarts? Can I use multiple, like 4+, at the same time as different webcam sources when streaming, or will they mess with each other in some way?
Simple flash carts that just run a single ROM should work without any issues (I am using one for testing myself). More complicated ones with menus might cause problems when they reset the Game Boy in order to start the game after the menu. The Everdrive is a good example where the Interceptor currently needs to be plugged in after the menu is already showing to prevent it to start with the menu and instead start when it resets for the game. I have already written a fix for this, but since I do not have an Everdrive I am still waiting for someone to try if it resolves the issue.
About using multiple at the same time: I have not thought about this, but the only issue I can see is that currently the serial in the USB descriptor is just set to 123456 in the firmware. This might confuse some software, but it should be easy to resolve by flashing firmwares with different serial numbers to each device. Ideally, I will find a way to generate a serial from the serial of one of the chips on the board (well, actually only the flash chip is a candidate here), so each Interceptor would automatically have a unique serial. One other possible issue might arise if they are all connected to the same USB bus. It is only a USB 1.1 device that uses low bandwidth, but it runs in isochronous mode (the bus has to poll data every 10ms) and that can be trouble for some USB hubs if they have to manage multiple such devices. But all in all I think that these are solvable issues.
@@ThereOughtaBe Thanks for the answer! Then it should work with the EMS's, as there's no menu!
I will follow the progress of this project closely. I thought it could be fun using the interceptor with LSDJ and thinking in a live setting it would be cool to have the screens of the DMGs projected as part of the backdrop. But then it needs to be able to run aside at least one more! I don't know how USB busses in computers keep track of what device is which, but you seem to be on to something getting the serial from the chips instead of hard-coding it in! 🙂
Great job with this so far! 👏
Legend, loved the project, it's always a pleasure to see someone on this world thinkering over this old devices. Nice explanation too, thanks for posting
Wow... Hey I have a concept it's not as hard as this ... A wireless Sega Genesis console with WiFi .... That'd be EPIC! Thoughts? 🤔💭
Ok... thats really cool
Honestly, the quality of the GB webcam is stunning
This is such a cool idea! i never thought it would even be possible to get video out without ANY modifications to the game boy. very cool solution
You definitely deserve a like, comment and subscribe!
Every video of yours is interesting, funny, clearly narrated and explained, and the perfect length. Thank you so much for sharing your work!
You're brilliant.
Will it work on GameBoy Advance Game on GameBoySP ? and it's a really beautiful piece of ART for retro game Streamer...
edit : i have my response at 7:41 :D
My SNES with Super Game Boy cartridge has been the easiest way to capture video.
I like how the GB interceptor is intelligent enough to reconstruct the data in video ram by making educated guesses at the state of- and without having to fully emulate the Game Boy cpu.
Best of all, the GPL license allows curious minds to peek at the code.
omg haha, nice job!
I am in love with this
Bit late but in theory would it have been possible to boot strap it to an emulator on the pc instead of trying to do it on the rpi? Like sending the raw data over the usb and then in software on the pc pipe the data into the drawing/image processing part of some already existing emulator? Would give more resources to the pi and the streaming pc does the image reconstruction based on the data?
I saw a news thing on this and glad this hit my YT feed. Awesome piece of tech, and GB Camera would probably be even better after modding for DSLR lens. I hope we get to see compatibility for GBC at some point
I just discovered this channel and perhaps the answer is in previous videos, but I’m thoroughly mind-boggled at how you acquired so much low-level knowledge of these devices! I have to ask: What on Earth (or beyond) do you do for a living? Now, excuse me while I binge-watch all of your videos…
I am a physicist, but most of what I need for these projects is self-taught - usually through projects like the ones I am showing on my channel. For example, there is so much that went into the Interceptor that I learned from the Wifi cartridge project about the Game Boy, about electronics and about coding. Some of it while searching for a solution, some of it from trying and also a lot from comments I got on the Wifi cartridge video from people who are much more knowledgeable in electronics (which I would consider my weak spot).
But as you are also asking specifically about the low-level knowledge of the Game Boy: I learned most of it from many others who looked into the Game Boy before me. Have a look at gbdev.io/ and you will find that the Game Boy might be one of the best documented and researched piece of hardware in human history. Even now some enthusiasts are still trying to figure out the last edge cases of timing differences in the CPU or secrets of some obscure game cartridges.
@@ThereOughtaBe Ok, now I’m even more amazed… I was convinced you had been an engineer in the tech space for a few decades, and I’m an engineer who’s been in the tech space for a few decades! Thanks for the info and thanks for this fantastic content!
this is so awesome!!!
Bro said Jithub
This is amazing, i really want to see it with your wifi cartridge streaming a game though. Not for any practical reasons, but just for Sh& giggles.
In the latest firmware update for the Interceptor I added support to recognize tight loops that wait for the STAT register to synchronize. This means that the video stream on the WiFi cartridge is now properly captured - before this the Wikipedia example worked, but video streams had artifacts.
So, yes, I will soon post a short clip of this stunt on social media and maybe as a RUclips short (I try not to post too many of those as I think most subscribers are here for the full edited content).
Here you go: ruclips.net/user/shorts8HvhrdeBVzM
(Not a game, though.)
This is so awesome!!
man are you doing all this hardware design and 3d rendering and video editing yourself? If you are, then you are an absolute legend!
Waw very nice
Incredible!
if used just for recording, can it record the data and then offload emulation to the host PC? This way you can emulate not only basic games at the cost of having a significant processing delay...
You mean in order to play Game Boy Color games? Unfortunately, no. In order to reconstruct the game, you need at least the 16 data pins and the 8 data pins (you might actually get away without rd, wr and cs). That's 24bit per event on the bus, which runs at roughly 1MHz. In total that's about 3MB/s, which is about three times of what the rp2040's USB can handle if your stream it. If you record that internally that would fill up its flash in a bit more than 5 seconds. And that calculation is for classical games - GBC games would run at twice the rate.
With different hardware that should be absolutely doable, but then emulating GBC should be doable, too. I am still hoping that someone will look at my code and find a way to optimize it enough to achieve GBC emulation, but streaming or recording the raw bus data is definitely out of the question for this hardware design.
Cool, thanks for the clarification.
Der absolute Hammer! Sehr gute und wichtige Arbeit!
Awesome shit, and informative. So, how about a cart with an SD card slot, headphone jack, and bluetooth... for a music player. Game Boy code just needs to be a file explorer, cartridge handles audio. I guess GB code should have a bluetooth setup menu too... I should of bought an ESP32 with my little disposable income I had recently, dig through your code for reference.
This is so cool!
This is an amazing piece of equipment. I don't even stream but still really want to get this. One question: Would this work an Analogue Pocket or must it be original hardware?
The Pocket has a minor difference in how it handles interrupts on the memory bus, which is why it is not working at the moment. But I think that this should be an easy fix. (Just not a high priority right now.)
@@ThereOughtaBe I completely understand. I'm going to price out a few boards this weekend and see how much it's going to cost me. I know a few creators I'd like to gift this to.
Nice project.