*UPDATES* - The PAL / NTSC Section is somewhat lacking and a bit inaccurate. See the many liked comments below for more details. - Many games were specifically coded for PAL, mostly to fix music timing (thanks @Strobo) - Pattern tables contain 4KB of data not 64KB of data. I forgot to divide by 8 when calculating (thanks @HughGenuts)
Many games were made for one standard or another in terms of their graphics, too. The different resolutions resulted in different pixel proportions when made to fit in 4:3 aspect ratio images, so images that were made for one standard will be distorted in the other.
@@CarbonRollerCaco This reminds me of Toy Story on SNES - developed by Traveler's Tales in Europe, the game uses a PAL aspect ratio, despite appearing to be properly adapted for NTSC as far as framerate and timing are concerned. Considering the importance of the film (being a technical marvel and the first of it's kind) I'm kind of surprised Disney/Pixar let that detail go. But it works out nicely because the PAL aspect ratio (what is it, 5:3?) fills more of a modern 16:9 display than the old NTSC standard of 4:3.
@@jogandocombololo8862 CRT Tvs on Brazil at beginning handle NTSC 60hz, but in the middle 90s can handle both NTSC and PAL-M/ PAL-N. Major part of video eletronics at that era been based on EUA products (or directly imported); consoles like Nintendo, Super Nintendo and Sega Genesis (called Mega Drive here) use NTSC 60hz, standard that is still used today.
I've been in the NES dev community since 1997, have written several emulators and know quite a bit about the system. This channel is legit - good info clearly presented. We'll done!
Have you seen Michael Chiaramonte's game? He streams on his twitch channel called clearvus. He is making a vertical shooter. You can see his vods on his UA-cam channel Michael chiaramonte.
You sir, are a godsend. I remember the first time I got an emulator to work. At that time I hadn't seen these games In years. The nostalgia was off the charts.
Making my first NES game, after a week of study and watching your videos, i have managed to draw a heart sprite to the screen. I already had respect for devs of the time, but experiencing it first hand is really starting to put it all into perspective, just how incredible these developers were.
SECAM was partially compatible with PAL, but produced a B&W image when presented with a PAL signal. So these of us growing up in SECAM regions generally were stuck with playing NES (or its clones) without color until multisystem TVs that supported both PAL and SECAM color became common. It wasn't until several years after I first played SMB that I learned that Mario's overalls are red on the NES.
I'm really glad (and grateful) that you took the time and energy to produce this video, despite the fact that there are already many videos (among other documents) about the same topic. I know some creators have the attitude that you shouldn't do videos on things other channels have already covered. At least sometimes they do. But I'm glad that wasn't the case with this video. I never believed in that philosophy because even if I've seen other videos on NES graphics before, which I have, it's such a complicated and comprehensive subject that there's no way a 20, 30 or even 40 minute video could give you the full picture (sorry for the pun). Even if they did, there's no way a person could memorize everything in it. So it's always great to have multiple resources to consult on the same subject so you can get the same story told from a different perspective, so to speak. Plus that really helps with understanding the material intuitively, as well. If there's something technical in a video or document I don't understand, it always helps a lot to be able to have it explained differently. tl;dr you have an amazing channel that's not afraid to take chances by covering topics others already have. And it's paid off in spades! Thank you for sharing your passion with us.
@@NesHacker It's my pleasure. You've brought me and many others so much joy with these videos. I know that sometimes being the one creating the videos, it sometimes doesn't seem like that big a deal. But I think if it can help me, or someone else forget about having a crappy day, or something that's troubling us etc for a little bit, I think that's something truly special. And the fact that you teach us about this stuff at the same time, instead of it just being some mindless junk with no thought put into it shows some real talent. And is something that I personally really respect. So it's the least I can do to leave a nice message for you and maybe return the favour in my own small way. =) In any case I'm really glad that you enjoyed it. I wish you all the best. Take care!
5:15 The map is correct, but the description is wrong. You see, strictly, PAL and NTSC refer only to the color encodings, not the whole systems. After all, analog TV is a monochrome signal first, plus a color subcarrier. So it's more proper to say the US used System M (525-line, 60i) with NTSC color on top, and most of Europe used System B (625-line, 50i) with PAL color on top. And then Brazil used this funky thing called PAL-M, which was System M with PAL color.
I was going to make this comment. As a Brazilian, I never had a problem to import US games to play here. Until I bought my Nintendo 64 in USA. When I rented "Star Wars Racer" for N64, the game was in monochrome, no colors whatsoever. And the weird thing is it was the first game released here with this problem. So it became a lottery and I never understood what was going on, thinking either the game was broken or, more possibly, the console. Rented "Turok 2" and... same thing. But "Banjo Kazooie" played ok, no problem whatsoever. I found out with "International SuperStar Soccer 2000" that the high-resolution mode was causing the problem. With the expansion pack, some games have the option to run in 480i. But with ISS2000, you can barely play in hi-res, so I tested in low-res. BANG: from monochrome to colors! So I was lost, thinking my TV was broken, until I found out about these signal and color subcarrier patterns in the internet.
The pattern tables don't each have 64 kilobytes of memory. Each pattern table has 256 tiles, each 8x8 pixels; that's 16384 pixels with 2 bit color depth, or 32768 *bits* in one pattern table. That's 4096 bytes, or 4 kilobytes.
Thanks, HughGenuts. Along with this video, your comment, the NES Dev Wiki's PPU nametables listing, and NES Maker's Discord helped me clear up some confusion.
That PPU was unbelievable at the time. Graphics that still hold up, as far as our 2d retro games made today. Games like Shadow of the Ninja, Ninja Gaiden 3, Power Blade 2, Guardian Legend, Vice Project Doom. That stuff could have been made today if I didnt know them already. Just absolutely crazy.
Wow. I've watched just about every video on UA-cam that talks about NES architecture, and while I grasped the essentials, this is the first video that got the gears turning in my head that maybe I can try making my own NES games.
Right on! Yeah I think the system can be a little weird to get used to, but once you do it’s really fun and most stuff is pretty straightforward. Good luck with your game hacking endeavors! :D
Im a software pro and this mem tables description makes so much sense to someone who also did some assembly programming on 8085 in College. Having played Nintendo games back in the 90s as a school kid, this is like life going full circles. You played the game as a kid and now you know how that game was made. And now it encourages someone like me to actually fiddle with instruction sets on emulators.. Thanks much
What an awesome video for someone with 339 subscribers. On point. Clear. Short. Interesting. Cuts right when my brain is about to overheat. Great job and yes, more please!
Thank you! Yes it can be a lot to take in all at once, so I worked quite a bit on the script to ensure that the topics were paced appropriately. I’m happy you noticed! :)
There is no way you have 25 subs rn man. Just randomly found your videos when searching about NES graphics and your entire channel is a gold mine of well crafted video explanations. We need more in-depth, well-organized explanations about the NES, and I'm confident you're the guy to do it!
Wow, thanks so much! It's quite a bit of work to put these together, so it's really awesome to hear from people who find them useful. It would have been great to have this kind of content back when I was first learning, so that's why I decided to start the channel. More people making NES games means more fun for everyone :D
I wasn’t searching for this but it was suggested to me and I watched and enjoyed it immensely. I think the algorithm is choosing you. Liked and subscribed, wishing you all the best!
Awesome, I’m glad you liked it! Yeah, I’ve noticed that I am getting a lot more views and subscribers over the last week. So it looks like I am being suggested to more people, and so far the response has been very positive :). Thank you for the kind feedback, it really gets me pumped and excited to work on the next video. Cheers!
All other explanations either assumed too much prior knowledge for a beginner like me, or left out the specifics that I was looking for. This really clears things up, thanks for making it!
Very good stuff. I only ever made one commercial SNES game (not NES) but found it very enjoyable and this brings back memories. Most of my games were Amiga in 68000. Thanks for the great videos.
Oh that must have been so much fun! I was too young back when these systems were out and I used to daydream about working on games for them xD. Thanks for watching and sharing :D
@@GraemeIng That makes me *super* happy to hear. More people making programming and retro-gaming videos means more interesting things for everyone to watch :D
Just discovered this video and was so impressed with the content/animations and the clear explanation. Can't wait to binge the rest of the channel. Keep it up!
Hey Ryan. Just found your channel and think it’s really cool that you are doing this. I was pretty excited about it honestly. The content is a little outside of my wheelhouse at this point, but you did a great job of breaking it down. My son even thought it was interesting.
Hey man, it's been a while! Kinda awesome you came across the channel! Yeah, my goal is to help people make the leap into the hobby by providing as much info as I can... but that means it can get a little complicated sometimes. Awesome to hear that you and your son are enjoying it, and thanks for reaching out :D
Amazing video! I wanted to start drawing NES style sprites but within the limitations of the NES, and this gave me exactly what I was looking for complete with a whole palette! Thank you so much!
Awesome, glad I could help! Check out this other video I made where I do sprite editing using a program called YY-CHR: ua-cam.com/video/oQXulNLXPdw/v-deo.html
This is the coolest of beans! Thank you! I imagine putting all of this together was a lot of hard work. And this is just awesome. It's 12am rn and something tells me I'm going to be up until 4 going down this glorious rabbit hole.
Amazing video. Super clear and it seems covers all conceptual aspects, gives perfect understanding of how that worked, that's exactly what I looked for. Thank a lot
Thank you so much for this video. It is so vital for me to understand how the NES worked as much as possible if I want my future pixel art and game designs to have an authentic retro feel!
One thing I've wanted to see for a long time is a true retro port of Shovel Knight intended to run on a real NES. The devs are aware of the many rules they broke, so I'd find it interesting to see this made within the NES's limitations.
Just wanna say, this is an awesome video I‘m glad people are still engaging with retro gaming systems these days, and you‘re explanation was one of the best I‘ve ever seen You‘ve definitely got my sub, excited for more ^^
Thanks so much for making this video. It’s clearly explained with a good use of visuals. I am currently floating between retro consoles for a project and this was exactly what I needed to get me started with understanding NES graphics.
Line scrolls are tricks used for things like status-bars/parallax effects. They change image data during screen refresh. They usually require exact scan-line draw timings which are different across regions.
It’s tough but it can be really rewarding. I have a video on setting up a development environment and a couple more on learning 6502 assembly. I’m working on the 3rd part of that series and should have the video out next week. Give the videos a try and pop some questions in the comments if you get stuck :)
bro your talking about quantum physics and stuff I never 100% fully understood these videos, usually loses me after looking away for a couple seconds BUT I can tell this is really in depth and a good video.
I'm planning on putting a PPU in my homebrew 65c02 computer and this has been pretty helpful, makes the documentation I found online make a bit more sense
The whole PAL/NTSC thing was a nightmare. Thank the Maker the world eventually settled on a single 2K/4K standard since then! Still, even though people in PAL regions lost out big-time with videogames they arguably won by the same degree with movies, with a noticeably higher SD resolution (625 vs 525 lines) and perfectly smooth motion, albeit with an imperceptible (4%) speed increase.
This is really, really great. I have picked up and known bits of this over the years, but this video really breaks it down in a holistic way so I finally understand how it all relates together.
This video was tremendously helpful. I've been hacking NES roms since the first emulators were available but barely had any idea what I was doing. Learning abstract and complicated concepts is frustrating via trial and error, but this explained so much stuff I never would have figured out on my own. The first thing I ever managed successfully was a sprite edit of Mickey on Mickey Mousecapades and it was such an amazing feeling to be able to manipulate games from my childhood. Using a Game Genie as a child helped me vaguely understand how the NES worked and always thought that tool was amazing at the time. Looking forward to the rest of your videos. Immediate subscription.
This is a wonderful video I sought out because I use a circuit bent NES for video art in music productions. Understanding how the PPU is organized was especially helpful in creating a workflow for working with music and lighting direction. Understand OAM Sprites was specifically engaging. A million thanks for creating this not only informative video but well edited and presented. Amazing!
I used to play video games as a kid in the 90’s, and now in my 30’s I’ve started collecting and playing old Sega and Nintendo games from my youth. I finally understand what bits are 😅😅😅 Thank you!!!!!!!
Brazil uaed PAL-M that is actually 60Hz, because our electric grid originally came from US, but we use Europe standards more. So it is the best of both words, true colors but faster refresh. People nowadays convert Atari 2600 to this format to have better colors in emulators.
I subbed because you are very succinct with your wordage and are able to explain this concept to people like myself with almost no basis in programming at all. I think I took three VB courses in University back in the day simply for a language requirement yet this was very easy to digest. Thanks for the content, hope you get 10x the subs you have. (I know I was not the target audience, but hey I love the NES and always wanted to know more about why it does what it does as it seems like a mess of programming building blocks inside)
Haha, I don't really make videos with an intended audience in mind (just look at my development environment course episode). So if you liked my stuff and have fun learning, then imho you *are* the target audience :)
With a name like “TwentySixHundred” you’re dedicated! I just found my 2600 and 600XL so I’m thinking of doing a video featuring them soon. Thanks for watching & subbing, I appreciate it!
@@NesHacker Yeah it was my first console so holds a place in my heart. Got the 2600JR when i was 5 for my birthday. Probably because Atari was selling them cheap in the late 80's. Then i got my NES as a hand-me-down a few years later. At the moment im having fun with developing in 7800Basic which is a cross compiler. Such an underrated system IMO. Look forward to your upcoming videos
This is definitely informative, and i can't wait for more. I'm just now going through your videos, and curious to see if you actually go through the process of drawing, and then programming a level. I see many videos explaining HOW the NES and SNES read and display graphics, but i haven't seen any videos that show the developer process of drawing and programming a level itself. Like, did the devs first make a drawing software that let them save a map info to past into the code? Or did the literally map it out on paper, and then type line by line the code for how the map would be rendered? I really want to see the gritty behind the scenes of old school game dev flow. lol
Yeah, I somehow doubt they did it on paper and entered it by hand. I think most studios built in house software to handle level design and editing then exported it to binary for the ROM. There are a ton of cool data packing schemes you can use to do this, and I am indeed hoping to cover them at some point on the channel to show folks how to make and use their own.
@@NesHacker It's definitely something i wish was talked about more with older games dev flow. I'm an artist myself, so i really want to see how the old school people did art for games before we had things like Aseprite and engines with tile map editors lol. To see what they had to make in order to produce the maps and art would be fascinating.
Thank you! I spend a lot of time working on the my scripts to ensure that I'm clearly communicating, so it's good to hear that the hard work is paying off :)
SECAM NES did actually exist, but it was a pirated clone. Those were popular in ex-USSR in the early 90s. That particular SECAM edition was named Dendy SECAM Classic, if I'm not mistaken, and it was released in 1992. It was a first Russian NES bootleg clone. Subsequent bootleg models of Dendy were PAL only because of two factors, I think. First, multi-system TV sets became much more common by 1994 already. People even modded their old Soviet SECAM-only TVs by soldering PAL decoder. And second, it seems like Dendy SECAM was a failure from a technical POV, lacking reliable color output.
I wish I discovered your channel earlier, I love your content! So I'm late to this video, and I don't want to be _that guy_ but since you went into such detail, I thought it would be somewhat informative to point out that when you say "flat screen" you probably mean flat panel. There existed flat screen CRTs. I used to own a Sony Trinitron, which is a flat screen CRT. The LCD monitors/TVs we use today are officially called "flat panels", owing to their thickness. It's a very common mistake, not a big deal, just thought I'd mention it.
Just to add some more technical information here, when a CRT television is scanning or moving the electron beam, it actually scans every OTHER line first then goes back and fills in the gaps between those.
NES that were sold in France were PAL versions. TV using the SECAM standards were also compatible with PAL. They were usually described as "PAL/SECAM" TV sets.
0:42 an interesting thing is that some people learn better from top to bottom or from bottom to top, i.e. screen to transistor or transistor to screen. so what you find works the best for you may not work the best for everyone. (though the the way you understand best is often the way you explain best, so nothing wrong with that.)
04:33 Had a very similar TV design back in the USSR when I was a kid. Had a Dendy hooked up to it as well. Which was a bootleg NES copy. Lightgun and all.
Technically there were mechanical tvs before crts but they were so impractical and uncommon that I wouldn’t argue with anyone who wanted to not count them. So I’ll let it slide.
Indeed. CRTs are primary focus here as well since the NES was designed to work with them. I wanted to ensure that the viewer had some exposure to the concept if they hadn’t come across it already as it will be somewhat relevant to discussions of timing and VBLANKS if/when I make videos on those topics. But yes, you’re correct, I should have said “For those who don’t know CRTs were the first commercially viable and widespread type of television.”
What's kind of fascinating is that the nametable (32x30 tiles), is 960 bytes. The attribute table is 64 bytes. 960 + 64 = 1024 bytes. Exactly one kilobyte. They did not have a single bit to spare. If this math was just a single byte off, you would probably have lost either an entire row or column on the screen as there's no way to simplify the attribute table. Or the two nametables would be different sizes but that would just overly complicate things.
I remember learning fairly recently that unlike most other systems, the NES’s available colours are ordered by hue and brightness as opposed to RGB. Each palette specifically uses all different hues and brightnesses for each colour to ensure that the sprites read just as clearly on monochrome TVs as colour TVs.
@@NesHacker I’ve developed an interest in how older games and systems used their limitations to their advantage in ways that aren’t obvious, or even become “problems” when emulated on modern hardware. This is one of those examples where now that I know, it stands out when NES style art doesn’t follow that rule lol Another example is how early Nintendo systems rendered frames narrower than TVs, so the displayed frame was stretched. As a result, some developers actually narrowed their art so that things like circles and squares would display as intended. Ironically, first party developers did this the least. Obviously analog signals on CRT screens weren’t as sharp as modern displays, so some sprite work looks much better when a little fuzzier in general. Another way this was utilized was how dithering got blended together and was effectively unnoticeable on intended displays, whereas some people really hate how dithering looks now. Similarly, using vertical stripes (like the waterfalls in Sonic) made them simply appear translucent. The way even relatively newer games utilized resolution was interesting too. I’ve seen people point out funny looking LODs in Mario 64 that were never visible before. PS1 games that used flat image backgrounds like Resident Evil or Final Fantasy were seamless back in the day but look very strange when emulated at higher resolutions now. A lot of games with “low resolution” textures or lower polygon counts did not seem that low when the display was so limited too. Anyhow, I appreciate your reply. That was probably a long read, much of which was either uninteresting or already known, but I get excited sharing lol Hopefully it wasn’t too bad, and if nothing else I’m glad to hear the monochrome compatible palettes were new to you!
Hi! Although you have placed Brazil in the "PAL" category, the analog system used here is PAL-M, it is unique among analogue TV systems in that it combines the 525-line 30 frames-per-second System M with the PAL color encoding system (using very nearly the NTSC color subcarrier frequency), unlike all other countries which pair PAL with 625-line systems and NTSC with 525-line systems.
Common mistake, Pal-M is as much PAL as it is NTSC, so calling it "PAL" is grossly simplistic. The name is similar, but it's like calling pineapples apples. Sorry to sound rude but I'm triggered by that. ^^ Great video!
Yeah I didn't know about PAL-M until recently when another viewer pointed it out to me. It's definitely an interesting how it combined the system-m scan lines and frame rate with the colors of PAL, and I still think it's wild that it was only adopted in Brazil (there's a whole story there that I still haven't really dug into). Also, I don't really mind when folks are rude, given they have a point... My primary goal for this channel is to help others learn, and to push myself to learn as well. I try my best to get things right, but realistically I'm just gonna be wrong on things from time to time and make mistakes. In this instance, I was only vaguely aware of the entire ecosystem of broadcast standards that once existed, and underestimated the topic when I wrote that section of the video. But, thanks to viewers such as yourself I've gained a lot of knowledge on the topic's history and nuances. So, thanks for watching, commenting, *and correcting*. I really do appreciate it!
I just got here from The Algorithm. Call me Subscriber #250. ( I really wanted to wait until you had 254 subscribers, because I'm a nerd) Really good video, you deserve more subs. Your presentation is excellent, you're in good company with the likes of Retro Game Mechanics Explained and Michael Steil. If you've ever seen Michael Steil's "Ultimate Game Boy Talk", there's a bit at the end where he goes into exhaustive detail into how the Game Boy PPU's rendering pipeline works. I'd love to see something similar for the NES... though I haven't watched the rest of your videos yet ;) I've very recently re-acquired myself a nice little 14" CRT television with component in and complemented it with modded NES and SNES consoles. Keep the 8 bit love alive :)
Thanks so much! Yeah I really want to keep going deeper and deeper into the tech as I make content but it's really hard to explain everything all in one go. My primary goal is to help people get into the hobby so for the time being I'm sticking with the basics and building up from there :)
@@NesHacker Good luck! I'm particularly fascinated with the various mappers developed during the NES era, and how they managed to give the console tricks far beyond its original specifications. Questions go through my head like "How the heck do you write ASM when the same memory location could hold different data depending on which bank you have selected? Is it something you have to somehow tell the compiler?" Fun fact: the Apollo Guidance computer used bank switching too!
@@jaysonl Oh I didn't know the Apollo computer used that technique, that's super cool! Makes sense, though, since address space was probably pretty limited on that machine xD
Some games actually were adjusted to run at correct speed on a PAL TV. It is pretty rare, but SMB1 is an example off the top of my head, and is actually the reason certain ones of those clone systems/multicarts run the game too fast. It's using a PAL ROM and running it at 60fps.
Hello Hello Soo Cool! THX for showing some NES Dev. stuff Thumbs up! What i really really would like to have is one of those Sprite Machines they had back in the day. That would BLOW MY MIND!!! THX for your stuff i was Stooked to see your Content!
*UPDATES*
- The PAL / NTSC Section is somewhat lacking and a bit inaccurate. See the many liked comments below for more details.
- Many games were specifically coded for PAL, mostly to fix music timing (thanks @Strobo)
- Pattern tables contain 4KB of data not 64KB of data. I forgot to divide by 8 when calculating (thanks @HughGenuts)
Many games were made for one standard or another in terms of their graphics, too. The different resolutions resulted in different pixel proportions when made to fit in 4:3 aspect ratio images, so images that were made for one standard will be distorted in the other.
The Pal system from South America, at least at Brasil, is 60 hz, no 50. It’s different from Europe pal system.
@@CarbonRollerCaco This reminds me of Toy Story on SNES - developed by Traveler's Tales in Europe, the game uses a PAL aspect ratio, despite appearing to be properly adapted for NTSC as far as framerate and timing are concerned. Considering the importance of the film (being a technical marvel and the first of it's kind) I'm kind of surprised Disney/Pixar let that detail go. But it works out nicely because the PAL aspect ratio (what is it, 5:3?) fills more of a modern 16:9 display than the old NTSC standard of 4:3.
@@jogandocombololo8862 That is also the frames per second. Europe's TVs were tricky with only 50 frames per second, instead of 60.
@@jogandocombololo8862 CRT Tvs on Brazil at beginning handle NTSC 60hz, but in the middle 90s can handle both NTSC and PAL-M/ PAL-N. Major part of video eletronics at that era been based on EUA products (or directly imported); consoles like Nintendo, Super Nintendo and Sega Genesis (called Mega Drive here) use NTSC 60hz, standard that is still used today.
I've been in the NES dev community since 1997, have written several emulators and know quite a bit about the system. This channel is legit - good info clearly presented. We'll done!
High praise, thanks so much for watching!
Have you seen Michael Chiaramonte's game? He streams on his twitch channel called clearvus. He is making a vertical shooter. You can see his vods on his UA-cam channel Michael chiaramonte.
Thank you for your hard-work! As I'm sure your aware, those emulators are so important for preserving these games!
You sir, are a godsend. I remember the first time I got an emulator to work. At that time I hadn't seen these games In years. The nostalgia was off the charts.
NESticle, is that you?
Making my first NES game, after a week of study and watching your videos, i have managed to draw a heart sprite to the screen. I already had respect for devs of the time, but experiencing it first hand is really starting to put it all into perspective, just how incredible these developers were.
I'm not a programmer, coder, or designer at all, but I LOVED this video and learning how my childhood favorites were made and worked. Thank you!
SECAM was partially compatible with PAL, but produced a B&W image when presented with a PAL signal. So these of us growing up in SECAM regions generally were stuck with playing NES (or its clones) without color until multisystem TVs that supported both PAL and SECAM color became common. It wasn't until several years after I first played SMB that I learned that Mario's overalls are red on the NES.
I'm really glad (and grateful) that you took the time and energy to produce this video, despite the fact that there are already many videos (among other documents) about the same topic. I know some creators have the attitude that you shouldn't do videos on things other channels have already covered. At least sometimes they do. But I'm glad that wasn't the case with this video. I never believed in that philosophy because even if I've seen other videos on NES graphics before, which I have, it's such a complicated and comprehensive subject that there's no way a 20, 30 or even 40 minute video could give you the full picture (sorry for the pun). Even if they did, there's no way a person could memorize everything in it. So it's always great to have multiple resources to consult on the same subject so you can get the same story told from a different perspective, so to speak. Plus that really helps with understanding the material intuitively, as well. If there's something technical in a video or document I don't understand, it always helps a lot to be able to have it explained differently.
tl;dr you have an amazing channel that's not afraid to take chances by covering topics others already have. And it's paid off in spades! Thank you for sharing your passion with us.
That’s a really really nice thing to say. Thank you 😊
@@NesHacker It's my pleasure. You've brought me and many others so much joy with these videos. I know that sometimes being the one creating the videos, it sometimes doesn't seem like that big a deal. But I think if it can help me, or someone else forget about having a crappy day, or something that's troubling us etc for a little bit, I think that's something truly special.
And the fact that you teach us about this stuff at the same time, instead of it just being some mindless junk with no thought put into it shows some real talent. And is something that I personally really respect.
So it's the least I can do to leave a nice message for you and maybe return the favour in my own small way. =) In any case I'm really glad that you enjoyed it. I wish you all the best. Take care!
5:15 The map is correct, but the description is wrong. You see, strictly, PAL and NTSC refer only to the color encodings, not the whole systems. After all, analog TV is a monochrome signal first, plus a color subcarrier. So it's more proper to say the US used System M (525-line, 60i) with NTSC color on top, and most of Europe used System B (625-line, 50i) with PAL color on top.
And then Brazil used this funky thing called PAL-M, which was System M with PAL color.
That’s a really nice and succinct way of describing it, thanks for the clarifications!
I was going to make this comment.
As a Brazilian, I never had a problem to import US games to play here. Until I bought my Nintendo 64 in USA. When I rented "Star Wars Racer" for N64, the game was in monochrome, no colors whatsoever. And the weird thing is it was the first game released here with this problem. So it became a lottery and I never understood what was going on, thinking either the game was broken or, more possibly, the console. Rented "Turok 2" and... same thing. But "Banjo Kazooie" played ok, no problem whatsoever.
I found out with "International SuperStar Soccer 2000" that the high-resolution mode was causing the problem. With the expansion pack, some games have the option to run in 480i. But with ISS2000, you can barely play in hi-res, so I tested in low-res. BANG: from monochrome to colors!
So I was lost, thinking my TV was broken, until I found out about these signal and color subcarrier patterns in the internet.
I was gonna point that out as well until I saw your comment. Glad you caught that!
@@rodrigomolinsky That's odd. The resolution shouldn't make a difference here.
The pattern tables don't each have 64 kilobytes of memory. Each pattern table has 256 tiles, each 8x8 pixels; that's 16384 pixels with 2 bit color depth, or 32768 *bits* in one pattern table. That's 4096 bytes, or 4 kilobytes.
Oops! You’re absolutely right… I totally missed that when I was writing the script (and when reviewing the video, haha). Thanks for pointing it out!
Thanks, HughGenuts. Along with this video, your comment, the NES Dev Wiki's PPU nametables listing, and NES Maker's Discord helped me clear up some confusion.
@@NesHacker Everything else is correct though! (as far as I can tell.)
That PPU was unbelievable at the time. Graphics that still hold up, as far as our 2d retro games made today. Games like Shadow of the Ninja, Ninja Gaiden 3, Power Blade 2, Guardian Legend, Vice Project Doom. That stuff could have been made today if I didnt know them already. Just absolutely crazy.
So basically it’s just 16x16 NES being displayed. Gotcha 😉
Wow. I've watched just about every video on UA-cam that talks about NES architecture, and while I grasped the essentials, this is the first video that got the gears turning in my head that maybe I can try making my own NES games.
Right on! Yeah I think the system can be a little weird to get used to, but once you do it’s really fun and most stuff is pretty straightforward. Good luck with your game hacking endeavors! :D
Im a software pro and this mem tables description makes so much sense to someone who also did some assembly programming on 8085 in College. Having played Nintendo games back in the 90s as a school kid, this is like life going full circles. You played the game as a kid and now you know how that game was made. And now it encourages someone like me to actually fiddle with instruction sets on emulators.. Thanks much
I'm glad I could bring you back to those happy days 😊
What an awesome video for someone with 339 subscribers. On point. Clear. Short. Interesting. Cuts right when my brain is about to overheat. Great job and yes, more please!
Thank you! Yes it can be a lot to take in all at once, so I worked quite a bit on the script to ensure that the topics were paced appropriately. I’m happy you noticed! :)
339 eh? Now is 10,2k.
That's one leap.
I like just hearing people talk about something they're enthusiastic about, even if I don't understand it. Good work!
There is no way you have 25 subs rn man. Just randomly found your videos when searching about NES graphics and your entire channel is a gold mine of well crafted video explanations. We need more in-depth, well-organized explanations about the NES, and I'm confident you're the guy to do it!
Wow, thanks so much! It's quite a bit of work to put these together, so it's really awesome to hear from people who find them useful. It would have been great to have this kind of content back when I was first learning, so that's why I decided to start the channel. More people making NES games means more fun for everyone :D
The only reason he has so few subs is that he's relatively new.
With some time, I'm sure he will gain a lot! He's already close to 100!
@@NesHacker no reason to type out the exact same comment but i had the exact same exp
@@NesHacker mate! UA-cam algorithm picked you up! You are like retro mech ex but focused on nes which is my favorite retro console!
I wasn’t searching for this but it was suggested to me and I watched and enjoyed it immensely. I think the algorithm is choosing you. Liked and subscribed, wishing you all the best!
Awesome, I’m glad you liked it! Yeah, I’ve noticed that I am getting a lot more views and subscribers over the last week. So it looks like I am being suggested to more people, and so far the response has been very positive :). Thank you for the kind feedback, it really gets me pumped and excited to work on the next video. Cheers!
This channel deserves more subs.
I think so too, but… I might be biased ;)
All other explanations either assumed too much prior knowledge for a beginner like me, or left out the specifics that I was looking for. This really clears things up, thanks for making it!
Wow, great explanation of NES graphics. Your visuals really did a fine job of backing up your narration.
Ryan, I rarely comment on videos, but you clearly put a lot of time into this. Very well done!
Hey Paul, thank you so much, I really appreciate the recognition. :)
I’m working on a modern, but NES-inspired game, and it’s super helpful to understand the systems graphics abilities and limitations. Thanks
Heck yeah, I’m glad it was useful!
Honestly can't believe a channel with this good production quality only has 350 subs. Earned a sub from me :)
Thanks! And I appreciate the sub :)
The editing on this is so nice! Can’t wait to see your channel blow up :)
Thanks! NES Development is a somewhat esoteric topic, so we’ll see about all that, haha
Very good stuff. I only ever made one commercial SNES game (not NES) but found it very enjoyable and this brings back memories. Most of my games were Amiga in 68000. Thanks for the great videos.
Oh that must have been so much fun! I was too young back when these systems were out and I used to daydream about working on games for them xD. Thanks for watching and sharing :D
@@NesHackeryou inspire me to make a similar channel. I know exactly what system too 😁 Not Nintendo so I won’t be competing.
@@GraemeIng That makes me *super* happy to hear. More people making programming and retro-gaming videos means more interesting things for everyone to watch :D
Neat to see such a well made channel with only 200 subs so far! This channel should grow very quickly 😌
Let’s hope so! I really like making the videos so I’m glad people find them interesting :)
Just discovered this video and was so impressed with the content/animations and the clear explanation. Can't wait to binge the rest of the channel. Keep it up!
Hey Ryan. Just found your channel and think it’s really cool that you are doing this. I was pretty excited about it honestly. The content is a little outside of my wheelhouse at this point, but you did a great job of breaking it down. My son even thought it was interesting.
Hey man, it's been a while! Kinda awesome you came across the channel! Yeah, my goal is to help people make the leap into the hobby by providing as much info as I can... but that means it can get a little complicated sometimes. Awesome to hear that you and your son are enjoying it, and thanks for reaching out :D
Amazing video! I wanted to start drawing NES style sprites but within the limitations of the NES, and this gave me exactly what I was looking for complete with a whole palette! Thank you so much!
Awesome, glad I could help! Check out this other video I made where I do sprite editing using a program called YY-CHR: ua-cam.com/video/oQXulNLXPdw/v-deo.html
Thank you for this excellent video.
Great content and solid delivery.
Happy new subscriber here!
Radical, thank you very much for watching :D
This channel is so great, and the presentation of each theme is perfect. Please! we need more!
I don't have a background in the technical side of how nes games are made, but I was fascinating by the parts I understood! Thanks for the great video
Amazingly good. I almost understand. This will be helpful learning the code you used to make a development engine.
Thanks!
This is the coolest of beans! Thank you! I imagine putting all of this together was a lot of hard work. And this is just awesome. It's 12am rn and something tells me I'm going to be up until 4 going down this glorious rabbit hole.
Amazing video. Super clear and it seems covers all conceptual aspects, gives perfect understanding of how that worked, that's exactly what I looked for. Thank a lot
Thanks! I’m really glad you found the video useful :)
Very interesting video! I think your channel has been blessed by the algorithm, as it should! :D
I’m happy you enjoyed it :)
This is such an accurate description of how the NES graphics work, and the explanation is very accesible. Top quality content!
I just found your channel. Really nice job! I’m interested in all this, and you explain it very well. Keep them coming sir!
Right on, thank you!
Really high quality stuff. Can't believe how few subs you have.
I liked all you videos ;)
Thank you! Well, I only started the channel a few months ago… so I’m just glad people are finding the videos and seem to enjoy them :)
Thank you so much for this video. It is so vital for me to understand how the NES worked as much as possible if I want my future pixel art and game designs to have an authentic retro feel!
Right on! Yeah just keep your palettes set to no more than 4 values for the foreground and 4 values for the background and you’ll get pretty close :D
One thing I've wanted to see for a long time is a true retro port of Shovel Knight intended to run on a real NES. The devs are aware of the many rules they broke, so I'd find it interesting to see this made within the NES's limitations.
Just wanna say, this is an awesome video
I‘m glad people are still engaging with retro gaming systems these days, and you‘re explanation was one of the best I‘ve ever seen
You‘ve definitely got my sub, excited for more ^^
Awesome, thanks so much! Yeah I was super pleased with this video when I made it, I’m so glad that you like it :)
Thanks so much for making this video. It’s clearly explained with a good use of visuals. I am currently floating between retro consoles for a project and this was exactly what I needed to get me started with understanding NES graphics.
Can´t believe how developers can remember all the pieces of how things are set, plus work with a whole language (even assembly)... I´m amazed!
Haha, thank you! I’m glad you enjoyed the video :)
Line scrolls are tricks used for things like status-bars/parallax effects. They change image data during screen refresh. They usually require exact scan-line draw timings which are different across regions.
This really makes me want to learn programming but man is it rough to even learn where to get started
It’s tough but it can be really rewarding. I have a video on setting up a development environment and a couple more on learning 6502 assembly. I’m working on the 3rd part of that series and should have the video out next week. Give the videos a try and pop some questions in the comments if you get stuck :)
Scratch
bro your talking about quantum physics and stuff I never 100% fully understood these videos, usually loses me after looking away for a couple seconds BUT I can tell this is really in depth and a good video.
Haha, I guess electrons are technically a quantum phenomenon xD
@@NesHacker Lmao
I'm planning on putting a PPU in my homebrew 65c02 computer and this has been pretty helpful, makes the documentation I found online make a bit more sense
That’s cool as hell
This guy deserves a lot more subscribers, nicely done !
Thanks!
The whole PAL/NTSC thing was a nightmare. Thank the Maker the world eventually settled on a single 2K/4K standard since then! Still, even though people in PAL regions lost out big-time with videogames they arguably won by the same degree with movies, with a noticeably higher SD resolution (625 vs 525 lines) and perfectly smooth motion, albeit with an imperceptible (4%) speed increase.
It's such a nightmare I couldn't even explain it correctly in this video 😂
This is really, really great. I have picked up and known bits of this over the years, but this video really breaks it down in a holistic way so I finally understand how it all relates together.
This video was tremendously helpful. I've been hacking NES roms since the first emulators were available but barely had any idea what I was doing. Learning abstract and complicated concepts is frustrating via trial and error, but this explained so much stuff I never would have figured out on my own.
The first thing I ever managed successfully was a sprite edit of Mickey on Mickey Mousecapades and it was such an amazing feeling to be able to manipulate games from my childhood. Using a Game Genie as a child helped me vaguely understand how the NES worked and always thought that tool was amazing at the time.
Looking forward to the rest of your videos. Immediate subscription.
Yeah it’s really really hard to learn this stuff without some basis. I’m super glad the video helped!
This is a wonderful video I sought out because I use a circuit bent NES for video art in music productions. Understanding how the PPU is organized was especially helpful in creating a workflow for working with music and lighting direction. Understand OAM Sprites was specifically engaging. A million thanks for creating this not only informative video but well edited and presented. Amazing!
I used to play video games as a kid in the 90’s, and now in my 30’s I’ve started collecting and playing old Sega and Nintendo games from my youth. I finally understand what bits are 😅😅😅 Thank you!!!!!!!
Brazil uaed PAL-M that is actually 60Hz, because our electric grid originally came from US, but we use Europe standards more. So it is the best of both words, true colors but faster refresh. People nowadays convert Atari 2600 to this format to have better colors in emulators.
Ooh I see that’s pretty cool :)
You just earned a subscriber, my friend! ❤️
Thanks for all your hard work!
Love the cleanness of the editing
Videos like this always interest me.
You have a good clear narrative voice 👍
Nice video, very comprehensive, I'd just like to point out that here in Chile we have NTSC not PAL
I feel like I should do a whole video on just the evolution of these broadcast systems… but it’s kinda only tangentially related to the NES xD
Man, the production quality on these are amazing!
Nice work! Much appreciate your contributions to the community.
Great Channel. Keep the good work!
Thanks :)
I cannot program a thing but I enjoy you content 'cos I'm curious and I love the behind scene kind of thing
That’s the cool part about “edu-tainment” haha :)
I subbed because you are very succinct with your wordage and are able to explain this concept to people like myself with almost no basis in programming at all. I think I took three VB courses in University back in the day simply for a language requirement yet this was very easy to digest. Thanks for the content, hope you get 10x the subs you have.
(I know I was not the target audience, but hey I love the NES and always wanted to know more about why it does what it does as it seems like a mess of programming building blocks inside)
Haha, I don't really make videos with an intended audience in mind (just look at my development environment course episode). So if you liked my stuff and have fun learning, then imho you *are* the target audience :)
Thank you so much for educating me ... I'm so amazed to know how things were created back in the time ... Loved it ❤️
Nice video mate! As an Atari homebrew developer and my love for everything retro im going to jump aboard your channel. Subbed.
With a name like “TwentySixHundred” you’re dedicated! I just found my 2600 and 600XL so I’m thinking of doing a video featuring them soon. Thanks for watching & subbing, I appreciate it!
@@NesHacker Yeah it was my first console so holds a place in my heart. Got the 2600JR when i was 5 for my birthday. Probably because Atari was selling them cheap in the late 80's. Then i got my NES as a hand-me-down a few years later. At the moment im having fun with developing in 7800Basic which is a cross compiler. Such an underrated system IMO. Look forward to your upcoming videos
Great content! Please post more. Memory addresses to talk to various hardware, etc. would be nice, as well as mapper details.
This is definitely informative, and i can't wait for more. I'm just now going through your videos, and curious to see if you actually go through the process of drawing, and then programming a level. I see many videos explaining HOW the NES and SNES read and display graphics, but i haven't seen any videos that show the developer process of drawing and programming a level itself. Like, did the devs first make a drawing software that let them save a map info to past into the code? Or did the literally map it out on paper, and then type line by line the code for how the map would be rendered? I really want to see the gritty behind the scenes of old school game dev flow. lol
Yeah, I somehow doubt they did it on paper and entered it by hand. I think most studios built in house software to handle level design and editing then exported it to binary for the ROM.
There are a ton of cool data packing schemes you can use to do this, and I am indeed hoping to cover them at some point on the channel to show folks how to make and use their own.
@@NesHacker It's definitely something i wish was talked about more with older games dev flow. I'm an artist myself, so i really want to see how the old school people did art for games before we had things like Aseprite and engines with tile map editors lol. To see what they had to make in order to produce the maps and art would be fascinating.
Great work and much effort to make such quality content! Appreciate every frame of it. Keep going!
excelent way to explain the famicom/nes inside. very easy to understand. thank you
Wow! I just found this channel. This is great.
Amazing video! Good explanations :D
Thank you! I spend a lot of time working on the my scripts to ensure that I'm clearly communicating, so it's good to hear that the hard work is paying off :)
Its impressive how an image now is heavier than 2 or 4 nes gamed
Nice work!
Thanks!
Great video, man!
Thank you, thank you!
SECAM NES did actually exist, but it was a pirated clone. Those were popular in ex-USSR in the early 90s. That particular SECAM edition was named Dendy SECAM Classic, if I'm not mistaken, and it was released in 1992. It was a first Russian NES bootleg clone. Subsequent bootleg models of Dendy were PAL only because of two factors, I think. First, multi-system TV sets became much more common by 1994 already. People even modded their old Soviet SECAM-only TVs by soldering PAL decoder. And second, it seems like Dendy SECAM was a failure from a technical POV, lacking reliable color output.
Excellent content and use of infographics. Thanks man.
I wish I discovered your channel earlier, I love your content! So I'm late to this video, and I don't want to be _that guy_ but since you went into such detail, I thought it would be somewhat informative to point out that when you say "flat screen" you probably mean flat panel. There existed flat screen CRTs. I used to own a Sony Trinitron, which is a flat screen CRT. The LCD monitors/TVs we use today are officially called "flat panels", owing to their thickness. It's a very common mistake, not a big deal, just thought I'd mention it.
Haha that’s perfectly fine, I like learning things… especially stuff like that 👍🏻
Its not too often ya really learn from a youtube video - brilliant info thank you.
Just to add some more technical information here, when a CRT television is scanning or moving the electron beam, it actually scans every OTHER line first then goes back and fills in the gaps between those.
NES that were sold in France were PAL versions. TV using the SECAM standards were also compatible with PAL. They were usually described as "PAL/SECAM" TV sets.
0:42 an interesting thing is that some people learn better from top to bottom or from bottom to top, i.e. screen to transistor or transistor to screen.
so what you find works the best for you may not work the best for everyone.
(though the the way you understand best is often the way you explain best, so nothing wrong with that.)
04:33 Had a very similar TV design back in the USSR when I was a kid. Had a Dendy hooked up to it as well. Which was a bootleg NES copy. Lightgun and all.
excellent video! thank so much for uploading it.
Technically there were mechanical tvs before crts but they were so impractical and uncommon that I wouldn’t argue with anyone who wanted to not count them. So I’ll let it slide.
Indeed. CRTs are primary focus here as well since the NES was designed to work with them. I wanted to ensure that the viewer had some exposure to the concept if they hadn’t come across it already as it will be somewhat relevant to discussions of timing and VBLANKS if/when I make videos on those topics. But yes, you’re correct, I should have said “For those who don’t know CRTs were the first commercially viable and widespread type of television.”
Ver good Video and channel... best regards from Europe
Thanks so much!
This is awesome... Subbed ... Keep it up.. also got it randomly after sharopolis Video about games that push NES Limit
Thanks for the sub!
I've watched that video several times and only noticed today that it is missing a 1 on the bush (at 8:08)
😂 wow, I missed this as well apparently
Nice! Very interesting and understandable!) really well explained, thanks!)
What's kind of fascinating is that the nametable (32x30 tiles), is 960 bytes. The attribute table is 64 bytes. 960 + 64 = 1024 bytes. Exactly one kilobyte. They did not have a single bit to spare.
If this math was just a single byte off, you would probably have lost either an entire row or column on the screen as there's no way to simplify the attribute table.
Or the two nametables would be different sizes but that would just overly complicate things.
5:02 nice easter egg :3
可愛い猫
I remember learning fairly recently that unlike most other systems, the NES’s available colours are ordered by hue and brightness as opposed to RGB. Each palette specifically uses all different hues and brightnesses for each colour to ensure that the sprites read just as clearly on monochrome TVs as colour TVs.
Oh that’s neat, I knew it organized the system palette this way but I didn’t think about the implications for monochrome!
@@NesHacker I’ve developed an interest in how older games and systems used their limitations to their advantage in ways that aren’t obvious, or even become “problems” when emulated on modern hardware. This is one of those examples where now that I know, it stands out when NES style art doesn’t follow that rule lol
Another example is how early Nintendo systems rendered frames narrower than TVs, so the displayed frame was stretched. As a result, some developers actually narrowed their art so that things like circles and squares would display as intended. Ironically, first party developers did this the least.
Obviously analog signals on CRT screens weren’t as sharp as modern displays, so some sprite work looks much better when a little fuzzier in general. Another way this was utilized was how dithering got blended together and was effectively unnoticeable on intended displays, whereas some people really hate how dithering looks now. Similarly, using vertical stripes (like the waterfalls in Sonic) made them simply appear translucent.
The way even relatively newer games utilized resolution was interesting too. I’ve seen people point out funny looking LODs in Mario 64 that were never visible before. PS1 games that used flat image backgrounds like Resident Evil or Final Fantasy were seamless back in the day but look very strange when emulated at higher resolutions now. A lot of games with “low resolution” textures or lower polygon counts did not seem that low when the display was so limited too.
Anyhow, I appreciate your reply. That was probably a long read, much of which was either uninteresting or already known, but I get excited sharing lol Hopefully it wasn’t too bad, and if nothing else I’m glad to hear the monochrome compatible palettes were new to you!
Very informative thank you sir
excellent explanation
Hi! Although you have placed Brazil in the "PAL" category, the analog system used here is PAL-M, it is unique among analogue TV systems in that it combines the 525-line 30 frames-per-second System M with the PAL color encoding system (using very nearly the NTSC color subcarrier frequency), unlike all other countries which pair PAL with 625-line systems and NTSC with 525-line systems.
i will never use this information but I loved learning about the NES
In my opinion learning is an end unto itself 😊
@@NesHacker it's just cool to know how the programming worked on this machine
Common mistake, Pal-M is as much PAL as it is NTSC, so calling it "PAL" is grossly simplistic. The name is similar, but it's like calling pineapples apples. Sorry to sound rude but I'm triggered by that. ^^ Great video!
Yeah I didn't know about PAL-M until recently when another viewer pointed it out to me. It's definitely an interesting how it combined the system-m scan lines and frame rate with the colors of PAL, and I still think it's wild that it was only adopted in Brazil (there's a whole story there that I still haven't really dug into).
Also, I don't really mind when folks are rude, given they have a point... My primary goal for this channel is to help others learn, and to push myself to learn as well. I try my best to get things right, but realistically I'm just gonna be wrong on things from time to time and make mistakes.
In this instance, I was only vaguely aware of the entire ecosystem of broadcast standards that once existed, and underestimated the topic when I wrote that section of the video. But, thanks to viewers such as yourself I've gained a lot of knowledge on the topic's history and nuances.
So, thanks for watching, commenting, *and correcting*. I really do appreciate it!
I just got here from The Algorithm. Call me Subscriber #250. ( I really wanted to wait until you had 254 subscribers, because I'm a nerd)
Really good video, you deserve more subs. Your presentation is excellent, you're in good company with the likes of Retro Game Mechanics Explained and Michael Steil. If you've ever seen Michael Steil's "Ultimate Game Boy Talk", there's a bit at the end where he goes into exhaustive detail into how the Game Boy PPU's rendering pipeline works. I'd love to see something similar for the NES... though I haven't watched the rest of your videos yet ;)
I've very recently re-acquired myself a nice little 14" CRT television with component in and complemented it with modded NES and SNES consoles. Keep the 8 bit love alive :)
Thanks so much! Yeah I really want to keep going deeper and deeper into the tech as I make content but it's really hard to explain everything all in one go. My primary goal is to help people get into the hobby so for the time being I'm sticking with the basics and building up from there :)
@@NesHacker Good luck! I'm particularly fascinated with the various mappers developed during the NES era, and how they managed to give the console tricks far beyond its original specifications. Questions go through my head like "How the heck do you write ASM when the same memory location could hold different data depending on which bank you have selected? Is it something you have to somehow tell the compiler?"
Fun fact: the Apollo Guidance computer used bank switching too!
@@jaysonl Oh I didn't know the Apollo computer used that technique, that's super cool! Makes sense, though, since address space was probably pretty limited on that machine xD
Poor SECAM: always forgotten. Some people lump it in with PAL, but it was actually pretty different.
Some games actually were adjusted to run at correct speed on a PAL TV. It is pretty rare, but SMB1 is an example off the top of my head, and is actually the reason certain ones of those clone systems/multicarts run the game too fast. It's using a PAL ROM and running it at 60fps.
Hey it's Dragon Warrior i love that game!!!! :D
Great video I've been nes and snes hacking for years
I don’t know why looking at code for the NES makes me feel all warm and cozy inside but it just does.
Hello Hello
Soo Cool! THX for showing some NES Dev. stuff Thumbs up!
What i really really would like to have is one of those Sprite Machines they had back in the day. That would BLOW MY MIND!!!
THX for your stuff i was Stooked to see your Content!