Donkey Kong and Me 123
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."
Great guy... (Score:1, Interesting)
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.
FWIW (Score:5, Interesting)
Re:And your point is? (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:And your point is? (Score:2, Interesting)
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.
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).
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
Re:And your point is? (Score:5, Interesting)
So, yeah, thanks for sharing.
Re:Open Development (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.
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: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.
Re:Open Development (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 a team whose job was to collect people freaking out, usually locked inside their offices.
If Atari hadn't been first absorbed by the Warner giant conglomerate that failed to gain "computer" insights just by buying Atari and letting go its visionary founders, it might have had a great chance. Everything Amiga should have been Atari's. Atari even had a Mac-type desktop (GEM, on its 16bit 68000 versions) much truer to the Xerox PARC model, before the Mac did. That desktop was a better publishing platform than the Mac, too.
With its games attracting programmers and users, it should have had it all. But it didn't have the spirit. And mainly, it didn't have the marketing that either IBM's momentum or Steve Jobs' genius brought. It lacked either the industrial muscle or the visionary spirit to match its HW brains.
Re:FORTH (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:Nep0 (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:And now that office mate is . . . (Score:2, Interesting)
Re:Open Development (Score:4, Interesting)
Re:Nep0 (Score:3, Interesting)
ASM is rather fun if the project is small. It's just about the closest you can get to pure, refined coding.
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 those days.
Oh, the shame (Score:2, Interesting)
The only code I wrote that got in to the wild was some disk based copy protection. I wrote the loader using an interpreted C compiler (Deep Blue C), and some 6502 code - stored in duplicate sectors on a certain track. For example, track 5 would contain two sectors 7s, one sector 7 with valid 6502 code, the other with bogus code. The only way to read in the correct sector 7 was by reading the track sectors in reverse sequence, something no disk copy program would do, but the Deep Blue C code did (the code took advantage of the order in which sectors on a track were placed so as to optimize read times). The 6502 code was the loader (and de-mangler) for the rest of the program.
Of course, if I knew then what I know now, I'd have written Tetris and retired...