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."
* From the devkit readmes:
;GO TO SELECT MODE ;LOOK AT FIRE BUTTON INPUT
;THESE FOUR LINES MUST BE INCLUDED IN ;REMEMBER ;REMEMBER,. . ., ROSEBUD
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
FUCKYOU BIT INPT4
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
;THE FINAL VERSION
AND INPT1,Y
BMI FUCKBAR
* 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!
Apparently Curt Vendel and Atarimuseum.com deserve the real credit for this release.
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
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".
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."
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.
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.)
Javascript + Nintendo DSi = DSiCade
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.