I remember my second-hand Game Boy was a little dodgy, and Tetris would often get stuck on a corrupted Nintendo logo screen if the cartridge wasn't seated *juuust* right. Satisfying to learn why after all these years!
@erwelcomcom74104 жыл бұрын
Cool
@MyRegardsToTheDodo4 жыл бұрын
SaChen somehow circumvented that, atleast for the original Gameboy. They produced unlicensed games (no bootlegged copies of original Gameboy games, the games were entirely unique, just not licensed by Nintendo) and when you put them in the Gameboy and start it up, the screen says SACHEN or COMMIN instead of Nintendo. They don't work on anything other than the original Gameboy, if you play them on the Pocket or any newer model they will sit on the bootlogo. They were actually pretty productive, releasing 20ish games, and even licensed them out to other companies. Some of these companies even added content to the game, and yes, that means porn.
@glecyroy68864 жыл бұрын
Chicken leg lettuce
@DasAntiNaziBroetchen3 жыл бұрын
Your game boy just has dirty contacts or your cartridge has dirty contacts.
@TrollGarlic3 жыл бұрын
@@DasAntiNaziBroetchen thx exact same thing happens. probably the sticker i tore off
@tbk20104 жыл бұрын
As a kid I (somewhat correctly) concluded from the GBs empty-slot-behavior that the logo was part of the game instead of the handheld. However, the reason that that I came up with was kind of the opposite of reality: I thought that Nintendo wanted to allow other companies to produce games of the system, but present their logo in the same way as their own. At the time I was playing mostly on my dads PC, and since MS didn't prevent anyone from making games for DOS I didn't see any reason why Nintendo would do something like that.
@BoGy19804 жыл бұрын
that's the 3DO for you ... meant to be an 'open platform", even the hardware was built by multiple companies. Also on the atari games didn't need to be licensed (at least the 2600)
@JJ-qo7th4 жыл бұрын
When bad games get made for PC, you blame the game developer for making a bad game. After all, the computer manufacturer isn't to blame if someone makes bad software for their computer, and it's helped by the knowledge that computers do other stuff, like word processing, accounting, scheduling, and the like. But when a games machine has bad games made for it, the console manufacturer gets blamed for allowing a bad game to appear on the console, in a realm where all you do on it is play games. It was really damned smart of Nintendo to restrict licensing and maintain quality control over its products. Not to say that all of the games were good, but they had to be *at least* functional to get the Nintendo Seal. Moreover, Nintendo only ever gave out so many licenses to a developer at a time. If you wanted more licenses to make more games for the Nintendo, you had to pitch games to them, and you had to show a good record of making good games. There was another thing they did to trick some people in the US: They deliberately made the NES look like a VCR to get away from the visual stigma of looking like a games machine, even though that was literally the only thing it did. Once they cleared the hurdle and gained public support in the US, they ditched the VCR-loading NES and went with top-loaders for the SNES and N64. I guess toploaders are less of a pain to manufacture.
@MyRegardsToTheDodo4 жыл бұрын
There are games where this actually happened. You might still find them on flea markets or on classified ads websites (craigslist or your equivalent to that). The company's name was Sachen or Thin Chen, a Taiwanese develloper that produced unlicensed video games for the Gameboy and the NES. Not bootlegged copies of official games, their own games, just without licenses. If you put one of them into the original Gameboy the bootlogo either says SACHEN or COMMIN. They don't work on the Gameboy Pocket or newer models. That company was pretty productive, releasing 20ish games for the Gameboy alone, and even licensed these games out to other companies. Some of these companies added more content to these games, and yes, that means porn.
@matiasd.77554 жыл бұрын
@@JJ-qo7th actually, some of the worst games ever are licensed and carry the big N seal of quality... So the logo check is obviously not to ban bad games to appear... The biggest income to these hardware manufacturers are not from console units sold but from licensed games.... The logo check is to make the game creators obtain a license, be it a good or bad game... It's a measure in only the seek for profit... And it makes the game you buy a bit more expensive....
@Fuchsia_tude4 жыл бұрын
@@JJ-qo7th They also made a huge push to rebrand the Famicom as the "Nintendo Entertainment System" with its integral robot peripheral (even though it only played two games (and they look dull as hell)), marketing the NES as a toy, not a video game console, to parents for its US launch. Obviously children recognized exactly what it was and once Nintendo had used R.O.B. to successfully Trojan Horse the console into a successful launch in the US, Nintendo quietly dropped it without ever releasing another game that used it.
@-DeScruff4 жыл бұрын
I do like how it also acts as a 'dirty pin connection' test, just so you know if a game boots up, your not gonna have weird graphical corruption issues or something that you sometimes get with the NES.
@hardgaming85413 жыл бұрын
Not really, I had a Donkey Kong cartridge that kept switching areas randomly after finishing one, some enemies and objects also were kinda like swapped by black rectangles.
@silkwesir14442 жыл бұрын
Which is of course just an accident, a consequence of the protection erring on the side of "caution" (from the POV of the rights holders)
@Alias_Anybody4 жыл бұрын
Working bootleg potentially equals trademark infringement... diabolical.
@thorlancaster56414 жыл бұрын
If I remember correctly there was a court case that ruled these checks unenforceable. EDIT: Commented too soon, Glad that the Sega case turned out the way it did.
@Dinnye014 жыл бұрын
@@thorlancaster5641 the sega saturn maybe? I'm too lazy to check, but our own MVG made a video about this.
@Dinnye014 жыл бұрын
*genesis
@theonik20064 жыл бұрын
That's the whole idea.
@kasperfabchbrandt5374 жыл бұрын
Sega v. Accolade: en.wikipedia.org/wiki/Sega_v._Accolade
@H2SO4__4 жыл бұрын
9:10 i like how he talks about precision timing while he himself is out of sync with the video
@vanillacokejunky4 жыл бұрын
i believe that is a clip from something else with the audio muted, he is just recycling old footage and speaking over it.
@Fuchsia_tude4 жыл бұрын
@@vanillacokejunky It's a kind of odd decision and it stood out when he did the picture in picture earlier in the video too.
@niino43294 жыл бұрын
I like how you correctly said "The north american video game crash". Many people (including outside north america) mix this up and think it was an international thing. Like some kind of Mandela effect.
@AndehX4 жыл бұрын
Yeah there definitely was no video game crash over here in the UK. I remember quite vividly playing the highly successful Spectrum in the mid to late 80's and Atari 2600 going into the 90's. Gaming was quite popular in the UK in the mid 80's
@arturstatkiewicz63604 жыл бұрын
For some people North America is the whole world.
@Brianreese834 жыл бұрын
We had Reagan, and economic issues really bad at the time, a crack and aids epidemic, record unemployment. A lot of folks were trying very hard to pay the bills and just didnt have the extra income for games. Let alone shitty ET. I digress. Was more economical than it was people didnt want to play games. Plus we had arcade machines all over (one thing I really do miss from the era). Was easier to afford a couple quarters than buy space invaders for 39.95 and an Atari for a couple hundred bucks.
@CityStarrzz4 жыл бұрын
@@Brianreese83 absolutely not true. The crash was due to corporate greed, and companies trying their hardest to commercial this new commodity. There’s is always a cost to the kind of behaviours exhibited back then, and the western world continues to try and prioritise money over quality regardless of the result. We’ve done this with food too, the only difference being that food is required to survive so we still buy what we can afford, and end up sick or unhealthy in the long term. America especially is an absolute hotbed of immoral decisions made to support a corporate ideology. Hence why it’s run by a president who claimed to have had coronavirus, and then claim his cure was potentially related to a medication he himself had a vested interest in. The uk isn’t far behind, so I’m not acting like we’re great, but that particular crash was definitely caused primarily by those practices.
@colt15964 жыл бұрын
@@arturstatkiewicz6360 lol being from America I can agree with this. More patriotic then conceit though. One of the reasons I love borders. Culture is a beautiful thing.
@BikerLordCarnage4 жыл бұрын
This used to be a nightmare to support... Developers would change the logo data in one of the SDK .S assembly files and then raise a support ticket asking why their game won't boot on the devkit. We had to write custom tools to checksum the logo in the executable .ELF file and even replace it with the correct logo data to verify the fix. Why it didn't come as a pre-assembled object file in the SDK, to discourage editing, I don't know 🤔
@BikerLordCarnage4 жыл бұрын
@randomguy8196 Well, that would've been a start I suppose :-D
@Mendaz4 жыл бұрын
Did you used to be a developer for Gameboy games, if I may ask??
@BikerLordCarnage4 жыл бұрын
@@Mendaz I used to support the development tools for Nintendo consoles.
@Mendaz4 жыл бұрын
@@BikerLordCarnage Ah, now it makes sense why you would know how it was such a rampant issue. Lol Thank you!
@userPrehistoricman4 жыл бұрын
@@BikerLordCarnage Was there no hardware debugger that would tell the devs that the gameboy was stuck in the boot ROM?
@taiwanjon25834 жыл бұрын
I'm happy to see you mention Taiwan! As you hint at in the video, at the time Taiwan's copyright laws were not very strong, but Taiwan did have strong laws protecting trademarks, which is why they required a Nintendo logo to be displayed in order to boot the game.
@rolandkatsuragi4 жыл бұрын
Nintendo never ceases to amaze me with their anti-piracy methods
@jonathanrmz29934 жыл бұрын
You heard of apple? Haha
@thewoo98944 жыл бұрын
@@jonathanrmz2993 wym.. shits hard to fucking pirate.
@bowduh4 жыл бұрын
Laughs in wii
@TexasHollowEarth4 жыл бұрын
Then there's the Switch! 🤣
@raven.48154 жыл бұрын
Then a simple clip killed any security on the switch...
@cloudsquall454 жыл бұрын
Used to love changing the color palette on my GBC at the boot logo, pokemon red in Up + B red was so much better. I'd sit and stare at the logo while changing all the colors
@colt15964 жыл бұрын
I accidentally figured this out playing superman on GBC. Didnt use google back then, so I just kept trying to find color codes. I'm glad you commented on that. Nostalgic lol
@cloudsquall454 жыл бұрын
@@colt1596 Yeah, here's a list, if you still have a GBC/GBA nearby i.imgur.com/jZUXMp2.jpg www.nintendo.com/consumer/systems/gameboyadvance/colorchange.jsp
@christiangomez79474 жыл бұрын
I always played tetris on blue or pastel.
@cloudsquall454 жыл бұрын
@@rap6439 NGL, just dug out mine too and sat and spun the dpad for ages.
@christiangomez79474 жыл бұрын
@@rap6439 nah, i've got an advance(original)
@ZygalStudios4 жыл бұрын
Cost was definitely the main reason that a CIC chip was absent on the cartridge. But something that also makes me wonder is board space. Seems pretty packed on the cartridge PCB and anything more would require mechanical changes across the device slot and cartridges well as software changes too. Great video!
@alexholden4 жыл бұрын
Could also be related to power consumption given that it was battery powered.
@ZygalStudios4 жыл бұрын
@@alexholden Very true!
@lainwired39464 жыл бұрын
GBC and GB carts have a fair amount of dead space generally. I think it's just costs like you said. You could deffo fit a small chip into every cart I've opened over the past 30y
@erik19borgnia4 жыл бұрын
@@lainwired3946 that's only on games that didn't have ram+battery, those have some free space. But in the video it shows a cartridge where there is not enough space to put another chip, and games like that are quite a lot.
@lainwired39464 жыл бұрын
@@erik19borgnia What makes you think you couldn't fit a simple processor on there? It doesn't have to be anywhere near the size of the banks
@soullessleftover84274 жыл бұрын
I always love a creative boot logo/animation. Some of the more popular pirating groups used these, and when done right. It looks awesome 👏.
@MarcoGPUtuber4 жыл бұрын
Next Episode: How security on the Game Boy was defeated and how I modded the Game Boy to say Modern Vintage Gamer upon startup.
@IngwiePhoenix_nb4 жыл бұрын
He literally explained it x) Catch the first read and act differently upon the second. :)
@MarcoGPUtuber4 жыл бұрын
@@IngwiePhoenix_nb I mean a more detailed history of it in a dedicated episode.
@Quicksilver-77914 жыл бұрын
You watch mvg too? I see you every comment section of bryan's videos
@MarcoGPUtuber4 жыл бұрын
@@Quicksilver-7791 Gotta support the YES!
@h.b.55774 жыл бұрын
@@MarcoGPUtuber Fancy seeing you here as @Harjas Singh already pointed out. How have things been going on in Taiwan as of late?
@jansenart04 жыл бұрын
The boot logo solution was pretty brilliant, for what they were trying to do, which was to eliminate any large-scale licensing-avoidance from someone like Tengen, like they had on the NES.
@ChiekoGamers4 жыл бұрын
Next episode: How PS5 security was defeated using chicken nuggets.
@gustavovasconcelos98574 жыл бұрын
*Mistakes were made*
@Tobi_DarkKnight4 жыл бұрын
How the PS5 security was defeated with air.
@MaximNightFury4 жыл бұрын
Don't give the hackers ideas
@astafire68104 жыл бұрын
@@MaximNightFury you could technically use the oil from those nuggies to short a capacitor and override the disk security
@ADeeSHUPA4 жыл бұрын
@@astafire6810 アスタ 파이야
@Geneo-en5km4 жыл бұрын
The in depth description and showing us how all these different ways these systems do what they do amazes me and keeps me coming back for more
@EEVOL4 жыл бұрын
It's ironic that this video comes out when I am playing on my Play It Loud green Gameboy. Thanks again for another wonderful video MVG!
@sethtaylor12514 жыл бұрын
I love the way you put your videos together man, the quality is close to tv shows like ‘how it’s made’ or just any high budget short-documentary. It doesn’t go unappreciated!
@Illya99994 жыл бұрын
Wow thats really interesting! I never would have thought that console manufacturers would put drm in the boot screen
@Schmaglow4 жыл бұрын
You should watch his video on the original playstation then
@Kalvinjj4 жыл бұрын
@@AnonymousGentooman ain't it the exact same effect in the end then? Also, I might be terribly wrong but isn't that the job of encryption, along with DRM? Tho given they usually (if not always) work together that distinction might be moot indeed.
@Kalvinjj4 жыл бұрын
@@AnonymousGentooman hhmm... I see, I get the distinction now.
@TorutheRedFox4 жыл бұрын
@@AnonymousGentooman *trademark infringement the "infringement" part is VERY important, because a trademark is simply the name used by a company in trade to either identify themselves with a simpler name than the legal name of the business, or to identify one of their products same goes for copyright infringement
@blob59074 жыл бұрын
thats why your arent in charge
@Rafa-Silva-Alt4 жыл бұрын
Huh, new MVG upload! Time to watch. Have a good one, everyone!
@joekenorer4 жыл бұрын
I remember when I was a kid that I could tell if a game was going to boot or not by what the logo looked like. All these years later I learn why. Thank you.
@akaDL4 жыл бұрын
I've came accross to one of your videos at random, but I got addicted. As a novice programmer that wants to code games in the future, i feel amazed by the sheer aumont of hidden secrets and knowledge you're sharing with us. Keep up with the good work!
@bebenlebricolo4 жыл бұрын
1:20 : one of the GoldenSun titles booting up. Such good memories!
4 жыл бұрын
I though it could have been either mario golf or mario tennis, but no, the intro aren't the same. Golden Sun ftw!
@mjc09614 жыл бұрын
Glad I'm not the only one who caught that.
@AwesomeHairo4 жыл бұрын
Literally playing Golden Sun now
@ThunderFist19784 жыл бұрын
Wisdom Tree, who made Christian games for various consoles in the early to mid 90s, made a few games for the Game Boy. I have Joshua and the Battle of Jericho, and when that is booted up, the Nintendo logo comes down the screen just like with any other game, and after the sounds typically played, the Nintendo logo stays on the screen for a few seconds as the text “is a trademark of Nintendo Inc.” or something similar appears under the logo. That’s how Wisdom Tree handled their games on the Game Boy.
@BooTeresa10064 жыл бұрын
Interesting. I knew unlicensed games often used custom boot logos, but I had no idea that required custom hardware!
@bid0u12345 Жыл бұрын
I really love your videos. They're always a bit complicated but always come with an easy to understand explanation.
@maybedonn4 жыл бұрын
I just want to say this channel has been killing it recently with the content. Keep it up.
@unexpecteditem79194 жыл бұрын
Not putting the 10NES in the Game Boy could also be because of battery life - having to power two extra 4-bit CPUs that are constantly handshaking could've absolutely slaughtered the batteries, so maybe they took that risk to not include it.
@jaredloveless4 жыл бұрын
"16 bits is equivalent to 64 kilobytes" What I think he's trying to say is 16 bits are enough address locations for 64 kilobytes
@LEGOpachinko3 жыл бұрын
I was confused when he said this
@Asdayasman3 жыл бұрын
Pff you're just not using good enough compression.
@weir99963 жыл бұрын
And later on screen it says "64kb" which would be 64 kilobits not 64 kilobytes
@baconology30654 жыл бұрын
i really enjoy the content you create, it is at a perfect technical level for me to understand, illuminating, engaging, very much appreciate your work, hope you are benefiting well from the platform and it isn't ripping you off.
@m2pt54 жыл бұрын
If I remember correctly, the GBC Mega Memory Card had a modified logo. I had one back in the day.
@AWalYT4 жыл бұрын
Yep, it says megamem. Fickle thing to boot, but then again, most cheat tools are lol.
@tzaan4 жыл бұрын
I thought this video was really nicely made and also I didn't know the Gameboy had piracy protection so thank you for that, keep making great videos and have a great day
@stefanocrespi54244 жыл бұрын
Amazing someone re and implemented it in the emulator. Emulation is such both a skill and love evidence.
@freshstat1csnow4 жыл бұрын
Emulators allow (or sometimes even require) people to provide a boot rom dump so all it has to do when one is present is emulate the communication between it and the loaded game rom. This means that if the game is edited or corrupted in some way it will behave exactly like it will on real hardware.
@kadosho024 жыл бұрын
Always wondered about the logo, and it was more than a simple boot up screen. Fantastic to know it's capabilities, and the process that seems so simple, is intricate inside.
@OnlyEpicEmber4 жыл бұрын
I'm guessing a mistake or two were made
@23Scadu4 жыл бұрын
Reading the code two separate times, thus allowing the possibility to swap it out, does seem like a mistake.
@OnlyEpicEmber4 жыл бұрын
@Mike UK Uh, sorry, what?
@akaDL4 жыл бұрын
@@23Scadu Allowing the possibility to swap it out isn't a mistake, since injecting code is done on non common/standard/legal ways. There isn't a single system in the world that is 100% bullet proof. However, the close you are to the 100% mark, it costs billions to provide such protection. It doesnt matter if it was checked once, it would still be possible to swap the code anyway, bypassing the protection. However, this protection was simple, clever and cheap, and it worked out for the most part. Like MVG Said, Nintendo is aware that it is impossible to stop piracy/bootleg, but adding a simple and clever protection to hold off bootlegers for a week or two after a major release, was worth and it did it's job.
@Architector_44 жыл бұрын
@@akaDL Though to be fair, having it read the logo for displaying, and then immediately check it, and only then start displaying it, would probably make the protection way more effective, even if still not bullet proof.
@davidmcgill10004 жыл бұрын
Only mistake I see is using a checksum that could be recreated with a not trademarked image.
@marc-andreservant2013 жыл бұрын
That's a good attack on secure enclaves in general. Compilers assume that reading the same address twice without writing will read the same data. If you can break this assumption, you can usually find bugs.
@marc-andreservant2013 жыл бұрын
This also applies to SGX enclaves in the real world. I will take a guess and say there are probably thousands of such bugs in Netflix's DRM plugin for Edge. After all they don't care enough to block people running old microcode with Foreshadow still unpatched.
@SgtJoeSmith4 жыл бұрын
Lock picking lawyer unlocked the game boy security in 4 seconds using a banana
@teh_supar_hackr3 жыл бұрын
MVG and Lock Picking Lawyer compete against each other to see who can unlock a game console the fastest with just some McNuggets.
@christianvandegraaf98444 жыл бұрын
Interesting. At the beginning of the description I figured the logo check would be something akin to, but obviously much simpler than, the OCR used in Brain Age and similar games, where it seems the game only checks for certain patterns and ignores anything in between. Thus you would be able to create any custom, bootable logo so long as certain bits were on. I guess that would require more power than the Game Boy had though.
@silkwesir14442 жыл бұрын
No, what you describe there would not require any more power (time and memory) than what it actually does with the logo. Might even require less.
@Erwiinstein4 жыл бұрын
I just want to know if mistakes were made or not. EDIT: After watching it, I still can't tell if mistakes were made or not. In all seriousness, amazing video as always.
@Wkterr4 жыл бұрын
There was one mistake: If they had loaded the logo from the cartridge into RAM instead of reading it twice, it wouldn't be possible with custom logos (and thus bypass having the Nintendo logo displayed). But the mistake was insignificant, not many bootleggers used the method and in the end the Nintendo's (and Sega's) scheme was ruled inefficient anyway. So basically the lesson is: You cannot use copyright or trademark laws to prevent unlicensed software.
@lerodkazuko43914 жыл бұрын
I could see all the assembly programming in the code you were showing and yes, the consoles after Atari and the lack of licensing is what caused developers to take action to prevent this sort of thing of infringement from happening. It's all simple code for validation that happened during the boot process but with some precision tweaking and timing that can be circumvented as you mentioned.
@renakunisaki4 жыл бұрын
The checksum is unrelated to the logo check. It's just a redundant integrity check. Swapping out the logo after it's displayed has nothing to do with code. The game code isn't running at that point. It's entirely done by hardware. Although the logo swap worked on GBC, it changed the timing and did a second check, so doing it was more difficult. Bootlegs that used this trick before the GBC wouldn't work on it. On the other hand, for some reason the GBC only checks half of the logo. That's why some newer bootlegs have logos that are poorly edited from the original.
@half-qilin2 жыл бұрын
0:37 You missed the 3DS, it has an animation upon loading a game but it doesn't have a boot animation at all.
@choccymalk1234 жыл бұрын
Nintendo: Look, we have a secure system! Modders and a soldering iron: No
@MaximNightFury4 жыл бұрын
Yeah, it's funny how modders managed to figure it out and bypass it
@soursugar48674 жыл бұрын
Nintendo with the Wii: You cant defeat me Hackers and home brew designers: I know, but he can *T W E E Z E R S*
@MaximNightFury4 жыл бұрын
@@soursugar4867 just look at the 3DS... It was broken with a crappy game
@soursugar48674 жыл бұрын
@@MaximNightFury Their game was so mediocre it literally broke the system security
@MultiWirth4 жыл бұрын
@@MaximNightFury Just look at the Nintendo Switch (first gen). Security didn´t exist at all thanks to nvidia´s recovery (flash mode) from the android world...
@wojtekpolska10132 жыл бұрын
im kinda grateful this happens, when i buy a game online, usually the contacts are pretty dirty and i have to clean them with a cotton swab. the logo can tell me when i cleaned it properly, so the game runs without errors if the console cant properly read the Nintendo logo, it means there is trouble with the connection, so if the game tried to run it wouldn't work properly
@Beaudunk4 жыл бұрын
Man I love this guy's content.
@eric.waffles4 жыл бұрын
It's actually pretty genius how Nintendo gave the user a visual queue like that to let the user know the cartridge isn't inserted. I'm a 23 year-old IT analyst and looking back, this was probably the first instance of doing real hardware troubleshooting. ..Nintendo led me to this moment.
@Niko-ex3bn4 жыл бұрын
Having written a gameboy emulator, getting the loader to run correctly was a good first trial to ensure that it worked properly. If it didn't boot the game, then I knew one of the opcodes in the loader were wrong. That was a few sleepless nights to say the least.
@emperorofgaming81463 жыл бұрын
What emulator did you write, and where can I download it? I’d love to use yours out of the others.
@Niko-ex3bn3 жыл бұрын
@@emperorofgaming8146 As much as I can say it emulates, its not perfect in accuracy and has a lot of bugs that likely wont be resolved as its just a pet project.
@StriderVM3 жыл бұрын
My friend has a multicart with a Nintoude logo. But thats the only bootleg Gameboy cart I saw with a modified logo. Thanks for solving a little mystery from my childhood. =)
@nothingtoseehere934 жыл бұрын
The best part of waking up on a Monday is an MVG video
@desudesu524 жыл бұрын
I really like the way you explain things, clear and effective
@SpennisTheMenace4 жыл бұрын
Shout out to consoles before needing $90 and 5 hours of downloads/updates to play the basic version.
@Mario030203024 жыл бұрын
Most characters hair rendering need more processing power than the GameCube had
@aimwell88134 жыл бұрын
If you don’t like downloads and updates, and don’t like the price of modern console games, you should really consider the Oculus Quest 2. That’s the closest modern console to the opposite of your words
@laurinneff43044 жыл бұрын
@@aimwell8813 warning: you need a Facebook account for the quest. Might not be an issue though since they probably already have all the data you'd put into the account
@user2C474 жыл бұрын
@@laurinneff4304 Facebook probably knows all of your personal information and secrets, as well as everything you say, do, and think, even if you don't have an account.
@Wkterr4 жыл бұрын
Haha, I love it. I've seen the bootrom disassembly, but never paid much attention to it. The moment you said "The logo is read twice" I immediately though "So in theory I can change the logo between reads". Funny how this brand new idea I just came up with is older than me.
@rhodexa4 жыл бұрын
Just what i was wondering minutos ago. Perfect!
@ControlAllDa13374 жыл бұрын
A lot of these videos go over my head but I find them all so fascinating
@marscaleb4 жыл бұрын
I remember playing with the cartridges when I was a kid, and noting how the nintendo logo was just a solid block when you don't have a game inserted. I was a bit fascinated by that.
@JoseMedina-hs9st4 жыл бұрын
I never knew that the Nintendo logo was some type of anti-piracy I thought it was just a normal logo
@silkwesir14442 жыл бұрын
does that mean you never had a game fail to boot up because of dirty connectors?
@cakranid4 жыл бұрын
this is amazing video. not only describe how this is works, this do even more to hack the visual appearance .
@bryanfrye87704 жыл бұрын
I want to hear the story about those guitars in the background. Do you have a channel that showcases your talents?
@vap17774 жыл бұрын
He makes the music in the background
@blakegriplingph4 жыл бұрын
From what I've read Argonaut Software tried the logo circumvention trick when they were messing around with the Game Boy. Fortunately for them, Nintendo was impressed and took a shine to them when they learned about what Argonaut did, and the rest was history. Also, the "protection" used by the Famicom Disk System relied more on legal deterrents as well rather than active hardware-level protection. No bootleg disk manufacturer would dare stamp the NINTENDO wordmark on their disks, so they simply minced the name or left the needed indentation for the disks to be accepted.
@Carighan4 жыл бұрын
But would this really be anti-piracy? I mean you just have to edit two addresses instead of one. And I mean, they're right next to one another pretty much. This feels more like an actual checksum, the chance of any weird pins or so changing both images in the same way is practically nil, so there's a good way of knowing whether things load correctly. I know Nintendo did a lot for copyright reasons, but this somewhat feels more like an actual error check.
@LiEnby3 жыл бұрын
yknow pirates dotn really care about trademark violations xD
@Cyber_Akuma4 жыл бұрын
From my understanding, the reason SEGA lost in their TMSS approach was because all they did was request a string of "SEGA SEGA SEGA" text to be loaded in specific area of memory, but it did not display this string like the Gameboy would display the Nintendo logo. The "Licensed by SEGA" screen was built into the TMSS and is hard-coded to display even if you had bypassed the check. The judge ruled that since the trademarked SEGA text was "invisible" as it was just being sent as data to check, it was not trademark infringement. Dunno if the whole trademark thing would have worked for Nintendo, but unlike SEGA, they DO actually display the logo that the cart is sending it, so it could have been argued it's not the same as SEGA's approach and that trademark was being infringed because they are actually displaying a Nintendo trademarked logo. Although, in other non-videogame cases (such as Lexmark vs SCC) it was ruled you are allowed to include some copyrighted code if it's mandatory for a 3rd party to make their product work, course, that's copyright and not trademark. So who knows how it would have held up if Nintendo did try to sue on grounds on Trademark if some people just simply copied their logo instead of this bypass, but it still was a different situation (slightly, because the trademarked logo is being displayed unlike SEGA's approach) than SEGA's approach.
@supersat4 жыл бұрын
Sega's later disc-based systems REQUIRED you to include copyrighted code to display the whole "Produced by or Under License from Sega Enterprises." If the code didn't match, it didn't boot. However, I don't think this was ever challenged in court, at least in the US. On the Saturn, these object files were called SYS_SEC.OBJ and SYS_ARE?.OBJ (where ? could be J, T, U, or E, depending on the region enabled)
@Cyber_Akuma4 жыл бұрын
@@supersat IIRC, The SegaCD actually had no copy protection (but it did have region lock...) since burning a cd was not really much of a thing back then, and the Saturn had some proprietary non-duplicatable ring around the outside edge of the cd to verify it. (I have seen "blank" disks before normally used for mastering/dev purposes that have the ring pre-written on it and let you burn whatever on the disk)
@supersat4 жыл бұрын
@@Cyber_Akuma it didn't have any copy protection, but TMSS and the Game Boy's logo header wasn't really copy protection either, since a 1:1 copy would still work. It was about ensuring developers were licensed. On US Sega CD titles, there's copyrighted logo/trademark code from 0x200 to 0x784 in the boot sector.
@Cyber_Akuma4 жыл бұрын
@@supersat TMSS was tried in court and failed though for the reasons I mentioned. The Gameboy displaying the logo was slightly difference since the main reason TMSS failed was because none of the trademarked information was actually displayed, and thus, it was not considered a trademark violation since nobody could see it. It's arguable if forcing the logo to be displayed would have worked as a trademark violation, but as pointed out in Lexmark vs SCC, it was ruled that if a 3rd party is trying to make their product compatible with another product, even a small bit of copyrighted code is allowed to be used just for that purpose. I don't know if the SegaCD displays that code like the Gameboy did, or it's still just invisible like it was with TMSS.
@Centbair4 жыл бұрын
Here I thought the black bar logo on the gb, when you have no game inserted, was the system saying "You forgot to push the cartage down all the way." Nintendo ninjas
@Gabe-es7io4 жыл бұрын
Very interesting stuff. Never would have thought so much was going on when that logo dropped on the screen. I'm currently in plans of restoring my Gameboy. Hope I succeed 🤞
@stopandlisten60704 жыл бұрын
"Nintendo had set out to put their stamp of approval on any licensed game and make a commitment, that it would be a game of a certain level of quality" *Looks at Switch store flooded with trash shovelware that are basically Hentai click games on a kids machine* Oh how times have changed.
@itsstudytimemydudes43453 жыл бұрын
gosh, really? he said this line and my mind went to all the odd DS and Wii shovelware games that were released, like the Silly Bands game and the Minion Mayhem game oh how the giants have fallen-- its a huge shame but Im hoping Nintendo's standards for approval will improve again
@ezequielchehda50924 жыл бұрын
Watching this before going to work has no price! Thanks for all your hard work!
@guerht4 жыл бұрын
Hmm why doesn't the gameboy read the already loaded characters in the VRAM instead of going back to 0x0104 when validating the logo? Could it be due to efficiency issues?
@Jimbaloidatron4 жыл бұрын
Came looking for exactly this comment; my immediate thought was that if they'd checked it again in VRAM, you absolutely know that it's been displayed, possibly with a half second delay between checks. I guess they didn't anticipate anyone adding the extra logic. These things are an arms race.
@erik19borgnia4 жыл бұрын
In the GB/GBC, you could've access the VRAM only during Vblank. If you try to access it in any other moment, it will just give you garbage data (FF specifically). So if they wanted to do that, it will make the bootstrap more large and complex and that probably was not ideal. Seeing that the original bootstrap has exactly 256 bytes kinda confirms that. In the GBC it's even funnier, because it just checks half the logo xD
@chrismcovell4 жыл бұрын
The logo has been pixel-doubled by the bootstrap ROM when it was sent to VRAM, so a routine reading from VRAM would have to undouble those pixels again. Also not efficient.
@erik19borgnia4 жыл бұрын
@@chrismcovell I forgot about that detail, that's another reason :P
@ArvexYT4 жыл бұрын
If memory serves, the guys from Argonaut Games earned Nintendo's attention by showing that they had defeated the logo check on the Game Boy doing the exact switch you mentioned. Argonaut was the team who partnered up with Nintendo to make Star Fox and design the Super FX co-processor chip.
@WrestlingWithGaming4 жыл бұрын
Fascinating stuff as always, MVG.
@illytothaj4 жыл бұрын
Due to the limitations of the older systems I get the feeling that game creators where more creative to get more out of a system then with the current consoles / handheld. Or am I wrong with this assumption?
@soursugar48674 жыл бұрын
They definitely had to work a bit harder to actually put it on there, yeah. Making a game is still difficult, but not nearly as difficult as it was in the 80s and 90s
@Kalvinjj4 жыл бұрын
Sure as heck they couldn't brute force their stuff to work with sheer power, but games that were badly programmed existed back then as well, with slowdowns and all. Nowadays we got so much power you can hide some bad coding decisions for sure but not all, not to mention full game engines that handle a big part of the heavy coding.
@TheDumontShow4 жыл бұрын
I love how you break all this stuff down that even a guy like me that doesn't know coding, can get it. Your content is one of a kind. As for the Gameboy, who would have thought something simple as a logo scroll could make a difference if a game is played or not. This is why I respect gamemakers so much. That stuff is strenuous work. Just coding all day at a computer for hours. Just fascinates me
@TysyTube4 жыл бұрын
👍👍👍👍🔥 i restored the first game boy ❤️
@gacgac4 жыл бұрын
nice
@CallMeSugarMilk4 жыл бұрын
Love your videos MVG. Always intrigued by them and your teachings/explaining of said topics are so interesting to see and hear! One day I would love to see you do a video about Sega Smash Pack Volume 1 for the Dreamcast and how poorly SEGA emulated it's Genesis games on there (the sound emulation specifically). That's a Dreamcast game I grew up and still love to this day (surprisingly the poor sound emulations don't bother me since that's how I first experienced Sega Genesis games when I was little so at this point, I like both weirdly lol). There's also an interesting document file you can find if you insert your Sega Smash Pack Volume 1 disc into your computer and dig through the files that I would love to see your take on it and overall explain in your thoughts, what exactly happened with the emulation and how could something like this be approved by SEGA even when they announced already that they were discontinuing the Dreamcast. Keep up the amazing work regardless! Look forward to all your videos :)
@Xerho4 жыл бұрын
It infuriates me, how you dont hold hold down the B button and press A with the other side of your thumb.
@TokyoXtreme4 жыл бұрын
I use my right index finger for B and my right middle finger for A. For a Gameboy, I'd use my left hand in the conventional manner, but on a NES controller, I'd use my left index for D-pad right, and my left middle finger for D-pad left (thumb would be underneath, on the bottom of the controller, to add support).
@IgorCalheiros104 жыл бұрын
@@TokyoXtreme C U R S E D holding
@twerlertsperglesperblenerb98264 жыл бұрын
@@IgorCalheiros10 I can top that: right index finger on dpad, middle finger on B, ring finger on A, body of gameboy gripped with thumb and pinkie. What's the left hand doing? Best if you didn't know...
@jump_ifn0tzero7794 жыл бұрын
I know this has nothing to do with the video topic, but I only recently started learning assembly and machine code and it is so surreal actually knowing what all that apparent gibberish is doing.
@yendayo4 жыл бұрын
Game Boy Knowledge: Max level Game Boy Play skill: level 1 jk btw, love your vids.
@krisbleakley94554 жыл бұрын
The checksum calculation is performed on the registration data not the logo. The cartridge ROM thus needs the Nintendo logo and valid registration data to boot.
@gblargg4 жыл бұрын
9:57 Who plays Mario without holding B down the whole time? So slow!
@sonic2000gr4 жыл бұрын
Great content, loved the detailed explanation and the disassembly of the boot rom!
@OnlyEpicEmber4 жыл бұрын
If I ever make a Gameboy game I'm hacking the bootloader to say PlayStation
@andybunn57804 жыл бұрын
The Gamestation
@gustavo_vanni4 жыл бұрын
@@andybunn5780 Or PlayBoy lol
@alexg96014 жыл бұрын
Yes, please Do it
@foco56574 жыл бұрын
@@gustavo_vanni oh goshh
@blackrasputin33563 жыл бұрын
I have a lot more faith in Nintendo lawyers succeeding in court than I do Sega lawyers...
@khatharrmalkavian33064 жыл бұрын
"16 bits is the equivalent of 64 kilobytes." Oh gods, here we go again...
@gregorymalchuk2723 жыл бұрын
A 16 bit address bus has 2^16 address possibilities, or 65,536 bytes, provided the computer was built to handle 8 bit bytes.
@foxhoundra64444 жыл бұрын
Always gives me such a relaxed feeling listening to cool MVG stuff :p
@SvennyMcG4 жыл бұрын
Love these videos and, even though I don't understand code, how technical you get into the deep dives. Keep it up and I'll keep trying to follow along 😅
@piorism4 жыл бұрын
Great content as always ! Fascinating topic. It would be interesting to see a breakdown of the assembly code from the comparison loop. As someone who doesn't know a single thing about that kind of language I find it visually really elegant since there seems to be no syntax errors possible ...
@Dreamwriter42423 жыл бұрын
I was an old GBC developer, I can help you with some of that. A bit of "backstory": most functionality in Z-80 assembly language is based on loading data from a memory address into "A", and then doing something with A, and storing the results elsewhere. You can store a memory address into "HL" or "DE", and then read the contents of that memory address by loading (HL) or (DE) into A. The video around 7 minutes in shows the comparison loop - before that code is run, DE is set to the memory address in system ROM where the logo is stored, and HL is set to the memory address on the game cartridge where the logo is stored ($104). LD A, (DE) ; Load a byte from DE, the logo in system ROM, into A INC DE ; Increment the address DE, so next time we read it'll be the next byte of the logo CP (HL) ; Compare A with the contents of the address stored in HL, the logo on the cartridge JR NZ, $FE ; A bit more complicated - the CP command actually subtracts two bytes from each other; this command says that if the result of the CP subtraction was non-zero (NZ), to "Jump to the Routine" (JR) at memory address $FE (which presumably would cause everything to stop running, because the two bytes weren't the same value). INC HL ; Increment the address HL, so next time we read it'll be the next byte of the logo LD A, L ; Load the second half of the HL address into A CP $34 ; Does L = $34? Then we're done checking the entire logo, because we have incremented HL $30 times (remember, HL started at $104, so incrementing HL $30 times = $134) JR NZ, Addr_00E6 ; If A was different from $34 (A minus $34 was Non Zero), then Jump to the Routine back at the beginning of the loop and do it again I won't go line by line for the next section, it's more complicated, but basically it does a second check: it starts with $19, and loops through $19 times reading each byte from the cartridge logo and adds that byte to total, and once it has done that $19 times it once more adds one more byte to the total, and if at that point the value of the total hasn't wrapped around to exactly zero, it jumps to the routine at address $FE to stop the game from running. This is known as a Checksum test, checking the sum of a bunch of values to see if the result is what's expected when adding all those values up.
@piorism3 жыл бұрын
@@Dreamwriter4242 Hello ! Thank you so much for taking the time to go into such depths, this is fascinating and highly appreciated. And above all, thank you for all the entertainment you contributed to by working on these GBC games !
@Christopher-N4 жыл бұрын
Neat bit of history. I remember occasionally coming across NES or Atari cartridges of unconventional shape, and while I accepted that in most cases they legally couldn't use the standard cartridge case without the respective company's permission, I occasionally found it annoying in terms of cartridge storage. Sega was a little different, as the memory requirements of some games necessitated a larger cartridge.
@Diablokiller9994 жыл бұрын
Love this old tech, there's some charme in this creative and uncomplex design :)
@Cav954 жыл бұрын
I truly love this channel. Keep up the good work!
@cemawi4 жыл бұрын
Informative as always! Keep up the great work
@JodyBruchon4 жыл бұрын
I'm pretty sure this would not hold up today since it's technically just a checksum required to run any program on the hardware and reverse engineering it is trivial. An easy pair of arguments against trademark enforcement in court would be that Nintendo chose to make the checksum their logo and they could have made it literally anything else, plus the Game Boy being used is a Nintendo device and no one would be brand-confused by the Nintendo logo appearing on the startup screen of a Nintendo device. Users never associated the logo screen with the game, but rather with the device. The bigger problem is that the maker would have to show up in court against Nintendo's massive legal team with near-unlimited resources. This is the real reason that it would be very effective. No small third-party game maker is going to be able to pay for a defense against a trademark claim and they'd be instantly bankrupted. This is the classic way that large companies bully the little guy: it's not about what is actually legal, it's about whether the person can defend themselves against an unfounded attack in the first place, and most people simply can't afford to do it or will lose everything they've spent their entire lives earning trying to do so. This is why the RIAA and copyright trolls will file illegitimate DMCA takedowns against things like youtube-dl, but they won't actually file an infringement lawsuit because a court smacking them down would set a legal precedent and instantly take away their ability to inappropriately DMCA takedown projects like youtube-dl without consequence.
@authentic68254 жыл бұрын
What a simple but clever setup... And then a clever but simple workaround!
@davidstring83013 жыл бұрын
Hearing that boot noise gives me chills :-) I could hear the GBC and GBA one even though the sound was muted
@wazza-au4 жыл бұрын
Thanks for an excellent video. Like a lightbulb going off every time I watch one of your vids.
@jolness14 жыл бұрын
As always, excellent video. Thanks for the amazing content!
@gravy12194 жыл бұрын
I discovered your channel recently after watching LGR and i am hooked, Thank you for your content :)
@sergeleon11634 жыл бұрын
Good old Gameboy DMG, when a classmate went on summer vacation to China he brought back an illegal 11in1 cartridge for me in 1992. I was so wondered by how that worked back then, I decided to open it up to see how it was made. Still have that one today in my collection.
@unixtreme4 жыл бұрын
Thank you for all the free high quality education, you are a rock star.
@georgegriffin61144 жыл бұрын
The gameboy also only checked the first few rows of pixels in the logo during that second check. Some of the unauthorized games had logos where those first few lines were the Nintendo logo, and the rest were different, no swapping required! You can see in some of the example logos that's what they did.
@Spectere4 жыл бұрын
Another thing that's worth noting about the GameBoy's boot process is that the boot ROM doesn't just stay mapped. When the register FF50 is set to 1, the DMG boot ROM is unmapped and the first 256 bytes of the cartridge ROM is mapped back in its place. At this point, there is no way to swap the boot ROM back in, short of power cycling the system, as setting FF50 to 0 does nothing. This prevents people from being able to trivially dump the ROM using a cartridge, since by the time it jumps into third-party code the boot ROM is no longer accessible. This is also important for the core functionality of the system, as the CPU's RST opcode and interrupt handlers jump to various addresses within the first 256 bytes. As a result of this, the boot animation doesn't use a vblank interrupt (which would jump to $40-right in the middle of the boot ROM) for its animation, instead checking the LCD driver's Y register to see if the PPU is currently in its v-blank period.
@longjohn844 жыл бұрын
Seen that logo scroll down so many times as a kid. Never thought there's that much more to it
@jfwfreo4 жыл бұрын
One interesting story related to this is the story of Argonaut Games. Argonaut Games was producing games for various systems and then when the Game Boy came out they wanted to produce GameBoy games but couldn't get an official license and dev kit. So they used the trick of making the wrong thing appear on the screen and the right thing appear when the check was made and produced a 3D wire-frame game for the system. Nintendo found out and instead of suing them for copyright violation, decided the game was good and gave Argonaut an official SDK and a publishing agreement to release the game (under the title X).