Atari VCS/2600 - 10 TECHNICAL Things You Didn't Know

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everybody I'm Aaron welcome back to the channel well as you can see I'm in the 70s set so that means we must be talking about something from the late 70s or early 80s and indeed we are so I'm doing a follow-up to a video I did earlier about the Atari 2600 where I covered 10 things you didn't know about the Atari 2600 or as I like to refer to it the VCS now if you haven't seen that video I'd highly recommend that you go back and take a look at it it's one of my most popular videos on the channel and there's a lot of really cool trivia in there about the Atari VCS so if you haven't seen it go take a look and then watch this as a follow-up because there'll be some points that you'll need to know from that first video which will make this video make a lot more sense but this video is 10 technical things that you didn't know about the Atari 2600 and just like in my previous video you're going to be hearing from some of the people that brought this system to life that's right you're going to be hearing from some of the engineers who worked on the hardware and the games as we go through so you can get it straight from the horse's mouth okay I'm sure some of you know some of the things I'm going to be talking about today but I bet there's one or two things in here that you didn't know there's at least one thing in here that I didn't know when I recorded that original video so armed with my trusty heavy sixer at my side here I'm ready to dig into this list by the way did you know why it's called the heavy sixer ah crap that one's not on my list well I do have a few bonus facts at the end I guess I'll add that one too so stay tuned till the end and find out the answer to that one as well as a few more so it's 10 technical things you didn't know about the Atari 2600 or VCS and it's coming up right now on the Retro hack Shack thank you [Music] the Atari VCS only had 128 bytes of internal memory and the ROM cartridges at the time only had between 2 and 4K of memory built into each of them now I know I mentioned this on my earlier video but I'm going to be going into a little bit more detail this time and it's critical to understand just how small 128 bytes is so that you can appreciate some of the things that are coming up on my list a little bit later but to start with actually the original spec for the system called for only 64 bytes of memory which is unbelievable but it was because memory was such a premium back in the day but let's take a look at just how small 128 bytes actually is here's a single frame from one of my recent videos it's 3840 pixels wide by 2160 pixels tall it's 11 megabytes in size and that's just a single frame 60 frames a second 4K video is no joke and here's what it looks like when I shrink it down to 128 bytes can't see it anymore well that's because it's only 5 pixels high and 5 pixels wide now I also had to save it as a raw image surprisingly usually you would apply compression to get the image size smaller but this file is so small that adding compression actually makes the file size bigger because of the metadata that needs to be added to the file to make the compression work to illustrate this another way if you're on Windows you can open up the venerable Notepad application that's been around forever and start typing characters by the time you get to your 128th character on the screen that represents a file that's 128 bytes in size each character you type is about one byte in file size so that's it you get one line of text here and you're already at 128 bytes not only that but trying to squeeze your source code down to fit on a 2K ROM cartridge is just incredibly difficult listen to how some of the developers used to deal with the problem of having their source code be just a little bit too big to fit into that 2K ROM cartridge programmers today don't understand this tremendous pressure to shave one or two or three wires out of their source code just to fit into the 2K boundary I usually at the end of my cards when I was squeezing bites which is really painful I'd usually go home have a couple beers or a couple glasses of wine it caused me to look at my code entirely differently and I would find ways that were not obvious to save bites of course I'd wake up the next morning and have more ludicrous because they're just buggy as hell but that was the way I strong code at the end I mean the kinds of things that we would do normally when you're riding a piece of code you will initialize your registers and execute the algorithm that you're creating but if it happened that one of the registers from the previous routine happened to have a seven in it you would figure out how to write your algorithm so that it took advantage of the fact that there was already a seven in the register so that you could save the two bytes necessary to load the register with the value we would have tables graphic tables we might make a slight change to the graphics so that the last byte of the graphics table is the same as the first byte of the next picture if you ever had to go back and look at that code again you would have long since forgotten that you were relying on the fact that there was a seven in the register from the previous time this routine was called and the the tricks that we were pulling just to save those bites were truly insane with so little RAM and so little storage space on the cartridges programmers had to get really clever in their usage of those resources to make some really impressive games foreign the beam refers to the way that the Atari VCS Drew its graphics on the screen there were no bitmap Graphics so they had to draw out each pixel one at a time as the scan line traced across the CRT in fact of the over 200 scan lines in a single frame of video for the Atari VCS just one of those scan lines equated to only 76 clock Cycles on the CPU given that you needed to both read data from ROM and then write data to memory so it could be executed by the CPU that left very little room for gameplay code in between this also meant that you had to be sure to count every scan line in every clock cycle so you would know precisely when you had to change a color or move the position of a Sprite on the screen this would lead to other interesting quirks as you'll see later on the Stellar environment was almost completely unique in the industry that I've been familiar with again that the programmer has to pay attention to where the code is executing to the Precision of the microsecond number and that was three clocks three visible clocks right per cycle so with that particular object I had to have three clocks of slack I had to make sure that those rights were occurring not just anywhere in between it had to be so that I had three clocks on either side so that I could take the thing forward three clocks before advancing the kernel by a cycle if you want to get really technical about how racing the beam Works Retro Game mechanics explained that an in-depth explanation of how it works and I will leave a link to that video below now that you can see some of the challenges that the programmers of the VCS were up against it's a little easier to understand some of the nuances that we all may have noticed as kids playing games on the Atari for example in Pac-Man the ghost flicker because there weren't enough Sprites to handle all four ghosts separately so the game shared one Sprite for the other three ghosts instead how did that work well the first ghost was drawn on one video frame and then the second ghost was drawn on the next and so on this meant that each ghost was only visible a quarter of the time luckily there are 30 frames per second so you don't notice it too much and your brain fills in some of the missing details in other games they used a technique called Venetian blinds chess is a good example of this by Shifting the graphics up for every other piece it left more Cycles to process code also while the computer player was thinking the screen would go blank and Flash that was because the game needed more resources to process code so it had to stop processing the video signal momentarily while it did that the flashing was due to whatever bits happen to be left in the video register features at that particular moment and then Bob Whitehead came out and he did some experiments and we came up because of these 8-bit Graphics objects uh one of them sorry two 8-bit Graphics objects uh we realize that how we're going to display uh the whole chess pieces which would require eight Graphics objects instead of two at the same time I believe the processor had to be had to load them on the fly so do you remember Larry how this venetian blind effect venetian blind so this is uh players recall we talked about earlier and you can see that this Pawn for instance is down the line and this Pawn is down the line this point downwind from this Pawn so it's decent blind because every the line player zero is just here here and here the next line here here and here and then override and register to move it over to here and so Bob Whitehead and we call this the Venetian blinds it looks like Venetian lines and he invented this purely out of the air so now the computer's thinking and now come back and smooth its piece related to these two things are the black lines that appear on the left side of the screen in some games like air sea battles Space Invaders and many others this is a result of trying to update the position of multiple Sprites in the middle of drawing one frame of video it turns out that one way to do this was to call a command named H move which had the effect of delaying the horizontal blanking by eight clocks after the delay the normally invisible horizontal blanking signal would continue but now it would be offset onto the visible part of the screen later games would fix this by just blacking out that whole side of the screen so the user wouldn't even notice it you know the original design no one ever thought of changing the player during the screen and that's the impact the result is this uh stair-stepping problem yeah here's the way it worked we had from coin op binchi we had polynomial counter based horizontal positioning and it was kind of clunky but it worked and then the programmers came along and they said can't we just write a binary position on the screen and it would have cost a bunch more chip area so I wrote this little routine that I think that you pass it a binary address it figured out what Loop count to weight during the screen to issue a reset to the counter and then what horizontal Delta to add to it to get it to be exactly to the pixel address where it should be a side effect of that routine was a we didn't have to change the hardware so it was cheaper so it yielded better but it meant that you had to run this routine if you wanted to reposition the Sprite on the Fly and if you look at that display those Sprites are being repositioned on the Fly and every time that happens because of a bug in the hardware it draws that little bar on the edge of the screen [Music] did you ever wonder why when you hit the tanks in combat sometimes they would bounce through the walls and appear on the other side well it turns out that was a bug in combat that the engineers consciously left in the game because it would take more time and code to fix that particular bug in the game than it would just to leave it alone and make it into a feature and sometimes these features would end up being the most fun parts of those games it was Larry's Innovation have everybody bounce through walls yeah that was a after adult when Al told us is if there was a bug or a perception a perception of a a MAO performance you turn it into a feature yeah yes you got it for free so we what happened is due to all the reflections you know remember it's a quadrant I'm sure you discuss the quadrant reflecting somehow that it was a bug because it would take extra programming to stop it from you know reflecting so we just let it stay foreign Ed how to program and started looking back at some of the Atari games that I loved as a kid like Pitfall and River raid I couldn't understand how they could pack so much information into those cartridges so that the levels on those games or the screens on those games would be repeatable time after time every time you reset the game the order of those screens was exactly the same in order to do this another trick was developed programmers like David crane figured out how to use a pseudo random number that would spit out the same series of digits every time the game was started programmers could then use that number to represent the various elements on the screen so instead of having to hard code every element on every screen you could just use that sudo Sudo pseudo random number and save yourself a ton of space both on storage and memory well I wrote a polynomial counter that was reversible what that means is if you incremented it it would go from say 12 to 93. the in the pseudo random sequence and then if you decremented it it could go back from 93 back to 12. which was kind of tricky it was hard to do but once I did it I said well this is great all I have to do is when Pitfall Harry runs off the right side of the screen I increment it and then when he runs off the left side of the screen I decrement it and now I've got a sequence of numbers that are 255 long in sequence and it makes this circular world and it's always repeatable so then I take that 8-bit polynomial counter and I take three bits of it for the path object three bits of it for the the shape of the middle whether it's one hole two holes water tar with or without um a Vine that sort of thing and make four different tree patterns so that when you when you moved across the screen the trees change a little bit so it told your mind that gee I must be on a different screen because the trees moved and where the brick walls are in the underground passage and that sort of thing so the polynomial counter itself was about I don't know 16 17 bytes to generate and then from that I chose different graphic elements for the world such as for that area in the middle I decided you know one hole with a ladder two holes or three holes with a ladder and the various ponds pits or Tar Pits plus whether or not they had alligators in them whether or not they expanded and contracted which we ended up calling quicksand and in fact whether they had a um a Vine over them to allow you to swing across foreign Atari games like air and sea Battle here Combat and Street racer suddenly end after two minutes and 16 seconds exactly but why is that setting a time limit on a particular game was a conscious Choice by the programmer and two minutes was known to be a good limit in the old arcade games to avoid the player getting bored or losing attention the reason it's exactly two minutes and 16 seconds is that in order to save coding space it was easier to use a binary counter of two which you could increment every 60 frames when the counter reached 2 to the power of 13 or 8192 the game would end eight thousand and 192 frames divided by 60 frames per second when you account for interlacing equals 136.5 seconds or roughly 2 minutes and 16 seconds if they had used 2 to the power of 12 the game would have ended after just one minute and eight seconds which is too short and 2 to the power of 14 the game would have ended at 4 minutes and 32 seconds which at the time was deemed too long so 2 to the power of 13 it was and that's the closest to two minutes they could come by doing it this way [Music] the original design of the Atari VCS called for two speakers to be mounted inside the case to be used for the game sound instead of using the speaker in the TV if this sound design had made it into production you probably would have heard the left player having his or her sound effects coming from the left speaker and the same type of thing for the right even though this design was changed late in production the molds for the plastic weren't updated to reflect this so the early models of the Atari VCS have mounting brackets and Slots where the speakers were supposed to go two independent sound generators remained built into the system even though they changed the sound design there are some games that take advantage of these two sound generators and I'll be posting a follow-up video showing how you can mod your system so that you can hear what it would have sounded like to have two independent speakers inside the chassis be sure to subscribe and hit the Bell icon to be notified when that video hits the channel unlike the Atari VCS many computers that came out around the same time had the ability to load programs from cassette the Holy Trinity of Home computers that came out the same year as the Atari VCS in 1977 where the Apple II The Commodore pet and the TRS-80 all of them supported loading programs from tape as floppy disk drives were very expensive at the time however the Atari VCS to use cartridges and didn't have a cassette interface I'm not sure if this was ever considered in the design phase but it probably would have been deemed too expensive to add the extra components as I mentioned in my first 10 things video Atari was really building this thing to a low Target price point however loading from cassette tapes was made possible in 1982 by using the star path supercharger 1982 yeah probably bad timing considering the video game Crash of 1983 and it also probably explains why I only found out about the starpath supercharger recently from a friend of mine this cartridge adapter not only allowed for loading games from cassette tapes but also added a whopping six kilobytes of additional RAM which allowed for some pretty impressive games to be written for the system although they're not all as good as you might think I'll be doing a dedicated video about the star path supercharger in an upcoming episode so remember subscribe Bell and you'll be able to see it the Atari VCS didn't ship with a built-in pause button or switch this led to some pretty frustrating moments as kids when our bladder's filled up and we had to make a Mad Dash for the bathroom while we handed the controllers off to a friend or a sibling and hopefully they could keep the game going long enough for us to get done in the bathroom and come back and pick up where they were at however there were some games that made use of the physical switches on the console to pause the game even though the switches weren't meant for that originally for example a number of games like Super Cobra use the black and white color switch on the console to pause the game Burger Time actually used the left difficulty switch to be able to pause the game you can also add a mod to pause any game it uses the timing on the Tia chip to Signal the 6507 processor at just the right time to effectively Halt and pause the processor until you take that pause control off I'll be making a video on installing the pause mod in an upcoming video so yep subscribe Bell it's getting old now [Music] as children the more musically inclined among you may have noticed that the music coming out of your favorite games for the Atari VCS was always just a little bit off why was that music always a little bit flat or a little bit Sharp [Music] foreign well it turns out that in order to generate the right note the system had to be able to generate the right frequency of that note in order to obtain the right frequency with the hardware that's inside the VCS the system Engineers needed to split up the clock frequency into smaller parts unfortunately because of math and the limitations of the system they weren't able to match up exactly the right frequency to get each note just right the counters that we used for the sound had a limited resolution in in how you could divide the clock so we couldn't actually hit all the frequencies that you need for music to have the full they called it a top octave counter to get it just right so but we said you know people that really play games will put up with kind of music so we we had something like a musical scale and yeah like 438.5 and the next you know a b should have been like you know 503 and we ended up with like 4 9 two and generally it was flat yeah usually it was sharp you know we try to pick the frequency closest to the cone and so the music was always a little bit off but they gave it totally again a totally unique sound and to this day everyone knows that sound foreign [Music] the first Pitfall was an amazing game when it came out and by chance we were lucky enough to see a young Jack Black in the commercial for the game just last night I was lost in the jungle with Pitfall Harry surrounded by giant scorpions and man-eating crocodiles David crane came up with some amazing ways to get this game to look and play so well when he started thinking of a sequel he really pulled out all the stops he built a patented circuit that was installed inside the cartridge to add music flying creatures vertical levels and the ability to swim in the game well I exceeded the capability of the 2600 a few times and actually the fact that certain address lines weren't out there and certain signals were upward out there were actually a challenge to figure out how to exceed that capability to the 2600 and what we did then was started to expand the capabilities of 2600 by putting extra circuitry in the cartridge I've also done cartridge custom integrated circuit in it to improve the video throughput audio capability that sort of thing we really started to get carried away right here at the end of the 2600s life on the surface it doesn't look like it's much different but in fact there are registers in the cartridge which are feeding data to the 2600 in almost a dma fashion there are three channels of audio being generated asynchronously independent of the 2600 in the cartridge and that information is being taken from the ROM as it's changing a single address in the ROM is changing with audio data and that audio data is then it's then captured and output to the audio volume register I'm actually doing a dma on the volume to make that music and it was reading through a sequence of images in a sequence of graphics and Computing the zeros above and below so that it could be positioned vertically on the screen all that was happening automatically in the cartridge so that you could use more time in the kernel to display more objects so it allowed you the ability of having more movable objects on the screen at any one given time saved a lot of calculation in the software and gave that ability through the hardware the chip in the cartridge was called the DPC or display processor chip which not coincidentally was also the initials in David P Crane's name [Music] okay and last but not least the the bonus question that I threw in at the beginning without realizing I was going to do it why is the heavy sixer called a heavy sixer well the first thing refers to the sixer part of the term and that refers to the fact that it has six buttons across the top of the console later systems even the ones that kept the wood grain design moved the difficulty switches to little switches on the back of the unit and only had four switches but the heavy sixer as the name implies has six switchers but that's not the only thing because there were later revisions that weren't heavy Sixers that also had six switches the other thing that's different is also in the very front of the name the heavy part of the heavy sixer refers to the fact that this console is noticeably heavier than future consoles when they came out this has a very much thicker plastic base underneath the bottom part of the console and it is noticeable when you pick this thing up that it is heavier this console also has a thicker bezel all the way especially on the top here and then around the front and you'll also notice that around the front it has this curved shape this gradually curved shape on the front when you see that curved shape and the thick bezel there's a good chance that you're looking at a heavy sixer another clue is that the heavy Sixers were made in Sunnyvale California now some of the other six switch models were also made in Sunnyvale or at least they have stickers on the bottom that say they were made in Sunnyvale but again it's a clue if you look at the bottom it says it's made in Sunnyvale it has some of the other distinguishing features that I mentioned then it's a good chance it's a heavy sixer last but not least the Atari joysticks and the console all had kind of an orange paint around them around the the bezel here that went around the switches there was an orange color and of course on all the joysticks there was an orange paint on this grid that went around the joystick well I'm a heavy sixer that wasn't quite so orange it was almost more of a dark yellow now at this point a lot of the paint on these has faded off so it's difficult to tell but to my eye even looking over here the print on the various switches and the remnants of the paint that went around those switches on the bezel here is noticeably lighter in color than the paint that would have been on the later joysticks or the later versions of the console so so those are all the differences that I'm aware of for the heavy sixer if you know of a few more please leave them in the comments below if you know of some more fun technical facts that you want to share with me and the rest of the community put those down in the comments below as well on my last video I got a ton of extra comments and fun things to look up and some of those things that were in those comments made it way it made its way into this video so with that I want to thank all my patrons for supporting the channel your support means a lot to me and those names will be coming up in just a minute in the credits for this episode so I hope you learned something new about the Atari VCS or 2600 and until next time thanks for watching [Music] patrons receive ad free and early access to content after the episode commentary and of course your name in the credits [Music] [Applause] episode here's a few more you might enjoy and I thank you for your support End of Line
Info
Channel: Retro Hack Shack
Views: 99,311
Rating: undefined out of 5
Keywords:
Id: JfgNxjOUW8Y
Channel Id: undefined
Length: 29min 20sec (1760 seconds)
Published: Sat Jun 24 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.