Exploring BASIC Programming for the Atari 2600 - Part 1

Поделиться
HTML-код
  • Опубликовано: 7 июн 2024
  • This video is the first of a two-part series where we take a look at "BASIC Programming" for the Atari 2600 and discuss its usage, features, and limitations. I give an overview of how the cartridge presents its programming environment, how the keyboard controllers are used to input data, and demonstrate the limited memory available for authoring programs. We also take a brief look at some artwork from a 1981 Atari game catalog!
    In "Part 2", we'll examine the music, keypad input, and graphics features of the language. We'll also do some real-world code optimizations to work within the memory limitations discussed in this video.
    Please use the following time-code index to jump to relevant sections in the video.
    0:00 Introduction and Atari Game Catalog
    1:36 My burning questions about BASIC Programming for the Atari 2600
    2:58 Internet lore on the cartridge's purpose
    4:14 Overview of Keyboard Controllers
    7:04 Screen overview: Text quality
    8:18 Screen overview: Data/Program Sections
    10:40 Limitations: what to expect before writing a program
    11:49 Overview of memory limitations
    12:42 Program #1 - Output Memory Consumption
    17:10 Program #2 - Internal Memory Consumption
    24:52 Conclusion about memory use
    Github for documents referenced in this video:
    git.io/JL5kF
    "BASIC Programming: Atari Archive Episode 34"
    • BASIC Programming: Ata...
    "Exploring BASIC Programming for the Atari 2600 - Part 2"
    • Exploring BASIC Progra...
    "Building a Universal Atari 2600 12-button "Star Raiders" Controller"
    • Building a Universal A...
    Program in closing comments: "Balloon Catcher" by Dave Britten
    www2.gvsu.edu/brittedg/BasicP...
  • НаукаНаука

