"Hello, 2600!" Hello World on an Atari? NOT EASY!

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ก.ย. 2024
  • A complete guide to building an Atari 2600 "game" with bitmap graphics.
    Get the code on GitHub: github.com/Sli...

ความคิดเห็น • 52

  • @bwc1976
    @bwc1976 2 ปีที่แล้ว +10

    The people who originally programmed for the 2600 are true heroes, it's insane what they had to do compared to machines from even just a few years later.

  • @renarsdilevka6573
    @renarsdilevka6573 3 ปีที่แล้ว +10

    This is pure gold, i tried to fiddle with NES assembly code, and then i said to myself, hey, let us go back to simpler machine, hmm, simpler, would you say? But that is just mindblowing, racing the beam. There is a book exactly about the subject of racing the beam. And once you learn 6502 assembly language the whole new world opens up. This was a great breakdown :) Thank you, Matt :)

  • @FAYZER0
    @FAYZER0 3 ปีที่แล้ว +5

    I owned a 2600, didn't have a lot of nostalgia looking back. Now I'm impressed anyone made it do anything.

  • @andymanaus1077
    @andymanaus1077 ปีที่แล้ว +1

    MY very first hands on experience with a computer was a CBM PET which was owned by Kambah High School in Canberra. That was in 1981. We were given a few minutes to watch and play with a rudimentary program in which a frog would jump up to one of three positions to extend a long tongue and catch flies with it. The teacher tried to load PET Space Invaders but it kept giving a load error.
    It was also the last time I ever got to use with a PET but that December, I bought my first Atari VCS. :)

  • @carnright
    @carnright 4 ปีที่แล้ว +3

    As I am just starting with assembly (thanks!) this vid definitely caught my eye!

  • @elfenmagix8173
    @elfenmagix8173 3 ปีที่แล้ว +5

    Apple sold 6million Apple IIs? It took Apple over 15 years to get there as the Commodore Vic20 sold 1million units by its second year and the Commodore 64 sold 5million units by its 3rd year and the Apple had not reached a million units by then. Plus that is 6milion of combined units of the Apple II, II+, IIe, IIgs and Iic; while the Vic20 and C64 were lone units.

    • @jsmythib
      @jsmythib 9 หลายเดือนก่อน

      We had one lone Apple II'ish in the corner of a room full of Pets.

  • @michaellosh1851
    @michaellosh1851 4 ปีที่แล้ว +2

    Nice job on this video. NOT EASY but you explained it well, so maybe NOT SO BAD? I started with simple examples like this from the ATARI Age forums and maybe some earlier TH-cam videos to get started, and later made a more substantial game. It's actually amazing what you can do with only 128 bytes, 4K ROM, and good bit of planning!

    • @slithymatt
      @slithymatt  4 ปีที่แล้ว

      It's definitely an interesting challenge!

  • @stupossibleify
    @stupossibleify 3 ปีที่แล้ว +1

    What a joy this video was to watch! Thank you

  • @Mr.1.i
    @Mr.1.i 4 หลายเดือนก่อน

    The Atari 2600 hardware was based on the MOS Technology 6507 chip, offering a maximum resolution of 160 x 192 pixels (NTSC), 128 colors, 128 bytes of RAM with 4 KB on cartridges

  • @ropersonline
    @ropersonline 3 ปีที่แล้ว +3

    20:42: Haha, you might (semi-seriously) argue that that's cooperative multitasking between the 6507 and the TIA. :-)

  • @ronaldoluizalonso
    @ronaldoluizalonso ปีที่แล้ว

    Congratulations!!

  • @JohnDlugosz
    @JohnDlugosz 3 ปีที่แล้ว +2

    Your PET slide does not show the original 1977 model. That famously has a keyboard that's a rectangular flat button grid, not like a typewriter keyboard.

  • @tenminutetokyo2643
    @tenminutetokyo2643 ปีที่แล้ว

    The original Apple 1 is in Apple’s 1 Infinite Loop R+D building in Cupertino CA.

  • @earthsteward70
    @earthsteward70 4 ปีที่แล้ว +9

    nobody:
    matt at 4-AM: I'm gonna explain why coding on an atari-2600 sucks.

    • @slithymatt
      @slithymatt  4 ปีที่แล้ว +5

      Lol! I fell asleep while it was rendering. Woke up and it was done, so up it went. Don't accuse me of sitting on any content!

    • @earthsteward70
      @earthsteward70 4 ปีที่แล้ว +3

      @@slithymatt bro I'm not, it's just that 4-am seemed like an early and yet perfect, time to upload something this nerdy.

  • @okaro6595
    @okaro6595 2 หลายเดือนก่อน

    The original Apple II did not sell 6 million. That figure includes all the later versions up to the 1990s. IIRC the original Apple II sold 40000.

  • @thomasburk3205
    @thomasburk3205 4 ปีที่แล้ว +3

    Good video, but one thing that bugged me was your total sales figure for the Apple ][. You stated that the INITIAL Apple ][ sold 6 million units, but that figure is including ALL computers in the Apple ][ family (][, ][+, //e, //c, etc.). The original Apple ][ only sold somewhere between 50,000 - 100,000 units, with a majority of family’s sales being the Apple //e. But all of the computers in the family are mostly based off of the original Apple ][ design (with some exceptions such as the //gs and //c+, which do run on different CPUs than a 6502, but can run/emulate earlier models).

    • @slithymatt
      @slithymatt  4 ปีที่แล้ว +2

      I must have gotten the wrong figure. The article I read said 6M sales by the time the II+ was released, but they may have confused that as well. Do you know of a definitive source for Apple sales figures?

    • @thomasburk3205
      @thomasburk3205 4 ปีที่แล้ว +2

      Matt Heffernan retrocomputing.stackexchange.com/questions/459/over-its-lifetime-how-many-apple-ii-computers-were-sold
      Here is an estimated but well researched breakdown of the sales figures for the Apple ][ family. These figures are probably the closest to the actual figures. The person who posted linked actual document and it’s author they used to answer the question in the forum.

    • @slithymatt
      @slithymatt  4 ปีที่แล้ว

      @@thomasburk3205 Thanks, I'll check it out!

    • @thomasburk3205
      @thomasburk3205 4 ปีที่แล้ว +1

      In the post, the user states that the sales figures for Apple’s earliest computers were never released so that is why these are close estimates using information that we do have.

    • @thomasburk3205
      @thomasburk3205 4 ปีที่แล้ว +1

      Matt Heffernan No problem

  • @edgeeffect
    @edgeeffect 3 ปีที่แล้ว +2

    I watch TH-cam on my phone... it'd be nice if you zoomed right in when you're showing code.

    • @slithymatt
      @slithymatt  3 ปีที่แล้ว +3

      I do that on my more recent videos. This was an early one!

  • @HelloKittyFanMan.
    @HelloKittyFanMan. 3 ปีที่แล้ว +2

    What sorts of computers were these programmed on? And then how did they convert those instructions into ROMs, since I think EPOMs weren't out yet?

    • @slithymatt
      @slithymatt  3 ปีที่แล้ว +5

      That's a good question. Obviously, it was cross-development, since in 1977 your options were the Apple II or the Commodore PET for personal computers with a compatible architecture. There was no emulation, either. So it was probably up to the developer what they used, most likely something like a minicomputer at first, like a DEC PDP-11, eventually giving way to early PCs. And EPROMS were definitely around then, but with just the one E, meaning they had to be "baked" in a UV chamber to erase them.

    • @HelloKittyFanMan.
      @HelloKittyFanMan. 3 ปีที่แล้ว +1

      ​@@slithymatt: Thanks for your compliment! Yeah, of course it was cross-development. I never did see one of these with that "secret keyboard hatch," haha! And even if one did exist, I bet devvers wouldn't want to use it! (I know it didn't; I'm just joking, of course.) Or maybe with how little resource this has, even the dev. software would take up too much room on it!
      Yeah, I wondered about the Apple II or Commodore Pet, but with those also being so new, you might naturally think developers--Atari themselves included--wouldn't already have their hands on one of those. So that made me wonder what other machines might've been out there for this task, and then you guessed one. And naturally that makes me wonder if that computer is what the Apple II and Commodore PET ROMs were written on.
      But I did one time finally see a historical set of disks here online that had something very interesting written on them: things like "Commodore 64 KERNAL"! And guess what: those were written on a PET! PET was powerful enough to develop the 64 on! I'll be darned! That makes me wonder if the Mac was developed on an Apple II! But to this day, I have yet to talk to someone or see a video about what the PET and II ROMs were coded on--for sure, I mean; not just speculation. It would really be interesting to learn how this stuff was all "booted up."
      Back when I was introduced to the Commodore 64, there actually was a PET emulator. I don't know if there was a 64 emulator for the PET, though. But I figured that emulators from those days might not have been nearly as thorough as those that are available for Windows, Mac, and Linux now. However, I saw my first one in 1982, so they did exist in some fashion at least in that era (I don't know about right in 1977 though).
      But oops, I didn't know that EPROMs were already around back then. If the PDP or whatever other minis were out there didn't have very good emulators or any, then that does give rise to the question: How did they test their games on the VCS/2600? That is, if I didn't know that EPROMS already existed. So I guess I could either ask you or just look up EPROM, and even just PROM, in the encyclopedia to see when they came out. Because silly me, I thought EPROMS or even PROMs hadn't come out until the mid- or late-80s or so. But then before EPROMs, how were things tested without either emulators or EPROMs--or even just PROMs? Obviously it would've been cost-prohibitive to take a set of possible versions to a chip fab just to do 1-or-2-offs of chips just for testing, right? But what else was there?
      The same with the Apple II and PET ROMs. Either emulation or PROM of some sort had to have developed before this, right, or it seems impossible to have been able to test them quickly enough. But that gives rise to the question: Once they got the ROMs set up the way they wanted, how were those mass-produced by chip-fabs? (I'm not asking you to tell me all that layer stuff that goes into it, because you'd be here for hours. But just... how does a fab take a software and translate that into the lithography that they need in order to make those layers?)
      Nowadays we can even load up FPGAs with this stuff--I guess they're like ROMs but with more architecture flexibility, which is what I hear the X-16 uses for its GPU. Right? (Speaking of GPUs, the VIC-II, etc. came out way before the term "GPU" was even a thing, but now I want to hear people refer to the VIC-II as the 64's (and 128-40's) GPU, haha.

    • @JohnDlugosz
      @JohnDlugosz 3 ปีที่แล้ว +2

      @@HelloKittyFanMan. I think the Mac development was done on the Lisa, before it was self-hosting.

    • @tschak909
      @tschak909 11 หลายเดือนก่อน

      Software development at Atari was varied, but they mostly used a 6502 cross-assembler running on a PDP-11 that Grass Valley (Cyan) had put together using the PDP-11 MACRO assembler under RT-11.
      The code would be input using a terminal (ADM-3A most commonly used), which had an auxiliary serial port normally used for a printer, which was abused to connect a brown box consisting of a ram-as-rom emulation, and a simple ICE connected to a modified VCS. For advanced debugging, an HP 1611A logic analyzer was connected to the bus of a brown box, which could trace the last two dozen or so instructions.
      EPROMs were definitely available, and were used once a game got far enough long into development, but once the game was ready for production, the ROM would be taped out as a mask ROM (that is a discrete set of diodes in a fixed circuit), and these would be mass produced by a vendor (Atari used MOS, AMI, and a few others).

  • @bgone5520
    @bgone5520 ปีที่แล้ว

    I wouldn't say that printing ASCII characters on the screen is similar to doing a bitmap. Ones far easier. As on the pet

  • @briankumanchik2474
    @briankumanchik2474 3 ปีที่แล้ว

    This is awesome!

  • @Rattadazong
    @Rattadazong 2 ปีที่แล้ว

    Very interesting! But: Is max 4k ROM korrekt? 13Bit should adress up to 8k and there are a lot of later cartriges with 8k (Asteroids for example).

    • @slithymatt
      @slithymatt  2 ปีที่แล้ว

      You can have bigger ROMs through banking, but each banks is only 4k

    • @tschak909
      @tschak909 11 หลายเดือนก่อน

      To simplify the design of the system, the uppermost address line is used to select between the internal chips (RIOT/TIA) and the external ROM, so this logically constrained the cartridge address space to 4K, without bank switching.

  • @granthelas4468
    @granthelas4468 3 ปีที่แล้ว

    I wonder if there is an Atarimax flash cartridge that could be combined with Basic programming, to program games on your own console? Maybe a bit far fetched but I would like to see if I can do it.

    • @slithymatt
      @slithymatt  3 ปีที่แล้ว +1

      To make games, the old "Basic Programming" cart is pretty useless. But there is s Batari Basic, which you can compile to 6507 machine code

  • @Jolt7800
    @Jolt7800 3 ปีที่แล้ว

    Very helpful!

  • @jonathangriffin3486
    @jonathangriffin3486 3 ปีที่แล้ว

    why the nop slides when you could just use a loop to time? For really small timing I use nop's but generaly write a function to time using a loop?

    • @slithymatt
      @slithymatt  3 ปีที่แล้ว

      Just makes it easier to time, in some instances

    • @jonathangriffin3486
      @jonathangriffin3486 3 ปีที่แล้ว

      @@slithymatt It's certainly easier to see whats going on and Ive seen quite a bit of it in poking under the hood of windows sys calls int21 is full of nop slides!

    • @tschak909
      @tschak909 11 หลายเดือนก่อน

      This is one of the reasons you have the TIMxxT and INTIM registers. ;)

  • @johnlewisbrooks
    @johnlewisbrooks ปีที่แล้ว

    NANI NANI...BAP BAP BU BAP BAP BAP!
    Stuff...of...NIGHTMARES!

  • @customsongmaker
    @customsongmaker 2 ปีที่แล้ว

    You could use the BASIC cartridge

  • @tschak909
    @tschak909 11 หลายเดือนก่อน

    DUDE. YOU HAVE A TIMER!!!!!!!!!!!!!!!!!!!!!!!!!! USE IT! sigh.

  • @tenminutetokyo2643
    @tenminutetokyo2643 3 ปีที่แล้ว

    DOOD!

  • @HelloKittyFanMan.
    @HelloKittyFanMan. 3 ปีที่แล้ว +1

    So it's not really a computer... but then... it really is. It's Turing-complete enough to run the games on. But then it's not really one. But then it is.