Slashdot Log In
Donkey Kong and Me
Posted by
kdawson
on Sat Mar 08, 2008 02:33 PM
from the when-men-were-men-and-code-was-16k dept.
from the when-men-were-men-and-code-was-16k dept.
MBCook sends us to the blog of one Landon Dyer, who posted an entry the other day entitled Donkey Kong and Me. It describes how he was offered at job at Atari after writing a Centipede clone and ended up programming Donkey Kong for the Atari 800. It's full of detail that will be fascinating to anyone who ever programmed assembly language that had to fit into 16K, as well as portents of what was to come at Atari. "My first officemate didn't know how to set up his computer. He didn't know anything, it appeared. He'd been hired to work on Dig Dug, and he was completely at sea. I had to teach him a lot, including how to program in assembly, how the Atari hardware worked, how to download stuff, how to debug. It was pretty bad."
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Nep0 (Score:3, Funny)
Without RTFA, I bet its a relative of an Atari bigwig.
Re: (Score:3, Informative)
Re:Nep0 (Score:4, Interesting)
Makes me miss the good ol' days when you didn't need a staff of hundreds and a multi-million dollar budget to make a good game. Back then one guy who didn't know anything could sit down and within a few months crank out a fun game for a popular console. I took a semester of assembly for CS and it's not that bad, wrote a tic-tac-toe game as a final project where the computer randomly placed it's pieces (could have had it scan the board but that'd be too hard for players, as-is the PC wins most the time) so I know a tiny fraction of what the author's talking about.
Parent
Re: (Score:3, Interesting)
Weird coincidence. I wrote a Tic Tac Toe program in assembly the other day with the goal of making it fit in the 512 bytes of a floppy disk bootsector.
Right now two players take turns placing either 'X' or 'O', but I have about 40 bytes left to make the computer play.
Fun stuff.
Re: (Score:3, Interesting)
You know. Except for the gaming part, exactly that happened with general application programming and the VB/JS/PHP programmers of the 90's and 00's and a lot of people complained that untrained, know nothing dolts were diluting the talent base and bringing
Re: (Score:3, Insightful)
Well, nowadays, that's wht Xbox Live Arcade is for.
Other Media of Related Interest (Score:5, Interesting)
Highly recommend it if you're at all into gaming, but it's also a great social commentary to watch even with your non-gamer girlfriend/boyfriend.
Re: (Score:2, Informative)
Re: (Score:3, Informative)
Re: (Score:2, Insightful)
Re:Other Media of Related Interest (Score:5, Informative)
But you don't need to beat a game to get a good feel for it.
Parent
Re:Other Media of Related Interest (Score:4, Informative)
Anyone with a decent amount of reflexes can make it through several cycles of the boards, enough to document the way things work and change well enough to clone it. If they never make it as far as the timer-glitched level, it won't matter; what they create will still be quite recognizable as "Donkey Kong".
Parent
Re:Other Media of Related Interest (Score:5, Interesting)
However, I would object to the notion that competitive arcade gaming is an "industry" at all. Some of the movie's best moments were when it laid bare what competitive gaming really is--a self-regulated collection of sycophants, plagued by the childishness of its most famous poster boy.
Your assessment of the film's accessibility to nerds and non-nerds alike is completely accurate. If any Slashdot readers have a friend or girlfriend (although that might be stretching things in the latter case
Parent
Re: (Score:3, Informative)
FWIW (Score:5, Interesting)
Open Development (Score:5, Insightful)
It wasn't enough. Programming wasn't just hard because it required assembly code skills (or forth, hah!), but because it was completely hidden territory. There was no real way to get source code from the programs that some people managed to write and distribute, and certainly no obligtion for anyone to release it (except the occasional superficial magazine article).
The competing Apple ][+, IBM-PC and TRS-80, all had BBSes full of downloadable code (often including source). Their corporate vendors each published detailed programming guides. The TRS-80 was doomed because of the direction of its corporate parent (which should have stayed in the PC business, porting its OS on Intel HW when they all upgraded from 8 to 16 bits). But IBM and Apple survived, even thrived (as we all know), because it was easy to get in the programming game.
By the time Atari finally published its "De Re Atari", which was a good start (the source code to the OS), the small developer "community" had already chosen either Apple or PC. If Atari had taught us all how to program from the beginning, its superior hardware and attractive game platform would probably have left it a strong competitor to the PC, much as the Mac has. But we were all on our own, and our platformed disappeared.
The same dynamic is still true on new platforms. Make it easy to develop for it, and it will survive, even thrive.
Re:Open Development (Score:5, Informative)
Parent
Re:Open Development (Score:5, Informative)
And I don't understand how the Amiga could be easier to get into than the 8-bit Ataris; being a 16/32-bit machine, it was far more complex and had fewer obvious routes to get "into" it.
The Amiga was neither the contemporary of, nor (at the time of its release) comparable in price with the Atari 800/XL/XE. Even if you did get your Atari then (and you meant "Amiga" rather than getting it confused with another machine), it wasn't the same mystery as it had been in earlier times.
(*1) The same year that the Amiga came out (1985), the third iteration of the same basic Atari 8-bit hardware (now sold as the XE line) hit the streets. The 400/800 had come out in 1979, the XL line in 1983... that was *years* earlier.
Parent
Re: (Score:3, Informative)
Wtf?
You never noticed the full hardware specs for the Amiga, that were available from the start, as well as the specs etc for the various API's?
If those aren't obvious, you must be fucking blind.
Re: (Score:2)
You never noticed the full hardware specs for the Amiga, that were available from the start
By the mid-80s the Atari 8-bit hardware was well-known, regardless of how unhelpful Atari had been in the early days. In addition, not only was it a far simpler machine full stop, but having been around for six years, its ins and outs and the techniques used to get the best out of it would be fairly well established.
The Amiga may have been well-documented, but it was a far more complex machine and being fairly new would have meant that people were still finding their way around it. Having a dictionary do
Re: (Score:3, Interesting)
The guy was talking about assembly programming, so that wouldn't be applicable here.
Actually, he was talking about assembly on the 8 bit machines. Along with Basic, that was about your only option to program in.
The 16 bit machines had C compilers available for them, so programming was quite a bit easier.
That may explain the "easier to get into" comment.
Re:Open Development (Score:4, Interesting)
Parent
Re: (Score:3, Informative)
Re: (Score:2)
As for the x86 instruction set, I'm no expert on that, but I've seen enough that I can entirely understand why you hate it so much
Re: (Score:2)
Re:Open Development (Score:5, Funny)
You have much to learn about women, grasshopper. Much to learn.
Parent
Re: (Score:3, Interesting)
The problem was that the Atari corp was mostly not targeting. RTFA to see what a circus it was. In the early 1990s I knew the guy who wrote the Atari computer game version of "Millipede" (funny how the creeper programmers like to talk). He told me stories of how the halls of Atari were filled with people wired on coke so much, there literally was
Maybe they wrote their server in 16K!! (Score:3, Insightful)
Re: (Score:2)
Re:Maybe they wrote their server in 16K!! (Score:4, Insightful)
My primary metric is clear, do as much as possible with as little code as possible. By that I don't mean extreme LOC-compression or extreme cross-referencing, I'm talking about writing using standard functions to minimize maintenance, complexity and sources of bugs. Bloated? Well, you can say that I don't care how much memory the libraries eat, but I certainly don't want the *code* to be bloated.
Parent
And now that office mate is . . . (Score:5, Funny)
So, what was it like to work with Bill Gates?
[rim shot]
Re: (Score:3, Funny)
This was not funny at all.
Re: (Score:2)
Re: (Score:3, Informative)
Text in case the blog goes down again (Score:5, Informative)
In the fall of 1981 I was going to college and became addicted to the Atari arcade games Centipede and Tempest. I knew a little bit about the hardware of the Atari 400/800 home computer systems, and decided to make a scary purchase on my student budget and buy an Atari 400 and a black and white TV (which was all I could afford). I messed around in Basic for a while, then bought an Assembler/Editor cartridge and started hacking away on a Centipede clone. I didnt have much to go on in terms of seeing prior designs for games and had to figure everything out myself. Like most of the school problems, you really just have to work things out with a few hints from the textbooks and lectures.
Anyone whos worked with that Asm/Editor cartridge probably bears the same deep emotional scars that I do. It was unbelievably slow, the debugger barely worked, and I had to remove comments and write in overlays of a couple K in order to squeeze in enough code. My game, which I called Myriapede, took about three months to write. I still have the original artwork and designs in my files; graph paper marked up with multi-colored pens, with the hexadecimal for the color assignments painstakingly translated on the side.
[I had to guess at colors. All I had was that cheap black and white TV, and I had visit a friends and his color TV for a couple hours in order to fine tune things].
The Atari Program Exchange (a captive publishing house) was holding a contest. The grand prize for the winning game was $25,000. Id spent a semester of college blowing off most of my courses and doing almost nothing except work on Myriapede. I finished it with a week or two to spare and submitted to the contest.
A few weeks after I mailed Myriapede off to the contest, I got a letter from Atari that said (1) they were very impressed with the work, but (2) it looked to them like a substantial copy of Centipede (well, it was) and that theyd rejected it for that reason. The subtext was they would probably sue me if I tried to sell it anywhere else, too. I was crushed. I wound up going to a local user group and giving a couple copies of it away; I assume that it spread from there. I hear that people liked it (best download of 1982 or something like that).
A few weeks later I got a call from Atari; they wanted to know if I was interested in interviewing for a job. I was practically vibrating with excitement. I flew out and did a loop, and made sure to show Myriapede to each interviewer; it was a conversation stopper every time. Until they saw it they kind of humored me (yeah, okay, you wrote a game), then when the game started up they started playing it, got distracted and (ahem!) had to be reminded that they were doing an interview! One of the guys I talked to was the author of Ataris official Centipede cartridge. He said on the spot that my version was better than his.
A couple weeks later they gave me an offer. Atari moved my single roomful of stuff out to California. I flew out and spent two weeks in a hotel waiting for my things to arrive; Atari wanted me out there real bad.
Now, there were two popular arcade games that I simply could not stand; the first was Zaxxon, a stupid and repetitive scrolling shooter. The second was Donkey Kong it was loud, pointless and annoying. Of course, the reason they wanted me in California was so I could work on a Donkey Kong cartridge. After a few moments of dispair (and faking enthusiasm in front of my bosses) I gritted my teeth, got a roll of quarters and spent a lot of time in the little arcade that my hotel had, playing the DK machine there and getting to know it really, really well.
I should explain how Ataris Arcade conversions group worked. Basically, Ataris marketing folks would negotiate a license to ship GameCorps Foobar Blaster on a cartridge for the Atari Home Computer System. That was it. That was the entirety of the deal. We got ZERO help from the original developers of the games. No listings, no talking to the engineers, no design documents
503 Service Temporarily Unavailable (Score:5, Funny)
Slashdotted (Score:2, Redundant)
Best...computer..ever... (Score:5, Interesting)
Until I got my first Amiga of course. 68000 assembly language reads like a great literary work. Yes, the Amiga 500 with it's unix-like (but not *too* unix like) operating system and it's non-surface mounted giant chips named after *hot chicks*, and later, pregnant chicks, brought a 12 year old and his potentially permanently scarring soldering iron closer together than they had ever been before. Yes.. I got my first virus on an Amiga. It was so cool.. and so scary. Never before had I seen a virus! Don't share floppies kids!
Back then, there were also machines called "macs" which were identifiable by the fact that they used completely different hardware than a PC (stuff made by Motorola.. pfft.. a cellphone manufacturer. leave it up to them and we'll soon be computing on our cellphones!!) and completely different input devices. People said we would never learn to like mice... and they were right.
Well.. it's all gone kids. The mac doesn't exist anymore. Just PC's with unix-like operating systems, and PC's with Microsoft operating systems... and we still rate them on the same system... we fire up mame, and see how well they can duplicate the Donkey Kong experience.
I nearly beat level 2 today.
Re: (Score:3, Interesting)
Some of us wrote video games in 6502 assembly language back then. I made enough in the first year off of royalties to buy a brand new car for cash back in the early '80s. Now get off my lawn!
Re: (Score:2, Interesting)
Re: (Score:2)
Which ones? Anything we might remember?
Re: (Score:2)
Ohrea lly? [google.com]
Re:And your point is? (Score:4, Funny)
You kids today, no sense of history. "Cow-orker" is at least 15 years old, it was common on alt.folklore.urban when I was a USENET junkie. (USENET. You know, USENET? Newsgroups? The original peer-to-peer system? Ah, forget it. I gotta go yell at some kids to get off my lawn.)
Parent
Re:And your point is? (Score:5, Interesting)
TFA is an act of geek nostalgia. A good number of us like to remember for the sake of remembering. While I couldn't care less about Atari pre-Tramiel (the DOG!), stories about Amiga still interest me.
Check the comments section at the end of TFA, the messages are from people who still revere Atari and people with personal connections.
Parent
Re:And your point is? (Score:5, Interesting)
But . . . some of the lessons are timeless: Failing companies go south in common ways (poor hiring practices, success concealing bad mistakes, miserable engineering practices, etc.). This was my first job out of college, I had no idea what the real world was like, and it was a real eye-opener. (And from a geek perspective: You can do amazing stuff in 16K. Still can. Firmware engineers do this kind of thing every day).
(It kind of sucks to be slashdotted. I never expected that).
Parent
Re:And your point is? (Score:5, Interesting)
So, yeah, thanks for sharing.
Parent
Re: (Score:2)
Been there, done that.... (Score:3, Interesting)
I remember well the hundreds of pages of assembly language with no comments, the overloaded "server" machines which would grind for an hour if everybody hit "assemble" at the same time, RS232 downloads to the target machine, etc.
Crappy license deals, the "need something, anything, by next week" deadlines which meant that most games were much worse than they could have been, all standard fare in t
Re: (Score:3, Interesting)
Don't hold back, tell us what year that was.
My first programming job was while I was still IN college, in 1989, converting Fortran 66 code into the state of the art Fortran 77, if you can consider 11 years old to be state of the art. It was kind of comparable to running Windows 95 today.
Re: (Score:3, Funny)
I got a job offer in my inbox the other day from some moron recruiter. (Apparently he is incapable of understand that there is a "macro assembler" other than IBM 370, or that "I will not relocate" in all caps is just pretty formatting.)
Some company in Ohio wants to convert their "Macro Assembler" code (hopefully 370 and not 360!) to... COBOL! Yes, in 2008. Way to be 20 years behind the times, guys! Maybe in another 10-15 years you'll discover SQL and the internet.