with a LOT of effort it might be possible to write an algorithm for the color pallets and even compress the data in a way that the gbc might be able to decompress in real time to fit that in data
Well, first, try using "ordered dithering" instead of any atkitson variant (en.wikipedia.org/wiki/Ordered_dithering) As it's always "in grid", it will look less flikery. Also, for the color, you have 8 color palettes, so you can split your screen in 8 regions and assign the palette data to the tiles before the streaming start. That way, as soon as you stream a palette (or set thereof), all the tiles in that region will take the said color palette. Lastly, if you combine ordered dithering with some data loss, you can probably fit any image into a 255 fixed set of tiles, removing the tearing, and greatly speeding up the transmission. Yes, the quality will be worse than "hires", but probably better than "low res", but the framerate will probably be on part with "low res" for a better quality. Combine with the 8 region colors, and you probably can have a color stream better than your "low res" one = D Very nice video nontheless ^^
I know it sounds really hard to implement (and it is I guess), but couldn't you increase the FPS count on high res "simply" by uploading only what's changed on the picture? (Just like modern video encoding does) Maybe a quick and dirty way to do this would be to upload the tiles that changed only when they changed to a certain threshold ?
Sometime Ill try recreating this with my bootleg GB Boy Color XD. As far as I can tell it has the same CPU as a legit gameboy and the comm port seems to be wired up, so it *should* work
Could the video frames be compressed before it is sent to the GBC using something like RLE? It might be possible to raise the resolution somewhat in the low-res mode by switching the tile data every 1-2 scanlines using raster interrupts
I imagine the dots were caused by the fact that there isn't a modern video compression algorithm that handles high frequency information well. And it all works by throwing out high frequency information. That's the information you need to get the sharp pixel transitions. In a 1080p video you won't notice if a 240x240 block is a little less sharp than it could otherwise be. Btu when that's your whole video canvas the it just wants to smear the whole thing. You really need a lossless video codec to do this sort of thing.
And it was this day chromalock learned he was colorblind
i can’t believe chromalock was the gameboy colorblind butcher
This is absolutely incredible. Nice work!
"We added low FPS and screen tearing to a game that never had it, and that's a win in my book"
💀💀💀
Playstation submarine hell yeah, Can't wait for you to take some billionaires on a trip of a lifetime
Yeah…. Lifetime.
with a LOT of effort it might be possible to write an algorithm for the color pallets and even compress the data in a way that the gbc might be able to decompress in real time to fit that in data
I've seen algorithms for this, even wrote a pretty miserable one, myself, though not exact, but the start of one. Much better ones exist out there.
bro the playstation submarine joke... that was good.
Well, first, try using "ordered dithering" instead of any atkitson variant (en.wikipedia.org/wiki/Ordered_dithering)
As it's always "in grid", it will look less flikery.
Also, for the color, you have 8 color palettes, so you can split your screen in 8 regions and assign the palette data to the tiles before the streaming start.
That way, as soon as you stream a palette (or set thereof), all the tiles in that region will take the said color palette.
Lastly, if you combine ordered dithering with some data loss, you can probably fit any image into a 255 fixed set of tiles, removing the tearing, and greatly speeding up the transmission.
Yes, the quality will be worse than "hires", but probably better than "low res", but the framerate will probably be on part with "low res" for a better quality.
Combine with the 8 region colors, and you probably can have a color stream better than your "low res" one = D
Very nice video nontheless ^^
I know it sounds really hard to implement (and it is I guess), but couldn't you increase the FPS count on high res "simply" by uploading only what's changed on the picture? (Just like modern video encoding does)
Maybe a quick and dirty way to do this would be to upload the tiles that changed only when they changed to a certain threshold ?
This was also my immediate thought. Why send full frames? Maybe in an update!
This is such a cool project from a really underrated channel!
What an honor for us to be a part of!🥳 Happy Holiday @ ChromaLock and everyone here 🥂🎅
Are you guys planning to come to israel? Or ship here maybe
This is such a cool project, and a great video!
Sometime Ill try recreating this with my bootleg GB Boy Color XD. As far as I can tell it has the same CPU as a legit gameboy and the comm port seems to be wired up, so it *should* work
he turns a game boy into a monitor in a way?
Can you try playing some modern 8-bit games? Like Shovel Night or Celeste or maybe Octopath Traveler II?
simple they won't work since they weren't made for the gameboy
4:05 looks like a fm synthesis square wave
9:19 Finally a way to play Noita on the go.
Steam Deck: ✋
Gameboy Color: 👈
You won me over with the submarine joke, and then Bad Apple,… yes!!
One of the best videos of things I hardly understand
Could the video frames be compressed before it is sent to the GBC using something like RLE?
It might be possible to raise the resolution somewhat in the low-res mode by switching the tile data every 1-2 scanlines using raster interrupts
i feel like bad apple is slowly becoming the animated music video equivalent of trying to run doom on every conceivable device.
Finally, the perfect format to watch Tenet on. Just as Nolan intented.
Now I wanna get myself a game boy .great! Hells sick tho dude!
maybe you could add PCM audio if you reduced the resolution
Regarding the palette used, would any of the high-color hacks used on the GBC be useful here? Also, could you try something like this on the GBA?
can you make a link cable rf transmitter that works with meshtastic?
This is good to develop graphics such as sprites and backgrounds easier, this screens arent color accurate.
No I haven't seen a 'Sega bible computer' connected to a 3D printer just a SEGA MEGA DRIVE connected to an awesome MIDI interface 😊
Well, now we have to play Bee Movie on this thing.
I seem to have misplaced my toothbrush...
the big problem i see here is that you will be unable to print out the picture using the gameboy printer if the link cable is in use for the stream.
I imagine the dots were caused by the fact that there isn't a modern video compression algorithm that handles high frequency information well. And it all works by throwing out high frequency information. That's the information you need to get the sharp pixel transitions. In a 1080p video you won't notice if a 240x240 block is a little less sharp than it could otherwise be. Btu when that's your whole video canvas the it just wants to smear the whole thing. You really need a lossless video codec to do this sort of thing.
I imagine it's more just an error in colorspace conversion, or the original video truly does have just dark gray as the black.
what music did you use in this video
Can you make a program that let's you battle pokemon online with a USB cable. Then sell the cable.
We eatin good today 🙏
How does it goes on an Gameboy advance?
Steam Link Gameboy port coming soon?
5:20 what da amogus doin
Dude you rule 🤘
hey he finally got sponsored by them lets go
So technically, you could make it stream doom, so depending on what your definition of “running” a program is… You could run Doom on a GameBoy
Waiting until this gets taken down by nintendo!
RP2040 is technically 5V tolerant but only outputs 3v3 ;)
But you didn’t run the original doom on it…
I was waiting for your video.
what DE is that
If you're talking about the Desktop Enviormnent, it seems to be GNOME with some extensions
This is so cool!
I wanna do this with pokemon red ACE now.
noob
nice