Slashdot Mirror


Create New Atari 2600 Games With BASIC

2600fan writes "Fred Quimby, a game developer for the Stella Atari 2600 emulator, has released a new BASIC compiler that can be used to create games to run on Stella and potentially on the 2600 itself. The compiler generates efficient assembly-language code in DASM syntax, then uses DASM to make a binary. A bitmapped playfield and easy-to-use scrolling routines are included, and programmers can also add inline assembly language and directly access TIA registers if they please."

34 comments

  1. What? by ResidntGeek · · Score: 3, Interesting

    That takes all the fun out of programming for the 2600. http://www.oreillynet.com/lpt/a/4849

    --
    ResidntGeek
  2. First Post by duncanbojangles · · Score: 0, Redundant

    Damn, that's really cool. Now anyone can become a 1337 a7ar1 h4x0r. :)

  3. Sounds good... by kworthington · · Score: 0, Offtopic

    Vote Quimby!

  4. if the programs run on an Atari 2600.... by rubberbando · · Score: 2, Funny

    Would they also run on one of those "10-in-1" joysticks that emulate 2600 games?

    If so, that would be excellent!

    I wonder how hard would it be to license the hardware for one of these little buggers.

    This could become a new outlet for homebrewed games to enter the retail market.

    I guess theres also the other possibility of someone just hacking one of those joysticks to take a memory card or something for some personal gaming...

    --
    DEAD DEAD DEAD DELETE ME
    1. Re:if the programs run on an Atari 2600.... by llamaluvr · · Score: 1

      Isn't the whole point of those is that they're *not* licensed? :-)

      Or is that just the 1000-in-one N64-like gamepads?

      --
      Insightful: 76, Off-Topic: 379, Flamebait: 24, Funny: 152, Interesting: 201, Underrated: 55, Troll: 9, Total: 896
    2. Re:if the programs run on an Atari 2600.... by davidbrit2 · · Score: 2, Informative

      Word on the street is that the Atari Flashback 2.0 due out in the next month or two will have pin headers on the board allowing you to solder in your own real Atari 2600 cartridge port. From what I've read, the thing is basically a 6502 + TIA chip done in an FPGA or some such. Plus it'll have built in games, including some unreleased stuff, and new arcade ports done by Atari (Space Duel being among them). So definitely watch for this beast. It's not going to just be cheesy ports to NES hardware like the original Flashback.

    3. Re:if the programs run on an Atari 2600.... by KDR_11k · · Score: 1

      He's talking about those official "Atari compilation" joysticks that include half-assed ports of Atari 2600 games you can pick up for 20$.

      --
      Justice is the sheep getting arrested while an impartial judge declares the vote void.
    4. Re:if the programs run on an Atari 2600.... by JustNiz · · Score: 1

      ..and you're so dumb that you don't know the difference between your and you're.

  5. Heh.. by Rob+T+Firefly · · Score: 1

    Just like Qbasic took all the fun out of coding for the PC. Now if only I could get online deathmatch to work in GORILLA.BAS...

  6. No Licensing Issues! by Anonymous Coward · · Score: 3, Informative

    The Atari 2600 was made from off-the-shelf parts, so there are no ROM licensing issues (on the platform itself). This is why Mattel was able to make a 2600 add-on for the Intellivision.

    Seems crazy now -- Imagine having a hardware add-on for the Gamecube that played PS2 games!

    1. Re:No Licensing Issues! by narcolepticjim · · Score: 1

      We had a ColecoVision (oh, fond memories) with a 2600 adapter. I remember thinking/hoping/believing that it would actually improve the 2600 graphics to ColecoVision quality (oh, bitter disappointment).

      Then I got a Commodore 64 and both were discarded like security blankets.

    2. Re:No Licensing Issues! by bjb · · Score: 2, Informative
      The Atari 2600 was made from off-the-shelf parts, so there are no ROM licensing issues (on the platform itself).

      Off the shelf parts? No, I think you're confusing the history of the PC here. While the 2600 didn't have any ROM code (which is easily copyrightable and difficult to duplicate), it did have a few custom chips (TIA, etc). Now I'm no chip engineer, but I'm sure its probably relatively easy to create functional equivalent chips at this level of complexity in comparison to doing a clean room ROM clone that still provides 100% compatibility.

      I could be somewhat wrong, but I'm fairly certain that the 2600 had no ROM (that was the cartridge!) and it was simply stuffing values into registers that made things happen immediately. Remember, 2600 programmers had to be very concious about their timing; if there was ROM code, that would complicate things.

      --
      Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
    3. Re:No Licensing Issues! by Anonymous Coward · · Score: 1, Informative
      The Atari 2600 was made from off-the-shelf parts, so there are no ROM licensing issues (on the platform itself). This is why Mattel was able to make a 2600 add-on for the Intellivision.
      Wrong: the Atari 2600 contained a custom chip called the Television Interface Adapter (aka Stella) that generated the graphics and audio. Mattel and Coleco (among other companies) managed to reverse-engineer the chip, and Coleco earned a patent infringement suit from Atari for their efforts.
    4. Re:No Licensing Issues! by bleaknik · · Score: 1

      I miss my blankie. I mean Commodore 64.

      --
      Deja Vu
      n. 1. The sensation that you've read this very article before.
  7. Diamond Joe's Brother? by lbmouse · · Score: 0, Troll
  8. BASIC?? by IntergalacticWalrus · · Score: 2, Funny

    Wait, why BASIC? Why not a language that doesn't suck?

    1. Re:BASIC?? by Sinnix · · Score: 1

      *Turns around, looks at shelf containing 'the' original BASIC manual in all its hardcover glory.* I dunno, it could be fun to get back to the basics! (no pun intended)

    2. Re:BASIC?? by kisrael · · Score: 1

      I'm guessing two reasons:

      * BASIC is pretty easy to parse
      * BASIC's linear structure maps well to the resource starved 6507 ASM Atari games are based on.

      Tied in with the second point is how Atari Basic is always going to be a subset of a "real language" anyway. I mean, he could have gone for a C-like syntax, but to me it "feels" more logical to have a stripped down BASIC syntax than a stripped down C.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    3. Re:BASIC?? by blueZhift · · Score: 1

      Aww man, I threw out my first BASIC book years ago! Anyway, haven't you heard, there are no languages that suck! Well, except maybe Java...no I'm kidding! Really, I am kidding...

      Kudos to Fred Quimby and thanks!

    4. Re:BASIC?? by IntergalacticWalrus · · Score: 1

      You're right. I should've said: "Why not a language that sucks less than BASIC?"

  9. Timely by GeckoX · · Score: 1

    Wow, that's certainly timely. Hard to believe something like this would come along so close to the release of a gaming console!

    Yes, sarcastic, quite.
    This would have been interesting about 15 years ago. Now, it just seems kind of sad really.

    --
    No Comment.
    1. Re:Timely by kisrael · · Score: 1

      You. Just. Don't. Get. It.

      And thanks for clearly labeling your sarcasm.

      2600 is an interesting challenge for geeks, and this is the first time something like this has had a serious effort applied to it...unless you count the old Basic Programming cart.

      So much of geekdom "just seems kind of sad really" if you're not on that wavelength. I'd suggest reading Levy's book "Hackers: Heroes of the Computer Revolution"

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    2. Re:Timely by GeckoX · · Score: 1

      No, I do get it actually.

      My point is hacking something old like this really has nothing more than nostalgia and geek factor attached to it. Had this come out when I was in high school, it would have been something to talk about.

      Shit, it would have drawn all KINDS of people towards playing with programming for the 2600.

      No one is going to suddenly be drawn to programming because this came along now. Very few people will ever play anything produced using this. Very little of what is learned in making a game using these tools will be applicable to creating games for modern systems.

      At this point, it only exists for the sake of doing it in the first place. If that gets the people involved off, that's great! Truly, it is! However, _I'm_ not about to start jumping up and down about it.

      --
      No Comment.
    3. Re:Timely by kisrael · · Score: 1

      At this point, it only exists for the sake of doing it in the first place.

      That's what geekery is all about!

      If that gets the people involved off, that's great! Truly, it is! However, _I'm_ not about to start jumping up and down about it.

      There's an active homebrew community to whom this is a really interesting development. You were completely dismissive because it's a nostalgia system, and your wet blankets were misplaced. It's cooler than a lot of other things that gets published on the games section of slashdot.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    4. Re:Timely by GeckoX · · Score: 1

      Yes, very cool to you and apparently about a dozen other slashdotters. You're still missing my point.

      It would have been _way_ cooler 15 years ago.

      If this energy today was instead put into hacking a game api into some modern device that everyone has _now_, that would not only be geekily cool, it would also potentially be useful, or at least used.

      Anyways, not trying to detract from your enjoyment of this. Have fun!

      --
      No Comment.
    5. Re:Timely by kisrael · · Score: 1

      If this energy today was instead put into hacking a game api into some modern device that everyone has _now_, that would not only be geekily cool, it would also potentially be useful, or at least used.

      It will be used. AtariAge has a thriving community of coders and wannabes.

      As to "this energy"...look, other people are doing that. This is something different. Maybe "inferior" by your way of reckoning, because it's retro rather than current. But like with lots of OSS, people "scratch their own itch".

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
  10. Why BASIC ? by TheSkepticalOptimist · · Score: 1

    This language is deader then a door knob, except for MS insistance to keep plugging Visual Basic, which is far outstripped by C# (i.e. C# is just VB with more features).

    While C or C++ may be overkill for designing Atari games, and too complex for many hobbyist programmers that don't develop regularily in C or C++, using something like a scripting language like PERL or PHP would probably work better. They are easy to use, robust, and you don't have to scour the net looking for an environment to develop in.

    But, enjoy your BASIC Atari game programming, I am an OO developer through and through, and hate non-OO programming. If I can't write programs with class, then I don't like to program them at all.

    --
    I haven't thought of anything clever to put here, but then again most of you haven't either.
    1. Re:Why BASIC ? by cd-w · · Score: 2, Informative

      The point was to make the Atari 2600 easy to program, not to produce the ultimate programming language. BASIC is a good choice for this as it corresponds closely to the underlying machine instructions, but is much easier to comprehend.
      This is also why BASIC was bundled with most 8-bit home micros. Furthermore, as the resulting programs can be no larger than 4KB (not MB!) in size, and 1MHz in speed, any OO mechanisms would impose far too much overhead.

      The 2600 has an active and friendly homebrewing scene. However, there is a steep learning curve for anyone wanting to start. This tool will be very useful for beginners who want to try their hand at 2600 programming, before learning the full details of 6507 and TIA programming. Also it will be useful as a prototyping tool for experienced developers who want to try out a game concept before investing a lot of effort in designing a custom display kernel.

    2. Re:Why BASIC ? by TheSkepticalOptimist · · Score: 1

      But the end result of any compiled language is the machine code, which can be represnted by any high level language. But yes, I forgot just how simplistic the gaming engines were for the Atari, and I guess if you want to program for it, your going to need something simple like Basic, which is a bit more higher level then assembly, but not much.

      --
      I haven't thought of anything clever to put here, but then again most of you haven't either.
    3. Re:Why BASIC ? by kisrael · · Score: 1

      Very true. As a Java/Perl coder who then dived into 6502 (well, 6507 but who's counting) to make his own Atari homebrew, as well as made a tutorial and some other stuff, I have to say my initial reaction was...

      Perl or PHP for Atari Games....HAHAHAHAHAHAHA, yeah, good luck with that.

      Trust me, with 4-8K Rom and 128 *bytes* of RAM...you're not going to get very far with that.

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    4. Re:Why BASIC ? by PotatoHead · · Score: 2, Insightful

      You are spot on where learning curve is concerned.

      I took this and wrote the little breakout clone in a few hours. Prior to that, working in assembly got me a few blocks on the screen...

      Assembly takes a lot of time. (Something I don't have.) This doesn't and was a lot of fun.

  11. Semi-Official Homepage by kisrael · · Score: 1

    I've been consulting with Fred Quimby a bit to make the Semi-Official Batari BASIC homepage:
    http://alienbill.com/2600/basic/

    It will contain the latest builds along with sample code, screenshots, and future documentation.

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death