How Graphics worked on the Nintendo Game Boy Color | MVG

The Nintendo Gameboy was released in 1989 and compared to its competition It was severely underpowered with a measly four megahertz 8-bit CPU eight kilobytes of RAM eight kilobytes of graphics Ram four colors Basic four channels sound serial link up and a small dot matrix display on paper It should have only really been designed for simple games and for a while That was actually true with tetris being the standout Simple but addictive and helped sell millions of game boys But the gameplay has quite a lot of power underneath the hood despite being based on older technology This was a deliberate move to keep the cost low however Nintendo designed the Gameboy to be capable and flexible enough for it to do some amazing things With hardware features such as separate sprite background and window layers and mid frame scanline Manipulations amongst other things and with the right optimizations almost anything was possible Dillon Cuthbert who worked for Argonaut software and later the lead programmer for starfox on the Super NES Developed a game known as the kazoo on the game board that ran 3d vector graphics had impressive speeds with just an 8-bit four megahertz processor But one thing that just wasn’t possible Was getting more colors from the hardware the original Gameboy just had four colors and although program has made clever use of dithering Techniques to simulate more shades of green there was really no other option here with just two bits for the color palette in 1998 reportedly after pressure from developers to release a more sophisticated handheld Nintendo Released the Game Boy Color the first handheld to be fully backward compatible with the original Gameboy So it’s been 10 years after the launch of the original Gameboy when the gameboy color was released now Nintendo essentially took the same exact architecture of the Gameboy and just brought it forward with the Game Boy Color But added some crucial additions that really helped Propel the gameboy color to the next level but not losing Sight of what made the Gameboy so amazing The Game Boy Color is almost the exact same hardware as the original Gameboy But utilizes a 15 bit color palette or a palette of over 32,000 colors to pick from instead of just four But there are some more differences that we’ll get Into if we think about any retro console a home computer from around the same era as the Game Boy Color Consider what it would take to introduce or increase the color palette The changes would be significant for example the increase of colors on a PC from EGA which was 16 colors to VJ, which was 256 required a fairly substantial upgrade to the PC the commodore amiga 500 which most games would run at either 16 or 32 colors from a palette of 4096 and when the amiga was upgraded with a ga or the advanced graphics architecture chipset the standard was 256 colors from a palette of 16 million, but the entire custom chip architecture Was redesigned for this change with the Game Boy Color Nintendo took the exact same Architecture took the CPU doubled its clock speed and offered two modes for megahertz and eight megahertz It also came with 32 kilobytes of RAM instead of eight kilobytes and double the graphics RAM from 8 kilobytes to 16 kilobytes Aside from this it has the exact same sound device and the exact same screen resolution at 160 by 144 pixels the addition of color was implemented with minimal effort which shows how flexible the original Gameboy architecture was Let’s take a closer look at the graphics unit known as the PPU we mentioned earlier that the Gameboy colors resolution is 160 pixels wide by 144 vertically but this time instead of only four colors the Game Boy Color can utilize up 256 colors on screen at once from a palette of 32,000 and there’s also some tricks to display many more colors But more on that later To compensate for the extra bits in memory required to store color values The V DRM has been upgraded from 8 kilobytes on the original Gameboy to 16 kilobytes on the Game Boy Color But this space is actually too switchable video RAM banks. Both are 8 kilobytes This is used for backward compatibility reasons original Game Boy games would use Bank zero Exclusively whereas Game Boy Color games would utilize both banks as necessary. Just like the Game Boy There is no frame buffer in the Game Boy Color This is to conserve RAM. All backgrounds are assembled utilizing tiles which are eight by eight pixels squares the screen viewport displays only a portion of the entire background map but the game played color can store up to 1024 tiles across both of its vram banks as compared to 512 tiles of the Game Boy the Game Boy Color makes use of the exact same scrolling registers found in the Game Boy known as SC x and SC y These registers can be adjusted in order to simulate scrolling for example in the Donkey Kong Country intro during gameplay clever use of loading in tiles before they are displayed on the viewport is Something that many site scrolling games utilize if the viewport hits the end of the background map It just wraps around other games such as Link’s Awakening keep a portion of the off-screen tiles in memory for fast Transitions into the next screen the Game Boy Color uses the same three layers of display that the Game Boy does they are? backgrounds windows and sprites for the background layer on the Game Boy Color There can be a total of eight color palettes used for the background tile sets. Each palette can use four colors Compared to the Game Boy where the background layer only has one palette if we take a look at the individual tiles They themselves appear to be quite limited in color But when you combine all eight palettes, you can really start to see how the gameboy color takes full advantage of the hardware The middle layer or window layer is used for the static display and is non transparent then above that sits the sprite layer like the Game Boy the Game Boy Color sprites are 8 by 8 pixels or 8 by 16 and Supports a total of 40 sprites with a limitation of 10 sprites per line However, there can be a total of 8 color palettes assigned to the sprites themselves So we have 8 background palettes and 8 sprite palettes with 4 colors each We said that there was a maximum of 56 colors on screen at once but simple math tells us that this is a possible 64 colors in total the limitation, is that 4 sprites? There is always at least one transparent color palette, which is never drawn So subtracting 8 colors leaves us with 56 It’s worth mentioning that the Game Boy Color shares 99% of the same registers as the Game Boy itself, but with some additions When we cover the Game Boy as graphics previously we talked about how the game boys Display is drawn scan lined by scanline vertically down the screen the time taken between one scanline and the next is known as H blank or horizontal blank when all 144 scan lines have been drawn the scan line moves back to position 0 this is known as V blank or Vertical blank just like the Game Boy the Game Boy Color contains a specific register known as l YC That can trigger a mid frame interrupt if it’s equal to the current scanline position during this interrupt You could do things like adjust the SC X and SC y scroll registers to produce demo style or parallax scrolling Effects like the one that we see here you can even switch the color palette in this driving game both the road scrolling and the color palette has been Adjusted mid frame. This is one of the most powerful features of the game boy that Nintendo designed specifically for this feature And of course it carries over to the gameboy color so everything we’ve talked about so far can be done across both the original Gameboy and the Game Boy Color as Mentioned the registers are shared across both So they’re very very similar as far as what you can do on both systems But the gameboy color has some Extra features that the gameboy original does not and we’re going to take a look at some of the cool tricks and techniques That developers utilize in order to really extract the best out of the Game Boy Color With 56 colors on screen. It’s now possible to really show off the hardware with some stunning effects Remember, this is all running on an 8 megahertz processor with only a small amount of RAM But the results can be superb Since it’s possible to switch palettes mid frame and with the Game Boy Color Utilizing 8 color palettes of 4 colors each this allows for many colors to be displayed on screen at once technically if we have 144 scan lines and we have 8 background color palettes with 4 colors each we can then have a maximum of 4608 colors on screen this is what’s known as the so-called high color mode of the gameboy color that you may have heard about This isn’t technically its own screen mode But something that can be done with some clever programming If you look at this game known as crystallis the title screen uses this high color mode If you look at the color palette on an emulator, you can’t see the red defined but it’s in the display This is because it’s being swapped out mid frame with another color another game cannon-fodder on the Game Boy Color Contains a FMV intro this utilizes the high color palette swapping trick to really show off what the hardware can do Because the color palettes are swapped per scanline interrupt These screens are best for static images and not really used in game play although some games such as alone in the dark utilized more Colors on screen in the background hai : mode uses more CPU cycles therefore less cycles for other things such as game logic Because of the increase in color palettes a Nintendo provided a faster method to move data into VRAM Independent of the CPU on the original Gameboy. This process is known as DMA or direct memory access DMA would occur during vblog or when 144 scan lines were drawn and the time to go back to scanline 0 the Game Boy Color uses what’s known as HD mate or Horizontal blank DMA 16 bytes of data are copied at each horizontal blank between scan lines But can also do general DMA to stay compatible with the original Gameboy And of course double the CPU performance over the original Gameboy is a huge bonus Allowing for more advanced and complex games to run that would just not be possible on the original Gameboy Wacky races is one that comes to mind displaying a mode 7 style track with sprites There is no mode 7 hardware in the Game Boy Color as such but this effect can be replicated Thanks to clever palette swapping and mid frame scroll register adjustments You’ll note that many driving games on the Game Boy Color utilizes a similar type of effect Have you ever wondered how Game Boy Color games assign color palettes to? Monochrome gameboy games the answer lies in the hardware when you turn on the gameboy color the bootstrap ROM runs This boot ROM amongst other things performs a checksum calculation To determine if the cartridge that was inserted is original the boot rom contains a master list of 45 different palette configurations that it can apply to 174 gameboy games when a gameboy game is inserted It’s hash is matched against the list and if it finds a match, it uses the palette that has been defined For example, if we look up Super Mario Land 2 6 gold coins in our list This is the default palette configuration that it uses while it doesn’t give you any additional colors It does add some life into the older games and it’s a cool feature in the end the gameboy color Represented an important update to the aging Gameboy Hardware one that could have easily been disregarded as a non-essential Upgrade but Nintendo added new life to the handheld just by adding some color But keeping most of the things the same after all why change what isn’t broken So there you have a guys that is the gameboy color graphics system it’s a fascinating topic It’s not really that different from the original Gameboy But some of these valley ads just propel the gameboy color to the next level But Nintendo was very clever and did not lose sight of what made the Gameboy Hardware so so awesome and so compelling for so many people they did not want to just cram all of this new hardware into the system and Completely change the architecture and what made it so great. They just tweaked it and added some Minut details added some color and really essentially kept everything else the way it was but just with that addition of color really brought out so much more on the hardware and you can see with some of the games that we Demonstrated in this video that it really just kind of propelled the system to the next level Well guys, we’re going to leave it here for this video Thank you so much for watching if you liked it, you know what to do Leave me a thumbs up. And as always don’t forget to Like and subscribe and I’ll catch you guys in the next video Bye for now

