Slashdot Mirror


Source Code of Several Atari 7800 Games Released

jadoon88 writes to share a series of old Atari 7800 games that have been unofficially open sourced. "Remember Dig Dug or Centipede or Robotron? They used to be favorites when Atari's 7800 series was still around. Since the era of those consoles is over, and a different world of interactive reality gaming has taken over, Atari has unofficially released source code of over 15 games for the coders and enthusiasts to admire the state-of-the-art (because this is what it was back then). During those times, nobody would have imagined in their wildest dreams the games that Atari's developers floated into the gaming thirsty market and instantly swept across continental boundaries. But things changed soon after that and a company once regarded as one of the most successful gaming console manufacturers and developers faded away in the pages of our technology's hall-of-fame."

22 of 153 comments (clear)

  1. Re:Great! by Acapulco · · Score: 4, Interesting

    My thoughts too. What does "unofficially released source code means" exactly?

    After some thinking I came to the conclusion that it means you can download the code, but without an open source license applied to it, such that if someone tries to buy the code from them (or the company), they can just stop giving away the files, state that it's still propietary and then still have the ability to sue someone who develops something based on those files. That's the only logical explanation I can come up with.

    Like saying "here, I'll give you my car as a gift" but not transfering the ownership via legal papers. If at some point someone wanted to buy my car I can just tell you "hey, that car I gave you for free....it's no longer yours, it's mine to sell now" and you would have (I presume...IANAL) no legal way of claiming otherwise.

    No?

    --
    Slashdot. Unreadable news to annoy nerds. - wonkey_monkey
  2. 15 minutes later ... by Knowbuddy · · Score: 4, Funny

    ... we see our first CERT advisory for a buffer overflow exploit in Dig Dug, leading to a remote execution vulnerability in your 'net-enabled MAME console.

  3. The Year of the Linux Gaming Platform? by basementman · · Score: 3, Funny

    This unofficial open source release signals that this will finally be the year of the cutting edge linux gaming platform.

  4. Correct link for Sphinx by haruchai · · Score: 4, Informative

    Should end in SPHINX.zip not Sphinx.zip. Beware the 404

    --
    Pain is merely failure leaving the body
  5. Re:Do it the hard way! by butlerm · · Score: 4, Informative

    You can be sure that the original arcade versions were written in assembly language not that different from what you see here. As a rule, nobody wrote video games in C until the mid 1980s. Assembly language was king.

    I worked at a game software developer in the late 1980s, and all of the 2600 games, all of the 7800 games, all of the C-64 games, all of the Atari 800 games we developed or ported during the period were written in native assembly language. Only the Amiga, Atari ST, Macintosh, and the later PC games were written in C. NES and SuperNES games were written in assembly as well.

  6. Re:Great! by ae1294 · · Score: 3, Funny

    Shaking head in disbelief... Still trying to get someone to pay for Dig Dug after all these years....

  7. Re:Great! by Mekabyte · · Score: 4, Informative

    It's unofficial because it wasn't released by Atari, as the post suggests, but by the Atari Historical Society, copied from source disks recovered from Atari's trash.

  8. Some fun stuff... by Sprite_tm · · Score: 5, Interesting

    * From the devkit readmes:

    2600/7800 DEVELOPMENT KIT<br>
    CARE AND FEEDING INSTRUCTIONS<br>
    [...]
    Feel free to telephone John Feagans at Atari (U.S.) at area  code
    (408)  745-xxxx  any  time you have a question  about  using  the
    software.   He  wrote the download program and the  transfer  rom
    code.   He's the one who did not write any support  documentation
    to go with his software.

    * From the base sw:
    CPX     #1               ;HACK: WE STOP AT 1
    BEQ     SELRTS
    INX                     ;BIGGER HACK: PUSH X INTO RANGE.
    LDA     ZHACKMOD+2,X     ;BIGGEST HACK: TABLE LOOKUP NEXT MODE.

    * Ofcourse, we have explicit words:
    CMP     #$FF                   ;SEE IF ANY INPUT
    BEQ     FUCKYOU
    JMP     GOTOSEL                ;GO TO SELECT MODE
    FUCKYOU   BIT     INPT4                  ;LOOK AT FIRE BUTTON INPUT
    BMI     ATIT4

    LDA     #0                     ;ENOUGH TIME HAS ELAPSED TO ALLOW CAPS
    STA     $1                     ;TO DISCHARGE SO CONTINUE FUCKING WITH
    LDA     #$14                   ;IO HARDWARE

    STA     AUDC0,X         ;GO POUND SAND IN YOUR ASS

    * Citizen Kane anyone?
    LDA     INPT0,Y                ;THESE FOUR LINES MUST BE INCLUDED IN
                                             ;THE FINAL VERSION
    AND     INPT1,Y                ;REMEMBER
    BMI     FUCKBAR                ;REMEMBER,. . ., ROSEBUD

    * In Galaga, at 'a boss hit':
    JSR    ABOSSHIT               ; HOW YOU PRONOUNCE IT IS YOUR OWN
           ;BUSINESS

    * Liek wtf?
    * GROUND TARGET SECRET CODES (SSHHHH!)
    *         0       regular dome           logram
    *         1       regular pyramid        barra
    *         2       detector dome          zolbak (and your mama, too)

    *And finally, an original comment which couldn't be more to the point in 2009:
    *PROGRAMMERS BEWARE: THIS CODE IS OLD AND VERY UGLY! TAMPER AT YOUR OWN RISK

    It looks like Hattrick is written mostly in Forth btw. I personally didn't know they wrote games in that language!

  9. Let's give credit where credit is due by silverspell · · Score: 5, Informative

    Apparently Curt Vendel and Atarimuseum.com deserve the real credit for this release.

  10. Re:Great! by Acapulco · · Score: 5, Insightful

    Then shouldn't it be "illegal" instead of "unofficial"?

    If Atari still has the copyright on some of those games, then it would be illegal to do so, isn't it? Even when they probably won't sue or anything, how can I "unofficially" release the source code to, say, MS-DOS without MS suing (suEing? sp?) me?

    --
    Slashdot. Unreadable news to annoy nerds. - wonkey_monkey
  11. Re:Great! by hedwards · · Score: 3, Insightful

    Does that even apply? It's not the physical copy to which Atari has legal rights, they have the copyright to the code on the disks. And that's a huge difference, if that weren't the case then people would be perfectly free to copy disks as much as they liked, provided they could find one that had been tossed in the garbage bin.

    Somehow I don't think that theory would hold up in court, well either theory.

  12. This is great by somenickname · · Score: 5, Funny

    Seeing how it was done old-school is always refreshing. No C++, Java, C#, just hardcore assembly.

    As an anecdote, I have a friend who used to work at MECC and worked on games for the Apple II like Oregon Trail and Odell Lake (find yourself a Way-Back Machine if you aren't familiar with those games). If memory serves me right, before leaving MECC, he wrote something akin to the following in one of those two programs:

    [code]
    ; Important. Do NOT remove this. -- username
    nop
    nop
    nop
    ; Proceed
    [/code]

    Years later it was apparently still in the code and he'd met up with an old colleague who asked, "What was up with the three nops? We didn't remove them because we didn't know what would happen". The response being, "Nothing, I just thought it would be funny to have this conversation a few years later".

    1. Re:This is great by noidentity · · Score: 3, Funny

      Heh, reminds me when I used to break into the built-in monitor while a disk program was loading on the Apple II (which also uses a 6502 processor) and always saw a bunch of $EA bytes. I thought it was because it was an Electronic Arts game, that they used that hex value as some kind of signature. Only later did I learn that was the opcode for NOP. It's odd as on most other 8-bit processors $00 is NOP.

  13. Re:Great! by osu-neko · · Score: 5, Insightful

    SCOTUS ruled that what you throw out is public property...

    Right, but that just means the discs are public property (assuming the data was on disc). If I throw away a book, someone can grab that book out of the trash and claim it for themselves. However, the author does not lose the copyright (even if it was the author who threw away the book).

    --
    "Convictions are more dangerous enemies of truth than lies."
  14. Re:Is there a cross assembler? by osu-neko · · Score: 3, Informative

    Looks like 6502.

    Actually, it would have to be 65C02 or better. You couldn't do "ldx #$FF" on a 6502, you had to do "lda #$FF" and then "tax" (transfer A to X). The ability to load immediate into the X or Y registers was added on the 65C02. And, don't quote my on this, but I think the 7800 predated the 65816, so I suspect 65C02 is the right answer...

    --
    "Convictions are more dangerous enemies of truth than lies."
  15. Ms. PacMan by thygate · · Score: 5, Interesting

    look, it's Ms Pacman

              ;MS RIGHT, HALF OPEN
              DB      $08,$00,$0A,$50,$A5,$54,$25,$D5,$17,$55,$15,$50
              DB      $15,$00,$15,$50,$15,$55,$05,$54,$01,$50,$00,$00

    All the pixelfonts are in there too offcourse. If you're into remaking arcade classics, there's a lot of picture and sound data there just waiting to be recycled.

    1. Re:Ms. PacMan by Anonymous Coward · · Score: 4, Funny

      Spoiling slashdot with Pacman porn again, are we?

  16. Re:Is there a cross assembler? by DoofusOfDeath · · Score: 4, Funny

    Looks like 6502.

    Actually, it would have to be 65C02 or better. You couldn't do "ldx #$FF" on a 6502, you had to do "lda #$FF" and then "tax" (transfer A to X). The ability to load immediate into the X or Y registers was added on the 65C02. And, don't quote my on this, but I think the 7800 predated the 65816, so I suspect 65C02 is the right answer...

    I like compilers.

  17. Re:Is there a cross assembler? by AKAImBatman · · Score: 5, Informative

    6502c, actually. It's a custom version of the 6502 that was integrated with various other system hardware and could dynamically adjust its clock depending on which memory address was being accessed. (That was how Atari gained 2600 compatibility, which was a custom 6507 chip.)

    It sounded all well and good on paper, but the actual implementation of the processor was a serious PITA. If you weren't careful, you'd accidentally drop the speed to 1.19MHz and throw all your timings off. Even more annoying was that many functions required you to access hardware that dropped the clock speed. The worst offender was the TIA sound hardware because Atari was too cheap to install a POKEY chip.

    Worse yet, the normal 1.79MHz was underpowered for the complex sprite hardware they'd paired it with. The sprite hardware basically processed lists of lists of sprites, requiring sophisiticated data structures to get good performance out of complex, fast moving scenes. And if that wasn't painful enough, you were wise to find a way to keep as much of the structure in ROM as possible so that you wouldn't blow through the mere 4K of RAM.

    The 7800 was an interesting and potentially even useful design, but it simply wasn't practical for most developers. (Many of whom were not computer scientists.)

  18. More in the well of Atari nostalgia by alnicodon · · Score: 5, Interesting

    I quite like the way this blog by an old time Atari employee recalls the when and how of Atari developement. Something (Donkey Kong port on Atari consoles) that read

    I should explain how Atari's Arcade conversions group worked. Basically, Atari's marketing folks would negotiate a license to ship GameCorp's "Foobar Blaster" on a cartridge for the Atari Home Computer System. That was it. That was the entirety of the deal.

    made it clearer with :

    We got ZERO help from the original developers of the games. No listings, no talking to the engineers, no design documents, nothing.

    but, wait... there was even less:

    In fact, we had to buy our own copy of the arcade machine and simply get good at the game (which was why I was playing it at the hotel our copy of the game hadn't even been delivered yet).

    was for me a sure way to a plentiful of nostalgiaholic reading.

    Al.

  19. Just source code for proprietary software. by jbn-o · · Score: 3, Insightful

    jadoon88 writes to share a series of old Atari 7800 games that have been unofficially open sourced.

    No, but whomever wrote that headline is making a common mistake. The use of the term "open source" tells us that "open source" is apparently no more clear to people than what that movement tried to supplant—free software. While "free software" has an ambiguity problem, that problem is easily resolved by saying the "free" refers to freedoms to run, share, and modify the software, not a reference to price. "Open source" is also widely misunderstood:

    The official definition of "open source software," as published by the Open Source Initiative, is very close to our definition of free software; however, it is a little looser in some respects, and they have accepted a few licenses that we consider unacceptably restrictive of the users. However, the obvious meaning for the expression "open source software" is "You can look at the source code." This is a much weaker criterion than free software; it includes free software, but also includes semi-free programs such as Xv, and even some proprietary programs, including Qt under its original license (before the QPL).

    That obvious meaning for "open source" is not the meaning that its advocates intend. The result is that most people misunderstand what those advocates are advocating.

    but not easily cleared up. As that essay points out, "the explanation for "free software" is simple--a person who has grasped the idea of "free speech, not free beer" will not get it wrong again. There is no such succinct way to explain the official meaning of "open source" and show clearly why the natural definition is the wrong one.".

    From what I can tell, there's no permission given to share any of these programs, no permission to modify any of these programs, and no permission to distribute these programs commercially.

    The blog poster claims "In an official release, Atari has quoted that the purpose of the release is to give potential developers insight into the Atari's gaming platform so they may possibly build upon the 7800 series." but there is no link to the official release from the copyright holder. Therefore the provenance of this source code is unclear. I would consider these programs to be neither open source nor free software. This looks like an offer to download source code for proprietary software then make the mistake of distributing unauthorized derivative works based on these programs. It might be fun to program new Atari 7800 games, but copyright lasts a very long time and there's too little information to verify what the blogger claims.

  20. Re:Great! by Jah-Wren+Ryel · · Score: 4, Informative

    However, did they ever register the copyright for the source code? If not, then any damage awards for this "publication" won't amount to a hill of beans.

    -1, Basic Copyright Knowledge Fail

    Three smug ACs, all got it wrong.

    If you do not register the copyright you can only sue for actual losses, none of this $150K per copy stuff that the MAFIAA gets away with.

    Since this source code is assembly language for a decades old and long extinct game platform any actual losses due to publication and distribution of this source code won't amount to a hill of beans. The cost of the lawyer will probably dwarf any award, thus making it infeasible to file suit against the people who published it.

    Capiche?

    --
    When information is power, privacy is freedom.