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."
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.
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.
Re: (Score:1)
Re: (Score:1)
Great guy... (Score:1, Interesting)
Re: (Score:2)
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.
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".
Re: (Score:1)
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: (Score:1)
Re: (Score:1)
Re: (Score:2, Informative)
Re: (Score:2)
The part with the kid in his sent in video was hilarious though
Re: (Score:3, Informative)
Re: (Score:2)
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)
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.
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)
Re: (Score:2)
This is completely irrelevant. You don't need to be an expert in the English language to be able write a story.
No, my point was that having a big pile of words doesn't in itself give you the skill to string them together to write a half-decent story.
If you believe this, then you have absolutely *NO* idea what the Amiga documentation consisted of. I programmed the Amiga in assembly (right off the bat), and the "Includes and Autodocs" were indispensible. To say that they "wouldn't be applicable" just shows that not only are have you never read them, but that you don't really know what you're spouting on about.
First off, I never claimed that I'd read the Amiga documentation. Show me where I said I had.
Do the "includes and Autodocs" constitute or describe an API (for assembly) in the conventional sense? *If* so, fair enough, I was wrong, but this suggests a blurring of the boundaries between assembly and higher level languages. (Not that this is necessarily a bad thing if y
Re: (Score:2)
The guy was talking about assembly programming, so that wouldn't be applicable here.
Hmmm... I didn't start into assembly until DOS3.0, but at that point the standard BIOS and DOS interrupt references were indispensible. As were the references for some of the common 'drivers' like for creating sound on a soundblaster, or using a mouse for input.
I'd call all of those genuine APIs. Software library functions your progam could invoke.
Not to mention the guides cover
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: (Score:2)
Re:Open Development (Score:5, Funny)
You have much to learn about women, grasshopper. Much to learn.
Re: (Score:2, Insightful)
They survived largely because they were targeting multi-purpose usages whereas Atari was targeting mostly games. The game crash of '82 didn't stop general computer growth. IBM thrived because of the clone market (eventually hurting IBM) and Apple survived because of the desktop publishing market it helped spark. Amiga could've had a chunk of that market, but didn't bother catering to it well.
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
Re: (Score:2)
You needed a subscription to Antic my friend.http://atarimagazines.planetmirror.com/antic/ [planetmirror.com]
Many a night was wasted writing and saving to cassette the code of that mag. Always praying no one hit the light switch or tripped over the plug (Happened a maddening # of times.)
Re: (Score:2)
And so began the next 4-5 years of people like me poking and peeking around memory spelunking for hooks into the science-fictional hardware we'd hooked to our TVs.
I learned character set redefinition and display list
Re: (Score:1)
Re: (Score:2)
To the contrary, it was an excellent HW platform - the best at its time. The problem was that the techniques and the OS code wasn't available outside Atari. Guys like Chris Crawford worked for Atari. That's w
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The technique I liked best was compiling assembler (which I learned on an Apple ][+, via "call -151") into bytes rendered as character strings in a BASIC program, then telling BASIC to jump to the first byte in the string. But then I would find myself typing long gibberish strings from magazin
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.
Re: (Score:2)
The first microcomputer I used that had a hard drive was back in the early '80s. It was used to process the data for a dental lab, ran CP/M on a TRS-80 Model II and had a 5MB SASI hard drive. That hard drive was so BIG for the day that it was formatted as four partitions!
My 8 megapixel camera makes 4 megabyte JPGs for each picture it takes.
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:2)
You must be new here.
Re: (Score:2)
Re: (Score:2, Interesting)
Re: (Score:3, Informative)
Re: (Score:1)
All his computing needs are covered by his x86_64 PC. The whole OS(MS-BASIC 64, written by himself in long-mode assembly) fits in 16kb, and he has never used more than 640kb of RAM.
He never uses Windows as evidenced in the Windows 98 presentation.
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:1)
Re: (Score:1)
Re: (Score:2)
I know the slant of the passage is humorous, but Motorola made the 680xx line of CPUs [wikipedia.org].
XOR lawsuit (Score:1)
Wasn't there a big lawsuit in the late 80's over using XOR for mouse cursors? If so, you had provable prior art right there. Then again, it was your competitor, Commodore that was unde
FORTH (Score:2, Flamebait)
That's what happens when you over-educate people: they learn all these great abstractions and ideas, and then have to do it the primitive way in the field. My first job out of college was programming in Fortran-66 (1966 standard), w
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.
Re: (Score:2)
Re: (Score:1)
Modern COBOL is not as bad as earlier versions. It's almost tolerable for what its usually used for. New projects can avoid GOTO's, for example.
Re: (Score:1)
Re: (Score:1)
I had an interview question one time, regarding how to branch without using an 'if'. Needless to say I didn't get the job
Needless to say, now I can do it
I'm entitled to proper use of "titled" (Score:1)
Re:I'm entitled to proper punctuation (Score:1)
Re: (Score:1)
Second hit on Google [wordreference.com] gives me:
Third hit on Google [wiktionary.org] gives me:
Re: (Score:1)
hyphen hilarity (Score:2)
Re: (Score:2)
I don't know, but you could always ask Scott Adams [wikipedia.org] or Dilbert [wikipedia.org]?
Adams has coined or popularized words and phrases over the years, such as...cow-orker
The strip has also popularized the usage of the terms "cow-orker"
Maybe they'd have the answer?!
FWIW, I'm fairly sure cow-orker predates Dilbert. I'd be prepared to wager a smallish sum on this being a Kibo [google.com]-ism.
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 interpr
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!
cow-orker (Score:1)
I lol'ed when I saw it in TFA.
Re: (Score:2, Interesting)
Re: (Score:2)
Which ones? Anything we might remember?
Re: (Score:1)
Probably ET. So, yea, perhaps we should just forget...
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.)
Re: (Score:2)
I know what you mean. I tell friends use to p2p that I get files off newsgroups within minutes instead of waiting days for people to share and they look at me like the first time they heard about mp3s or divx. "How do I get on a newsgroup?!?" They ask excitedly. I use to explain it all, but now I tell them just to google it.
Re: (Score:1)
SHHHHHHHHHHHHHHH
The first rule of Usenet is that we don't talk about Usenet in public forums. It's okay to tell your friends and set it up for them, but for God's sake don't go around blabbing about it.
If anyone here wants to know what Usenet is, search on google and look for 'More/Groups'. It's just a bunch of text newsgroups. There's not any sort of humongous binary trading going on on it. You can't get movies or music or TV shows on it, they don't show up sooner than they show up on torrents, and you c
Re: (Score:2)
Re: (Score:2)
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:And your point is? (Score:5, Interesting)
So, yeah, thanks for sharing.
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:2)
Whee!