One of my favorite aspects of the GBC was being able to change the palette that the system used for GB games. Playing Pokémon Blue with negative colors (is that right?) or switching from just blue to a blu-ish green was awesome. I feel like not many people know about it and while it was kind of mentioned in the video it would have been cool to see it displayed.

You switched the color palette by pressing directional buttons or directional and A or B while on the “Game Boy” screen.

I was expecting the "hit some buttons during the bootstrap rom to choose from the alternative color palettes" trick to show up towards the end after 11:20. Checkout the section 11 of this GameSpot link if you didn't know about this thing: https://gamefaqs.gamespot.com/gbc/916513-game-boy-color/faqs/6115

its hard to justify getting the GBC at the time released oct of 1998 when the GBA is getting release of June 2001. Where the gameboy lasted almost 10 years before better hardware came out. (the gb pocket don't really count)

Sometimes the standard palettes can be changed on the Game Boy Color when running Game Boy games, like on Pokemon Blue. If you turn on the system and press the directional buttons and/or A/B the Nintendo logo screen will change colors =D

For older games, the Game Boy Color would also look at whether there was any Super Game Boy data on the cartridge, and use that if available. It's how Pokémon Yellow did its color swapping between areas.

I love X, have the complete box game manual from Japan. Was so happy to see DSi include a sequel! Can still download on your 3DS, titled X-Scape. Another awesome, informative video MVG…you're video editing to help us see and visualize the complex things such as memory banks storing tiles, the full stored image of GB but only what we see on screen, etc. is amazing, I don't know how you do all this so smoothly!

Appreciate the overview, people rarely highlight the GB hardware features and the GBC far, far less. I am quite fond of it in the long run, like a suped-up pocket NES. Always kind of wished the screen was 160×160 but I guess the Vblank has needs heh.I wonder if that's true about "developer demand" since a lot of GBC games were kind of a step down compared to NES games, much like GBA after it a lot of developers seemed to be fairly new like fresh from school and didn't have a lot of experience with drawing 8-bit/16-bit graphics very well compared to Nintendo and other legacy companies. Although you showed the cream of the crop here. 😉

I saw you talking on twitter about how proud you are of this video and I agree with you, this is one of your best videos so far. Great content, amazing video editing skills. Your work is impressive, thank you very much for your content.

????? MVG just warning you that it seems that YouTube is disabling the bell icon for some users. I had your notifications oturned on for all and YouTube changed it to personalized and didn't show me your latest videos. You aren't the only cr a few others randomly got set to personalized too.eator this has happened to.

whats the music background starting at 4:41 ?!?! i used to have the game and i cant remember the name for the life of me ! also the tshirt from your patreon arrived in the uk, along with some games ! …. thanks !

Wonderful video! Its crazy how the pallette is double of the nes. There is no high color mode for the nes. But programmers and artist would use a trick to rapidly switch hatching patterns to make new colors show on the screen on the nes

Not many people can get that old feeling back when i was small and gaming but you sir are coming very close. I'm very happy that i fond you on yt. There are not many like you on yt. Thank you so much for it all your hard work. I will never remove you. Keep up the amazing work you do. A 80e gamer 🙂

11:46 These default palette configurations do give games more effective colors. Whereas the original Game Boy only had four colors, with these palettes you might get different colors for sprites than backgrounds.

Also the other huge improvement for the GBC was a much faster-response LCD (active-matrix versus the old passive). Now you could scroll the screen and actually be able to make details out, rather than it being a blurry mess.