The Gameboy is the perfect example of using technically outdated technology to make a truly awesome product noone had seen before. The game gear and lynx might have been more advanced, but with battery life being small, no one could really play them for long periods of time.
Indeed. The Game Gear might have basically been a portable Master System, the 6 AA batteries it required (and how fast it munched through them) was definitely a major downside.
That's why Atari made a D Cell battery pack which plugged into the Adapter power jack. A friend of mine had the car adapter. We all bought the AC Adapter because I never needed to play my Lynx on the go.
The battery life of the game gear was actually good, just not in comparison to a slightly beefed up calculator (dmg). Blue LEDs did not exist at the time of the game gears release, which is why it had to rely on a compact fluorescent tube to provide backlight. This tube is what actually consumed the majority of the battery life. Remember that the nintendo switch has the same battery life as the game gear. Oh how far we have come 💁♂️
@@CrossedCoder true about the technology used and all, but I don't think it's fair to compare battery life between products nowadays with rechargeable Li-Ion ones that last for quite a few cycles, vs disposable batteries or the occasional Ni-Cd ones (that sucked) or Ni-MH (which some people say were super common in early 90s meanwhile many people didn't even see them until the early 2000s... very varying experiences regarding those. Also price wasn't what it was in early 2000s). But it indeed is quite terrible how fast a Switch goes through it's battery, and I would even say that the Lynx and Game Gear competed between each other, while the Game Boy was doing it's own thing barely related, and that proved successful instead. The Game Boy went with a cheaper and more feasible alternative, the other two went with the cutting edge. Hard to even think they competed.
it always blows my mind back when hardware was so limited, programmers had to be really creative just to do simple things things we now take for granted. it adds a certain magic to the finished products.
Which is why I'm so uninterested by a lot games nowadays where some schmuck can just use any game maker and produce a 3D game without any knowledge. I mean more power to them but that's such a boring way of making a game for me.
I don't like saying "when the system knows [...] thanks to the header information" that I just feel is completely inaccurate. The header information is purely descriptive, and its only useful parts used by the boot ROM is just the Nintendo logo portion and Header checksum. The only real use of all of it is as metadata for emulation (or perhaps Super Game Boy). A game's code only rightfully assumes that the hardware is already present and does not base itself on the header information to know. The system itself is completely blind to this and doesn't do anything in particular, the game will do the job needed itself.
I was about to make the same comment. A real game boy DOES NOT USE this header information, it is simply documentation of what the cartridge circuitry itself contains. This is meant to solve the problem NES ROMs had, which is that a ROM dump alone tells you nothing about what hardware the cart contains and is therefore not enough information to emulate the game, for example.
This video has some rather rough misinformation. At about 5 minutes in the presenter demonstrates they haven't understood that the cartridge is literally where the game is running from; there's no load step, nor memory to hold bank 0. Next comes the direct contradiction of "the programmer didn't need to write their own controller code for the bank switching" quickly followed by "they were still responsible ... to let the MBC chip know". It's all magic! The best part of the video is the cut in to note that nothing here is unique or new to the Game Boy, as the rest of the script misleadingly suggests.
heh, was going to leave a comment with words to this effect (and also what @LoneTech says). Glad to see it's the top comment. The Gameboy is a fantastic piece of hardware, classic Nintendo in that it's very well-balanced and economical, but in terms of uniqueness, capabilities and being ahead of its time, the Atari Lynx is *far* more interesting.
This is a weird video, MVG is extremely knowledgeable about consoles and (under his name Lantus) worked on several different emulators. This video has the kind of casual inaccuracies I'd expect from someone who just read a couple wikipedia articles.
Super Gameboy wouldn't care since it has the same physical cart as the Gameboy. Otherwise yeah I was going to point out a lot of the same stuff you did. In addition AFAIK the split of 16kb between bank 0 and bank X was probably up to the cart. The Gameboy is just asking the cart "what is at address 0x3000?" and the cart has complete freedom in how it answers. So the bank switching didn't need to be supported by the Gameboy at all, it was all on the cart. But it was standardized by the set of standard MBC chips commonly used, hence the common behavior of a 16kb bank 0. AFAIK there was nothing stopping someone from making bank 0 8kb or making a bank X and a bank Y that could be switched independently. You could even remove the a dedicated bank 0, but the problem is the code you are running from when switching banks should not change since, well, you need to be able to read the code you want to keep running. Most reliable way to do this is set aside some address space which is guaranteed to not change when bank switching and always do bank switching from there, which is exactly what bank 0 does. The innovative thing about the Gameboy it would seem is how far Nintendo took advantage of being able to cram custom hardware into each cart. I am sure they wished they had added some of those capabilities to the system itself, as it would have been cheaper overall to not have to make this hardware for each cart but just each system, but of course lessons learned would go on to influence future Gameboy hardware design. It's also worth noting carts were well established by the GB era. Atari and their competitors back in the day used them. NES used them of course, and NES carts used custom hardware as well (IIRC SMB3 2D scrolling was only possible thanks to this). Some arcade cabinets allowed you to swap out boards to have different games run (not sure where in the timeline this falls if it predates home consoles or not, but it is definitely the most primitive way to do it).
Great video - sure there are some small inaccuracies but it does a good job of explaining the basics. I was a Gameboy Color programmer back in the day, we used MBC 5 for a 4MB cartridge and external save-ram. It's tricky to develop with bank switching in mind, because the moment you switch banks, that entire bit of ROM is now filled with entirely different data, so if you want to access some of the same things (like animated status bar graphic tiles), you either have to keep those in the extremely limited Bank 0, or load them into the even more limited RAM, or duplicate them in whatever banks you are switching to while the status bar is on the screen. When you start developing a game, you'll organize it - "Bank 64 for minigames A and B, Bank 65 for combat effects, Bank 66 for the title screen and menu", etc. But by the end, you are cramming bits wherever they can fit, it gets ugly.
Doesn't the GBC only display from VRAM? Couldn't you just switch to the bank with the needed tiles only once per frame during the update routine? = But yeah, it's just plain so much easier to develop software with a linear memory map. Devs for 16-bit x86 will have similar difficulties with segment switching as GBC (and other) devs have with bank switching.
@@eDoc2020 I was trying to quickly come up with a simple example of the need for shared data :) Been like 16 or 17 years since I actually developed on GBC, so my memory is hazy of exactly what the problems were we ran into, but we pushed the system HARD, far beyond what it was designed for (ie, hundreds of colors per frame), so ran into a lot of tricky bits because of the need for bank switching.
I received a Gameboy for my 10th birthday, and it was one of the best gifts I ever received. So many happy hours with that console. Strange to think that was 28 years ago. Utilising the cartridges to get more space is bloody genius!
A lot of this is wrong. You can't combine AF into a single 16-bit register (except when saving/restoring to stack). F isn't a general purpose register, it's flags from the previous operation. The hardware and games don't use the header information at all. The Game Boy only checks that the logo is correct (a failed license control system) and the header isn't corrupted. Super GB and GB Color check for some flags to enable their features, but nothing uses the type/size fields. Games were generally coded to assume they had the correct chips (because why wouldn't they?) and would just go ahead and use them without needing any setup or checking. The MBC chips are basically just simple latches for the high address lines of the ROM chip. Nothing prevents a game from trying to access more banks than it really has. It would typically just read back an earlier bank because the higher address lines aren't being used. It's all fairly simple transistor logic, so there's no complex protocols or verification. You just directly control the hardware. How the ROM area and extra RAM are split up is entirely up to the cartridge. While most (all?) licensed games followed the rules outlined in the video, they aren't enforced by anything. You can make a cartridge with different bank sizes, different control methods, ROM in the region usually used for RAM and vice versa. The only restriction is that it needs to have the logo and startup code mapped to 0100 at power on. (Some unofficial cartridges even did some timing/mapping tricks to swap out the logo for a different one after it was verified, so they could display their own!) Technically there's no limit to how many banks you could add to such a custom cartridge, either.
In the very late 90s, I was briefly fascinated by assembly programming on TI graphing calculators. They were Z80-based systems (the one I had, anyway) and were in some ways comparable to Gameboys. It's great to get an idea of just how different the actual Nintendo Gameboy was, though.
MVG, I love you, but I'm annoyed that there a whole bunch of small inaccuracies in the video. If you're interested, the next time you're going to do a video about Gameboys, I can offer to proofread the script. (I'm the person who runs the GB dev wiki, btw.)
@@Gameboygenius Thanks for volunteering like this. And thanks MVG for making the effort to get others to proofread. As a hardware enthusiast, this kind of practical application of the interface between hard/software is the primary reason I watch this channel. It's easily digested tidbits about vintage computing and hardware hacking with a simple to follow context. I get the impression that this channel is probably 'a software guy's take on the hardware.' Don't misunderstand, this is a valuable perspective as well, as it hints at what is truly necessary information between soft/hardware devs. By getting deeper into the hardware with accuracy, the channel increases it's value to me as a viewer. -Jake
My purple one from 2002 is still going too, tho I had to replace the polarizer and give it some Retrobright treatment. It did get played a LOT and usually on the sun (how it's pretty much supposed to be after all given it's purely reflective screen). Have modded quite a few Game Boys but I think I'll leave that one stock for memories sake (besides I do like it's screen anyway and like playing on the sunlight).
I love all the videos you do because they're so well put together. You have such an extensive knowledge of how these old consoles work. It really is cool to learn about how these parts of your childhood did what they did.
Thanks for the video. You are helping so much not only to preserve this information, but making it available to people like me, who loves videogames, but had no idea how things work in the background. Keep going with the good work.
*Planet* *X* by _The_ _8_ _Bit_ _Guy_ utilizes bank switching. It's not just cartridges but mostly cartridges. Another awesome video about the Gameboy!
I fucking love these videos. Learning the ins and outs and all of the intricacies of classic consoles and homebrew and all of that. Great job as always MVG!
Always great to witness your technological knowledge as a fellow Australian. You'd make a great teacher. Really interesting to see how nintendo took old technology and transcended its limits.
The MB Microvision had a much more interesting cartridge system, the CPU was stored in the cartridge plate! Would love to see a video on that The first 256 bytes are actually used for the BIOS of the gameboy. The BIOS is swapped out when it finishes processing and the first 256 bytes are no longer reserved once the game itself is actually running With the proper mapper you can make both banks swappable, although it does make programming more complicated. Also, with the correct technique you can hot swap cartridges by copying a short look into RAM so that the processor is no longer looking at the cartridge while you swap it, and then you can jump back into the reset vector yourself to start the new game. It was never done in practice but it is possible!
What's more, the design of the cartridge lacked built in ESD protection, same for the console itself, if you wanted to get the most life out of your Microvision, you MUST apply that foil sticker.
@@phonewithoutquestion80 Well to be fair, neither did the Gameboy for the majority of it's life. The Gameboy just had the luxury of shrouded contacts and nearly 20 years of technological improvements to the hardware which helped protect it even without dedicated ESD protection.
@@AiOinc1 The gameboy also did not have a spring-loaded, plastic, sliding, cover that acted as a "piezo zapper" (think electronic ignition lighter), like the MB Microvision did. People liked pulling this lid on the cartridge back and letting it snap closed, over and over (probably similarly satisfying as popping bubble wrap), ultimately being the cause of the majority of blown Microvision cartridges. The reciprocating action of pushing the plastic lid in and out created a high enough charge to become an ESD sensitive device destroyer. Not a well thought out cartridge design.
Bethesda in 2018: I'm sorry guys I can't handle your 16 gb of ram and 8 cores 16 threads 4.0 GHz to deliver 16 times the detail. Nintendo in 1989: this isn't even my final form.
This stuff is like magic to me... and often goes way over my head, but I like learning anyway! I’d love to see a video that explains how cartridges were actually made
Let us not forget that Star Ocean was also as large as Tails of Phantasia on silicon, actually bigger when its brass tax, you see Star Ocean is technically bigger, as it is compressed using the S-DD1 chip and in its decompressed state, the game is 96Mb or 12MB. Love the video mate, it is good reference material for so much more than the its title would have you assume, thank you for this.
great video, mate. The legacy of the Game Boy seems well earned. It's crazy how that little machine managed to stay relevant through no less than 4 console generations. It's also really crazy to see what the homebrew community has been able to do with the thing. Like that new fancy Game Boy Color video player that could run things like the full original Pokémon opening with music, sound, and everything.
One of the main benefits of the old cartridge technology, just think of the modern day equivalence (not counting digital): You have multiple discs that you have to swap manually. These cartridges did it automatically at the speed of light!
Shame about the inaccuracies, but it's way above my knowledge and I think MVG pitched it at the right level for the most part. All fascinating stuff and to read the comments is great too!
Bank switching was common in the 8-bit days, most of the old home computers were doing some form of that, at least to switch between their own ROMs and parallel RAM sections. Even the Atari 2600 from 1979 did it. However the Gameboy was solid in wrapping up the best of the whole era.
@@payraw6844 The switch has a unique problem that it's a handheld with a huge screen (relative to its size). If they wanted to make it as durable as previous consoles, it would be the size of the Wii U-controller. I still consider it fairly sturdy, compared to how bad it could've been.
Most people still don't realize just how important the Game & Watch series was to the progress in development of the Game Boy. Game & Watch games are amazing too.
Wow, so cool glad you explained how the Gameboy worked, even though I don't understand what is being explained! :D Yeah, the Gameboy is such a good example of technology, like how Cannon Fodder had the intro video segment!
@Modern Vintage Gamer - Just brought 3 tracks off you mate (SunBreeze/Pacific Drive/Coast to Coast) Truly as good as any other music i would listen to commercially thats supported by the man for their exposure,we need a update on your bandcamp though if you have the time,as i hear other tunes on your vids but nothing new on BC,anyway great work as always on both fronts
When i here the amount of memory available and the games these developers where able to pull off i am amazed rather than only complaining they really were innovative in their approach
I remember these back in 2000 in elementary school my friend had a yellow game boy and played Pokémon red green and blue GTA and couple other games. I remember it being really cool for being 10 years old at that time
MVG: Have you ever wondered how cartridges work in game systems and what happens when you...? ME: No. No, not in the slightest not ever... at least until this very moment but hot damn do I want you to tell me about! Always enjoy your work MVG. Thank you.
I remember a long time back there was a very special cart made ...it had a cable out the back that would connect to Aprilia scooters (Direct injection models) and you could derestrict them. First time I seen it I was amazed , it was cheap enough and all you needed was a regular gameboy to use it.
The game boy and the ti 8x calculators are a true testament to what you could accomplish with a z80 processor by pushing the boundaries beyond what anyone could have imagined prior to what ended up on them.
Ah.. bank switching! brought back memories of writing my first DOS SVGA application in mid 90s and discovering it's not as straight forward as it was with VGA's single 64K bank at 0xA0000, forcing me to tile render via bank switching. Simpler times!
You must have been using the easy mode 13 before. 16 color 640x480 uses bitplanes, which is similar to bankswitching. Each plane contains a 1 bit image of the entire screen (all switched into 0xA0000), and when the card displays each pixel it takes one bit from each of the four planes to get the entire four bits. IMHO the bank switching with SVGA would be easier because to set a single pixel you just need to select the bank and then write the pixel value. With 4-bit planar you need to switch to each of the four planes just to write a single pixel. Actually the planar mode lets you do crazy as you can select multiple planes at the same time or perform certain bitwise operations in video hardware, but that's even less straightforward and easy to understand.
@@eDoc2020 ya, I really enjoyed working on VGA mode 13h. This is bringing lots of good memories. I wrote a 2D graphics library in two versions (16bit and 32bit) in assembly on mode 13 back in the day. I remember VGA didn't have sprites support, so my graphics pipeline on every frame was doing 3 things, writing the background scenery to the framebuffer, then writing a silhouette of the characters (black with white background) on the scenery with bitwise-AND, and finally writing the colored characters with black background in bitwise-OR.
The Gameboy is the perfect example of using technically outdated technology to make a truly awesome product noone had seen before. The game gear and lynx might have been more advanced, but with battery life being small, no one could really play them for long periods of time.
Indeed. The Game Gear might have basically been a portable Master System, the 6 AA batteries it required (and how fast it munched through them) was definitely a major downside.
Many more parallel ideas need made.... think differently
That's why Atari made a D Cell battery pack which plugged into the Adapter power jack. A friend of mine had the car adapter. We all bought the AC Adapter because I never needed to play my Lynx on the go.
The battery life of the game gear was actually good, just not in comparison to a slightly beefed up calculator (dmg). Blue LEDs did not exist at the time of the game gears release, which is why it had to rely on a compact fluorescent tube to provide backlight. This tube is what actually consumed the majority of the battery life. Remember that the nintendo switch has the same battery life as the game gear. Oh how far we have come 💁♂️
@@CrossedCoder true about the technology used and all, but I don't think it's fair to compare battery life between products nowadays with rechargeable Li-Ion ones that last for quite a few cycles, vs disposable batteries or the occasional Ni-Cd ones (that sucked) or Ni-MH (which some people say were super common in early 90s meanwhile many people didn't even see them until the early 2000s... very varying experiences regarding those. Also price wasn't what it was in early 2000s).
But it indeed is quite terrible how fast a Switch goes through it's battery, and I would even say that the Lynx and Game Gear competed between each other, while the Game Boy was doing it's own thing barely related, and that proved successful instead.
The Game Boy went with a cheaper and more feasible alternative, the other two went with the cutting edge. Hard to even think they competed.
it always blows my mind back when hardware was so limited, programmers had to be really creative just to do simple things things we now take for granted. it adds a certain magic to the finished products.
Meanwhile, the next Call of Duty will be 310GB because the devs won't even bother trying.
Which is why I'm so uninterested by a lot games nowadays where some schmuck can just use any game maker and produce a 3D game without any knowledge. I mean more power to them but that's such a boring way of making a game for me.
It's always a good day when MVG uploads.
Talk about it.
It's called "Monday"
I do enjoy Monday mornings
We a bunch of nerds lol
I hate mondays
I don't like saying "when the system knows [...] thanks to the header information" that I just feel is completely inaccurate.
The header information is purely descriptive, and its only useful parts used by the boot ROM is just the Nintendo logo portion and Header checksum. The only real use of all of it is as metadata for emulation (or perhaps Super Game Boy).
A game's code only rightfully assumes that the hardware is already present and does not base itself on the header information to know. The system itself is completely blind to this and doesn't do anything in particular, the game will do the job needed itself.
I was about to make the same comment. A real game boy DOES NOT USE this header information, it is simply documentation of what the cartridge circuitry itself contains.
This is meant to solve the problem NES ROMs had, which is that a ROM dump alone tells you nothing about what hardware the cart contains and is therefore not enough information to emulate the game, for example.
This video has some rather rough misinformation. At about 5 minutes in the presenter demonstrates they haven't understood that the cartridge is literally where the game is running from; there's no load step, nor memory to hold bank 0. Next comes the direct contradiction of "the programmer didn't need to write their own controller code for the bank switching" quickly followed by "they were still responsible ... to let the MBC chip know". It's all magic! The best part of the video is the cut in to note that nothing here is unique or new to the Game Boy, as the rest of the script misleadingly suggests.
heh, was going to leave a comment with words to this effect (and also what @LoneTech says). Glad to see it's the top comment. The Gameboy is a fantastic piece of hardware, classic Nintendo in that it's very well-balanced and economical, but in terms of uniqueness, capabilities and being ahead of its time, the Atari Lynx is *far* more interesting.
This is a weird video, MVG is extremely knowledgeable about consoles and (under his name Lantus) worked on several different emulators. This video has the kind of casual inaccuracies I'd expect from someone who just read a couple wikipedia articles.
Super Gameboy wouldn't care since it has the same physical cart as the Gameboy. Otherwise yeah I was going to point out a lot of the same stuff you did.
In addition AFAIK the split of 16kb between bank 0 and bank X was probably up to the cart. The Gameboy is just asking the cart "what is at address 0x3000?" and the cart has complete freedom in how it answers. So the bank switching didn't need to be supported by the Gameboy at all, it was all on the cart. But it was standardized by the set of standard MBC chips commonly used, hence the common behavior of a 16kb bank 0. AFAIK there was nothing stopping someone from making bank 0 8kb or making a bank X and a bank Y that could be switched independently.
You could even remove the a dedicated bank 0, but the problem is the code you are running from when switching banks should not change since, well, you need to be able to read the code you want to keep running. Most reliable way to do this is set aside some address space which is guaranteed to not change when bank switching and always do bank switching from there, which is exactly what bank 0 does.
The innovative thing about the Gameboy it would seem is how far Nintendo took advantage of being able to cram custom hardware into each cart. I am sure they wished they had added some of those capabilities to the system itself, as it would have been cheaper overall to not have to make this hardware for each cart but just each system, but of course lessons learned would go on to influence future Gameboy hardware design.
It's also worth noting carts were well established by the GB era. Atari and their competitors back in the day used them. NES used them of course, and NES carts used custom hardware as well (IIRC SMB3 2D scrolling was only possible thanks to this). Some arcade cabinets allowed you to swap out boards to have different games run (not sure where in the timeline this falls if it predates home consoles or not, but it is definitely the most primitive way to do it).
Great video - sure there are some small inaccuracies but it does a good job of explaining the basics. I was a Gameboy Color programmer back in the day, we used MBC 5 for a 4MB cartridge and external save-ram. It's tricky to develop with bank switching in mind, because the moment you switch banks, that entire bit of ROM is now filled with entirely different data, so if you want to access some of the same things (like animated status bar graphic tiles), you either have to keep those in the extremely limited Bank 0, or load them into the even more limited RAM, or duplicate them in whatever banks you are switching to while the status bar is on the screen. When you start developing a game, you'll organize it - "Bank 64 for minigames A and B, Bank 65 for combat effects, Bank 66 for the title screen and menu", etc. But by the end, you are cramming bits wherever they can fit, it gets ugly.
Doesn't the GBC only display from VRAM? Couldn't you just switch to the bank with the needed tiles only once per frame during the update routine? =
But yeah, it's just plain so much easier to develop software with a linear memory map. Devs for 16-bit x86 will have similar difficulties with segment switching as GBC (and other) devs have with bank switching.
@@eDoc2020 I was trying to quickly come up with a simple example of the need for shared data :) Been like 16 or 17 years since I actually developed on GBC, so my memory is hazy of exactly what the problems were we ran into, but we pushed the system HARD, far beyond what it was designed for (ie, hundreds of colors per frame), so ran into a lot of tricky bits because of the need for bank switching.
I received a Gameboy for my 10th birthday, and it was one of the best gifts I ever received. So many happy hours with that console. Strange to think that was 28 years ago.
Utilising the cartridges to get more space is bloody genius!
A lot of this is wrong.
You can't combine AF into a single 16-bit register (except when saving/restoring to stack). F isn't a general purpose register, it's flags from the previous operation.
The hardware and games don't use the header information at all. The Game Boy only checks that the logo is correct (a failed license control system) and the header isn't corrupted. Super GB and GB Color check for some flags to enable their features, but nothing uses the type/size fields. Games were generally coded to assume they had the correct chips (because why wouldn't they?) and would just go ahead and use them without needing any setup or checking.
The MBC chips are basically just simple latches for the high address lines of the ROM chip. Nothing prevents a game from trying to access more banks than it really has. It would typically just read back an earlier bank because the higher address lines aren't being used. It's all fairly simple transistor logic, so there's no complex protocols or verification. You just directly control the hardware.
How the ROM area and extra RAM are split up is entirely up to the cartridge. While most (all?) licensed games followed the rules outlined in the video, they aren't enforced by anything. You can make a cartridge with different bank sizes, different control methods, ROM in the region usually used for RAM and vice versa. The only restriction is that it needs to have the logo and startup code mapped to 0100 at power on. (Some unofficial cartridges even did some timing/mapping tricks to swap out the logo for a different one after it was verified, so they could display their own!)
Technically there's no limit to how many banks you could add to such a custom cartridge, either.
This feedback would be helpful!
MBC6, an official mapper, has one switchable area at 4000-5FFF, and another one at 6000-7FFF (gbdev.io/pandocs/#mbc6)
ok got it
There are at least 3 other errors in this presentation, did you spot them?
@@crayzeape2230 yeah he thinks he is smarter than the expert
In the very late 90s, I was briefly fascinated by assembly programming on TI graphing calculators. They were Z80-based systems (the one I had, anyway) and were in some ways comparable to Gameboys. It's great to get an idea of just how different the actual Nintendo Gameboy was, though.
I love how you always have Axelay's ost in the background, I love that game as well.
I love watching these, even though I don't understand a ton of the terminology used. Great stuff.
MVG, I love you, but I'm annoyed that there a whole bunch of small inaccuracies in the video. If you're interested, the next time you're going to do a video about Gameboys, I can offer to proofread the script. (I'm the person who runs the GB dev wiki, btw.)
ill take you up on that. ill reach out
@@ModernVintageGamer great! My e-mail address is nitro2k01@gmail.com.
@@Gameboygenius Great guys!
Make a video about programing together!
@@funkykoval2099 I agree with you!
@@Gameboygenius
Thanks for volunteering like this. And thanks MVG for making the effort to get others to proofread.
As a hardware enthusiast, this kind of practical application of the interface between hard/software is the primary reason I watch this channel. It's easily digested tidbits about vintage computing and hardware hacking with a simple to follow context.
I get the impression that this channel is probably 'a software guy's take on the hardware.' Don't misunderstand, this is a valuable perspective as well, as it hints at what is truly necessary information between soft/hardware devs. By getting deeper into the hardware with accuracy, the channel increases it's value to me as a viewer.
-Jake
I am 25 years old and still have my turquoise GBC from '99 in good working condition. There's nothing like retro handhelds for nostalgia :)
My purple one from 2002 is still going too, tho I had to replace the polarizer and give it some Retrobright treatment. It did get played a LOT and usually on the sun (how it's pretty much supposed to be after all given it's purely reflective screen).
Have modded quite a few Game Boys but I think I'll leave that one stock for memories sake (besides I do like it's screen anyway and like playing on the sunlight).
Good man, I still have my GB blue/black ( play it loud version) since '97, perfectly working 👍🏻👍🏻
I love all the videos you do because they're so well put together. You have such an extensive knowledge of how these old consoles work. It really is cool to learn about how these parts of your childhood did what they did.
Thanks for the video. You are helping so much not only to preserve this information, but making it available to people like me, who loves videogames, but had no idea how things work in the background. Keep going with the good work.
Oh man I've been stuck watching all your videos for the last 2 days. You're so damn good at producing this content, I'm hooked!
I love the focus MVG has on hardware on his channel. Stuff like this is absolutely fascinating to me.
I've love to hear a more detailed explanation on how the NES's more advanced mappers worked too, please!
Love your videos dude! Super informative to say the least.
I love your camera and how you edit the video 😍 The colors are rich and vivid; the picture- crisp. Absolutely love it.
*Planet* *X* by _The_ _8_ _Bit_ _Guy_ utilizes bank switching. It's not just cartridges but mostly cartridges. Another awesome video about the Gameboy!
Love these deep dives. Always so approachable and I feel like I'm learning too. Great stuff.
I fucking love these videos. Learning the ins and outs and all of the intricacies of classic consoles and homebrew and all of that. Great job as always MVG!
"have you ever wondered how cartridges worked in game systems"
Me: "no"
Also me: watches 11 and 1/2 minute video
also me again: I don't need sleep, I need answer
11.51 minutes*
Fun fact : Bank-switching is how you did SVGA programming in DOS.
Huh, cool
[The 8086 just didn't have enough memory space for all that VRAM]
Always great to witness your technological knowledge as a fellow Australian. You'd make a great teacher. Really interesting to see how nintendo took old technology and transcended its limits.
FINALLY, another MVG video. Tbh the happiness when a new MVG video comes out is immeausureable
These videos always have some of the best obscure "techie" facts. Thank you for the time and research you put into these vids.
The MB Microvision had a much more interesting cartridge system, the CPU was stored in the cartridge plate! Would love to see a video on that
The first 256 bytes are actually used for the BIOS of the gameboy. The BIOS is swapped out when it finishes processing and the first 256 bytes are no longer reserved once the game itself is actually running
With the proper mapper you can make both banks swappable, although it does make programming more complicated.
Also, with the correct technique you can hot swap cartridges by copying a short look into RAM so that the processor is no longer looking at the cartridge while you swap it, and then you can jump back into the reset vector yourself to start the new game. It was never done in practice but it is possible!
What's more, the design of the cartridge lacked built in ESD protection, same for the console itself, if you wanted to get the most life out of your Microvision, you MUST apply that foil sticker.
@@phonewithoutquestion80 Well to be fair, neither did the Gameboy for the majority of it's life. The Gameboy just had the luxury of shrouded contacts and nearly 20 years of technological improvements to the hardware which helped protect it even without dedicated ESD protection.
@@AiOinc1 The gameboy also did not have a spring-loaded, plastic, sliding, cover that acted as a "piezo zapper" (think electronic ignition lighter), like the MB Microvision did. People liked pulling this lid on the cartridge back and letting it snap closed, over and over (probably similarly satisfying as popping bubble wrap), ultimately being the cause of the majority of blown Microvision cartridges. The reciprocating action of pushing the plastic lid in and out created a high enough charge to become an ESD sensitive device destroyer. Not a well thought out cartridge design.
I love your videos no ads no sponsors just interesting stuff, its always great to see a new video coming out!
who would dislike these videos?
Bethesda in 2018: I'm sorry guys I can't handle your 16 gb of ram and 8 cores 16 threads 4.0 GHz to deliver 16 times the detail.
Nintendo in 1989: this isn't even my final form.
This stuff is like magic to me... and often goes way over my head, but I like learning anyway! I’d love to see a video that explains how cartridges were actually made
The beard’s looking well MVG - keep it growing!
Beards help save the planet by using less razorblades :P
Man, I love your videos and we have the same interests. I lay down confy and put your videos... always good and relaxing.
no scene of you inserting the cart into a gameboy went smooth. Well done.
Let us not forget that Star Ocean was also as large as Tails of Phantasia on silicon, actually bigger when its brass tax, you see Star Ocean is technically bigger, as it is compressed using the S-DD1 chip and in its decompressed state, the game is 96Mb or 12MB. Love the video mate, it is good reference material for so much more than the its title would have you assume, thank you for this.
great video, mate.
The legacy of the Game Boy seems well earned.
It's crazy how that little machine managed to stay relevant through no less than 4 console generations.
It's also really crazy to see what the homebrew community has been able to do with the thing.
Like that new fancy Game Boy Color video player that could run things like the full original Pokémon opening with music, sound, and everything.
You would like my new Game Boy Advance Tech Demo! :)
The best part of a Monday morning is a MVG video
The Gameboy Pocket was the first system I owned as a child, and holds a special place in my heart. Thanks for the video!
Thanks
A beard really suits you. Definitely keep it.
Like Kratos & shit.
One of the main benefits of the old cartridge technology, just think of the modern day equivalence (not counting digital): You have multiple discs that you have to swap manually. These cartridges did it automatically at the speed of light!
1:27 One Energizer battery and one Duracell battery. _Silently raging due to mild OCD_
Pepsi in a Coca Cola glass...I dont givea damn
Me: opens an RC cola.
Everyone: what the hell is that?
Lol
Ah the mixed batteries in the gbc. Brings me back to the good old days of scrounging up batteries from tv remotes.
Great video. Really fascinating stuff about the GameBoy. Wish I understood more about coding.
Oh boy countless hours spent with this beautiful handheld console.. Worth every single penny, the one i have still works flawlessly to this very day.
Wow, the auto captions struggled with this video
Yes, the original language is definitly portuguese
The auto-captiobs wasnt well "port"-ed well.
Have fun seeing English in Portuguese!
@@surrodox Oh, that's why. Why are there english words in there though?
yeah, youtube seems to struggle with australian (or maybe it's south african?) accents
Shame about the inaccuracies, but it's way above my knowledge and I think MVG pitched it at the right level for the most part. All fascinating stuff and to read the comments is great too!
Great video, very retro game mechanics explained esq :)
I love your work! It’s nice to know that there are other people into this.
I wasn't expecting that to be so interesting and detailed.
This is one of my all time favourite channels
Your videos are always making my day, thank a lot, honestly
Great video! Learned something new.
Your channels content is top notch and always interesting!
Ah, another video I do not even a little understand but am endlessly entertained by. Just in time for lunch too!
Gameboy is probably my favorite family of electronics all time. I'd love a look at how the different cartridge systems work.
Love learning about the gameboy tech!
Amazing! Thanks for the upload MVG. Keep it up! 😁
Bank switching was common in the 8-bit days, most of the old home computers were doing some form of that, at least to switch between their own ROMs and parallel RAM sections. Even the Atari 2600 from 1979 did it. However the Gameboy was solid in wrapping up the best of the whole era.
Very much enjoying learning the technical side of gaming, A+ content
The channel reminds me of when I used to come home from school and watch G4TV
Nice solid cover of the subject MVG,
Nice job!
Another amazing tech documentary. This always shine my day.
I wonder how a Gameboy survived a missile strike during Operation Desert Storm and still played games. Strongest console of all time?
Nintendo is known for making their consoles with Nintendium, which makes their consoles nigh indestructible.
@@Twinrehz Unfortunely they stopped using it with the Switch
@@payraw6844 and now we have joy-con drift! Nintendo will regret it
@@payraw6844 The switch has a unique problem that it's a handheld with a huge screen (relative to its size). If they wanted to make it as durable as previous consoles, it would be the size of the Wii U-controller. I still consider it fairly sturdy, compared to how bad it could've been.
It had to withstand the punishment of small children, luckily it could also survive the theatres of war
Most people still don't realize just how important the Game & Watch series was to the progress in development of the Game Boy. Game & Watch games are amazing too.
Now that you mentioned bank-switching, I'd say why don't you do a video about the Atari 2600 hardware?
Love the work and detail you put into this. Thanks!
Wow, so cool glad you explained how the Gameboy worked, even though I don't understand what is being explained! :D Yeah, the Gameboy is such a good example of technology, like how Cannon Fodder had the intro video segment!
Awesome video, one of the best yet!
Your videos are awesome. They even made me start coding with the goal to make my one game.
Excellent video, as always!
One of the Best UA-cam Channel.
Another neat and technical video! Thanks!
@Modern Vintage Gamer - Just brought 3 tracks off you mate (SunBreeze/Pacific Drive/Coast to Coast) Truly as good as any other music i would listen to commercially thats supported by the man for their exposure,we need a update on your bandcamp though if you have the time,as i hear other tunes on your vids but nothing new on BC,anyway great work as always on both fronts
This is a brilliant video! Loved it.
Another new piece of information, thank you!
Very nice, I can see why it's your favourite piece of hardware.
Thank you so much, your videos really improve my day
When i here the amount of memory available and the games these developers where able to pull off i am amazed rather than only complaining they really were innovative in their approach
I remember these back in 2000 in elementary school my friend had a yellow game boy and played Pokémon red green and blue GTA and couple other games. I remember it being really cool for being 10 years old at that time
Best way to start my week. I always watch MVG Monday morning along with my morning coffee. 👍👍👍
I don’t understand much of this technical talk but they’re still good videos to watch.
One of the happiest moments as a kid was plugging coloured pokemon game into 1st gen gameboy and seeing it run.
MVG: Have you ever wondered how cartridges work in game systems and what happens when you...?
ME: No. No, not in the slightest not ever... at least until this very moment but hot damn do I want you to tell me about!
Always enjoy your work MVG. Thank you.
Another awesome video man, always look forward to when a new one comes out :) , keep it up :D.
New favourite tech channel 😎👍
I had a headache just watching this video.. I LIKE IT !!
Was having an awful day. Then mvg gave me a reason to have a fun day. Thanks mvg
This was a lot more interesting than I expected.
I remember a long time back there was a very special cart made ...it had a cable out the back that would connect to Aprilia scooters (Direct injection models) and you could derestrict them. First time I seen it I was amazed , it was cheap enough and all you needed was a regular gameboy to use it.
The game boy and the ti 8x calculators are a true testament to what you could accomplish with a z80 processor by pushing the boundaries beyond what anyone could have imagined prior to what ended up on them.
It's always a good day when MVG uploads, 🎮😎🕹.
You sir are definitely amazing! I can't get enough of your videos!
Keep up the good work! Love ur videos
Thanks for this explaination! Very enjoyable!
Thank you so much for sharing this knowledge.
"Mistakes were made"
Nintendo: *"Wait, that's illegal!"*
Enjoyed the video! Tetris and Super Mario Land show that you don't need a lot of disk space to create a great game.
Ah.. bank switching! brought back memories of writing my first DOS SVGA application in mid 90s and discovering it's not as straight forward as it was with VGA's single 64K bank at 0xA0000, forcing me to tile render via bank switching. Simpler times!
You must have been using the easy mode 13 before. 16 color 640x480 uses bitplanes, which is similar to bankswitching. Each plane contains a 1 bit image of the entire screen (all switched into 0xA0000), and when the card displays each pixel it takes one bit from each of the four planes to get the entire four bits. IMHO the bank switching with SVGA would be easier because to set a single pixel you just need to select the bank and then write the pixel value. With 4-bit planar you need to switch to each of the four planes just to write a single pixel.
Actually the planar mode lets you do crazy as you can select multiple planes at the same time or perform certain bitwise operations in video hardware, but that's even less straightforward and easy to understand.
@@eDoc2020 ya, I really enjoyed working on VGA mode 13h. This is bringing lots of good memories. I wrote a 2D graphics library in two versions (16bit and 32bit) in assembly on mode 13 back in the day.
I remember VGA didn't have sprites support, so my graphics pipeline on every frame was doing 3 things, writing the background scenery to the framebuffer, then writing a silhouette of the characters (black with white background) on the scenery with bitwise-AND, and finally writing the colored characters with black background in bitwise-OR.