Комментарии • 84

  • @prof.brunotsouza
    @prof.brunotsouza 2 года назад +3

    > Here in Brazil, in the 80s, we had MSX systems based on Z80 CPU and MSX-DOS plus MSX-BASIC.

  • @8bitsnkboy472
    @8bitsnkboy472 3 года назад +8

    WOW! And to think I thought I had it rough with my ZX81 back in the day! Inputs look like such a painful chore, but I do like how the cursor in the program indicates what part is being read and executed.

  • @derekchristenson5711
    @derekchristenson5711 Год назад +4

    Thanks for showing this! I played around with this cartridge when I was a kid (far too long ago, it seems), and I remember having some fun with it, as simple as it was. It's interesting to see a serious examination of its capabilities like this.

  • @privatename5788
    @privatename5788 3 года назад +12

    So...it's as effective as using a mop to do your dishes from six feet away. It works, sort of.

    • @singalongwrudy8690
      @singalongwrudy8690 Год назад

      Is kids back then knew HOW our computers worked. -Unlike today's youth who only need to know how to turn it on.

  • @oconusrox
    @oconusrox 3 года назад

    Great video! Trip down memory lane - I had basic programming on the 2600 when it was new in early 80’s ahhh good times.

  • @10MARC
    @10MARC 3 года назад +13

    Thanks for the cool video Steve. I've been fascinated with that basic cartridge since I was 10 years old back in 1980 and first read about it. I always wanted it, and had fantasies about all the cool things I could do with it. But it looks like there's not all that much you can do with it! Oh well, I got my VIC-20 a few years later with a whopping 5 kilobytes of memory!

    • @SteveGuidi
      @SteveGuidi  3 года назад +12

      I think we all had grandiose ideas of what we could accomplish with our first BASIC programs. My friend and I were stoked on making a "Mission Impossible" game that would be just like the 80s remake TV show! We got as far as printing "This message will self destruct" on the screen, followed by a lame countdown.

  • @bmkretrogaming7634
    @bmkretrogaming7634 3 года назад +2

    Nice video Steve! Very interesting, and informative. Liked, and subscribed.

  • @vacuumnoise
    @vacuumnoise 3 года назад +7

    Fantastic video!
    I just ordered this with keyboard controllers and overlays!
    I've written some BASIC on an XEGS (Atari 8-bit) & a C64, so looking forward to writing on the VCS!
    & now I am about to watch pt. 2 !!!

    • @SteveGuidi
      @SteveGuidi  3 года назад +2

      Happy to hear you enjoyed the presentation. Thanks for watching!

    • @mdamaged
      @mdamaged 2 года назад +4

      But, why? This looks like a nightmare.

    • @vacuumnoise
      @vacuumnoise 2 года назад +3

      @@mdamaged indeed it is but very cool it exists

  • @Goto10Gaming
    @Goto10Gaming 2 года назад

    Great video and just wow. So amazing and so limited.

  • @AndreasSiebertvideos
    @AndreasSiebertvideos 2 года назад

    Very detailed ‘investigation’. Bravo

  • @jcchaconjr
    @jcchaconjr Год назад +2

    Yep The late 70's was definitely the "cheap lawsuit" era for sure... The way I heard it, this cart came as a result of someone suing because the claims of it being a computer were fraudulent. Hence by producing a "BASIC Programming" cart, Atari proved that it was indeed a computer - despite all the crazy limitations.
    I recall a similar lawsuit, where someone sued Atari because the VCS box had an image of a Chess Knight, but there was no chess game. Well, Atari quickly scrambled to produce Video Chess, which as I understand it, was a considerable programming challenge for the time, owing to the VCS' specs. Regardless, they quickly and quietly removed the Knight from the box.
    You really have to give those Engineers their due respect for their ingenuity in overcoming these challenges, especially under pressure like that.

  • @JustMe99999
    @JustMe99999 Год назад

    Good video. This was my first introduction to programming, as a very young child. So funny to see it today.

  • @a2pha
    @a2pha 2 года назад

    I just came across this video now (12-03-21), Steve. I must admit it's an ambitious program for the Atari despite only having 64-bytes of memory for coding space. The interface is ahead of its time and something I plan to consider when I write my own fantasy console in the future.

  • @bioman1hazard607
    @bioman1hazard607 3 года назад +9

    Wow, it's amazing to see an atari actually compute data.

    • @cnk9822
      @cnk9822 3 года назад +1

      Uhhh it's a console.

  • @IAMTheNiteOwl
    @IAMTheNiteOwl 10 месяцев назад +1

    Wow, never knew this is even existed. I had an Atari 800, which had all this built in with a real keyboard. Never knew the Atari 2600 even had this capability. Amazing.

  • @andrewross3523
    @andrewross3523 3 года назад +4

    This is how I learned how to program. I don't complain about modern IDEs these days! (Although learning to program would probably be easier if you had a "STACK" section like this does.)

  • @tk423b
    @tk423b 3 года назад +3

    I remember magazines printing the code to games. 1000s of lines of code. To play a game on the commadore

    • @SteveGuidi
      @SteveGuidi  3 года назад +4

      Compute's Gazette! and Run Magazine were two of my favorites 🙂

  • @Robidu1973
    @Robidu1973 2 года назад +2

    Depending on how the cartridge interfaced with the other hardware (did it have a direct link to the CPU bus?) it would have been interesting if they had included some RAM on the cartridge as well. That could have left the memory on the main system for execution and status information while at the same time keeping the rest (code and data) neatly separated. Now imagine what could have been done with an additional (for that time) whopping 1k of RAM introduced on the cartridge...

    • @SteveGuidi
      @SteveGuidi  2 года назад

      I recall reading that many of the "newer" and more elaborate games for the Atari 2600 used some form of bank switching to store extra code and data in cartridge ROMs. I'm sure a similar technique may be possible with RAM, but the main limiting factor in 1979 would have been production cost.
      As an example, Spectravideo released the Compumate many years later (which is a keyboard you can attach to a 2600, similar to one I produced in another video/project), and it also had a BASIC interpreter included. It allowed much larger programs, but its limitation was that you couldn't edit a line after you committed to it and moved to the next line in your program.

  • @BriansManCave
    @BriansManCave Год назад

    This is cool! Its one cartridge that I knew existed but never explored.

  • @sa3270
    @sa3270 3 года назад +2

    I had that same catalog when I was a kid. But the first BASIC we had in the house was the Commodore 64.

    • @SteveGuidi
      @SteveGuidi  3 года назад +2

      A note for the archeologists: I have a couple of those catalogs and noticed that they change the layout and contents even in the same year of publication. Most of the ones scanned to archive.org are different from what I have.

  • @Scribblersys
    @Scribblersys 7 месяцев назад +1

    Here's a lil game a wrote the other day for Atari 2600 Basic called 'wide receiver', that uses graphics and sound!
    Instructions: HOLD KEY TO RUN
    1 If Hit Then Note ← Ver1 ÷ 10 Ver1 ← Ver1 + 10
    2 Hor1 ← Hor1 - 10
    3 If Key Then Ver2 ← Ver2 + 5 Else Ver2 ← 0
    4 Goto 1

  • @belstar1128
    @belstar1128 3 года назад +1

    I always wondered what this thing could do.

  • @theedspage
    @theedspage Год назад

    Thank you for this video series! I have an idea why only integers from 0 to 99 were used. In programming the Hewlett Packard calculator HP 32S (late 1980s), integers from 0 to 99 took 1.5 bytes of memory while every other number took 9 bytes of memory. Given the small memory of the Atari 2600, I guess that is why the program allowed only such numbers.

  • @prof.brunotsouza
    @prof.brunotsouza 2 года назад +1

    > The first time I got actually close to an Atari VCS 2600 was probably in 1985, when I was 9 years old; in that decade, we were still under restrictions related to industry and imports.

  • @zionlion9651
    @zionlion9651 3 года назад

    Great video

  • @lanatrzczka
    @lanatrzczka 2 года назад +1

    I feel that an early CS class should have at least one homework assignment where students are challenged to do something useful with Atari 2600 Basic Programming. There's so much in there to realize about working with memory.

  • @00darkurza00
    @00darkurza00 3 года назад +4

    I'm watching a werewolf on RUclips at midnight show me how to program an Atari 2600. ..I have seen everything

    • @SteveGuidi
      @SteveGuidi  3 года назад +4

      Was there a full moon out when I recorded this? I can't remember. 🐺 Sadly, my genetics precluded me from being a hand-model -- so I just stuck with the computers and electronics. Thanks for watching!

  • @wallacelang1374
    @wallacelang1374 10 месяцев назад

    When Atari had first released the Atari 2600 VCS the number 2600 was merely its original catalog number and its title was the Video Computer System (aka the Atari VCS). So because the Atari VCS bore the name of a computer Atari chose to issue a Basic Programming cartridge, thus it taught the simplest beginnings of Basic Programming. However around a year or two later they introduced their genuine series of computers with the Atari 400/800 personal home computer system.

  • @prof.brunotsouza
    @prof.brunotsouza 2 года назад +2

    > VERY COOL!

  • @RichardRauscher
    @RichardRauscher 2 года назад

    That specific cartridge did not come from 1978 based on the label. The original labels were a red font on a black background only without artwork

  • @sotheresthat7882
    @sotheresthat7882 Месяц назад

    I bought a copy that didn’t have the keyboard for some reason. The fact that it came from Big Lots probably explains that.

  • @thetruepyromancer2928
    @thetruepyromancer2928 2 года назад +2

    I found my copy or Basic Programming for Atari 2600, but is says on the cartridge "Use with Paddle Controlers" were there any misprints of this?

    • @SteveGuidi
      @SteveGuidi  2 года назад

      That must be a misprint! With some luck and patience, you -might- be able to get some of the inputs working with a paddle (effectively using the rotation as a switch or button press) but it would in no way be usable 😀.

  • @daesplays8737
    @daesplays8737 4 месяца назад

    These days you have web browsers that think 8GB of RAM isn't enough, while back then some mad man made a BASIC development environment for a machine that was built from recycled pinball machine parts, 128 bytes of ram and that I'm pretty sure didn't even have any BASIC compilers for it at the time.

  • @Vallee152
    @Vallee152 3 года назад +1

    This is early esoteric

  • @WildkatPhoto
    @WildkatPhoto 3 года назад +1

    man I had that catalog and read it cover to cover multiple times

    • @SteveGuidi
      @SteveGuidi  3 года назад +2

      Same here! I have two or three of them, each slightly different.

  • @richardhunn9737
    @richardhunn9737 8 месяцев назад

    Screen cap, crop, resize, and print... Next, scissors, hole punch, and rubber cement...

  • @dbryan1688
    @dbryan1688 10 месяцев назад

    I had this cartridge when it came out but didn't find the instructions useful enough to do anything with it (not that I would've been able to do much with it). I did learn to program on my Timex Sinclair 1000, which wa a beast compared to the 2600.

  • @kins749
    @kins749 3 года назад +3

    I always wondered how the hell that worked with such limited memory

    • @Zekium
      @Zekium 3 года назад

      Literally worse than a ZX80/ZX81 that had only 1kb of RAM (some surely used by the system).

    • @kins749
      @kins749 3 года назад +6

      @@Zekium Yet somehow they managed to fit chess into 700 or so bytes on the ZX81, surely the most amazing feat of programming ever

  • @wolfgangvandenakker3377
    @wolfgangvandenakker3377 3 года назад

    When I something programm, I want to save it. How?

    • @SteveGuidi
      @SteveGuidi  3 года назад +2

      Unfortunately, the cartridge doesn't allow saving of programs. That said, the memory limitations prevent entry of long programs (6-9 lines max).

    • @wolfgangvandenakker3377
      @wolfgangvandenakker3377 3 года назад

      @@SteveGuidi That is very disappointed. Better use it as game computer.

  • @ChrisAthanas
    @ChrisAthanas 3 года назад +1

    I had no idea this existed at the the time but if I had it I would have hated it

  • @vhm14u2c
    @vhm14u2c 3 года назад +2

    I bet you were disappointed, lol. In 1983, A friend of mine had that cartridge and keypad controllers. It was Iike trying to enter alphanumeric text on a Nokia phone, lol.

    • @SteveGuidi
      @SteveGuidi  3 года назад +3

      I never thought of the Nokia analogy -- it is spot on! Imagine having to use two Nokia phones though, one in each hand simultaneously.

  • @DnBclassictunes
    @DnBclassictunes 2 года назад

    So did Atari make their games this way back in the 70's?

    • @SteveGuidi
      @SteveGuidi  2 года назад +2

      No, the Atari game authors would produce assembly instructions for their game (6502 assembly?) and then put the instruction code on a ROM chip. That chip would then go into a cartridge allowing the CPU to read it and manipulate the system.
      Assembly programming would have been done on another microcomputer.

    • @DnBclassictunes
      @DnBclassictunes 2 года назад

      @@SteveGuidi okay. Thanks for the explanation. I actually don't know anything about coding etc but the video is interesting. Cheers!

  • @angsta22
    @angsta22 5 месяцев назад

    I had this for 2600 but after already learning and using TI994/a extended basic, Apple II and c64 basic it was pretty disappointing on the 2600... I regretted buying this and not a new game to play.

  • @DoNotTredOnMe
    @DoNotTredOnMe 3 года назад

    Any 70's kid that got this as a Christmas present was disappointed. 🙁

  • @Hyreia
    @Hyreia Год назад +1

    It technically does the job! I understand they had to make it cost effective. The necessary keypads alone surely made it costly? Modern homebrew Atari cartridges can add RAM but a contender for the greatest Atari programmer of the day made it work and it taught people the logic that goes into programming. I imagine the manual alone was invaluable. I'm sure lots of kids went on with a desire for something with more memory. So, mission accomplished I think!

  • @ramgladore
    @ramgladore Год назад

    So they gave you these jank controllers instead of an actual keyboard and no way to preserve your program which goes away after you turn the system off.

  • @prof.brunotsouza
    @prof.brunotsouza 2 года назад +1

    ;-)

  • @peterodonnell3312
    @peterodonnell3312 3 года назад +1

    Why didn't they just make a keyboard for the 2600

    • @sa3270
      @sa3270 3 года назад

      They actually made one at one point but I don't think it made it to market.

    • @nowthatsjustducky
      @nowthatsjustducky 3 года назад +2

      @@sa3270 It was called the Atari Graduate Computer. And yeah; I think it was full fledged vaporware, like the Commodore Spartan.

  • @johneygd
    @johneygd Год назад +1

    Only 63 bytes availible to you and all you can use are just 2 saperate keyboard controllers rather then just an actual keyboard? That sucks, i can’t imagine that somebody was seriously programming stuff with it,even not if you could store it on cartride or tape or whatever,
    If this basic cartride just added more ram and allowed users to have an actual keyboard along with tons of flashrom,then it could,ve been useful,BUT no atari had to cut corners wherever possible to the point that it almost become useless and nothing more then just a gimmick.

  • @gstcomputing65
    @gstcomputing65 3 года назад +4

    There was no way you were going to make any decent programming language with 4K of cartridge ROM and 128 bytes of RAM. 16K ROM and 4K - 8K of RAM would be probably the minimum. This would easily quadruple the price of the cartridge. That would make it out of the price range for 90% of the consumers. Just a bad idea all the way around.

  • @HPPalmtopTube
    @HPPalmtopTube 9 месяцев назад

    This is not BASIC programming but instead "basic programming" LOL :) They should have put some RAM into the BASIC cartridge, 64 bytes for BASIC program and execution memory is simply dreadful and makes the whole idea of programming in BASIC on this system irrelevant. I don't think I would have had the same motivation as I had with my C64 to learn computer programming with BASIC (and later on Turbo Pascal and C on my PC/XT) back in the days of typing programs from books/listings at the age of 7 years and onwards...

  • @donwald3436
    @donwald3436 3 года назад

    This was a scam, right? Contemporary pocket calculators were more powerful.

  • @amare65
    @amare65 3 года назад

    Your hands are hairy.

    • @SteveGuidi
      @SteveGuidi  3 года назад +4

      Yes, they are. But if you think that's unusual, you should see what happens during a full moon 🐺! Thanks for watching :)

    • @AgeofReason
      @AgeofReason 3 года назад +2

      @@SteveGuidi ha! Well played, wolfman of ancient technology! 😉

    • @AgeofReason
      @AgeofReason 3 года назад

      I have a buddy who has a hairy back. One night we were drinking with another friend of mine who didn't know him. He exclaimed, "hey! Nice back!" trying to be a ham, fortunately it worked, my buddy laughed and thanked him.

    • @SteveGuidi
      @SteveGuidi  3 года назад +1

      I love it! "Wolfman of Ancient Technology" might be the channel's new tagline. 😀

  • @JohnDoe-ec1mz
    @JohnDoe-ec1mz 4 месяца назад

    I had this when it came out, when every home computer in the 80's came with Basic !! Can't really blame Atari that they jumped on the same band wagon which proven to be a BAD idea.
    But Damn !! Isn't the label art on the cartridge look INCREDIBLE !!