Atari 2600 Game Development
gjb6676 writes "An article over at ExtremeTech is covering recent game development projects on the Atari 2600. The amount of cartridge space they have to work with is a sobering thought:
'A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600.'"
a two page document takes up only 9kb, compared to my empty word 2000 file which is 17k. bz2 + xml!
Check out, for example, the homebrew projects at Atari Age.
I think that says more about Word 2002 than it does about the 2600.
20KB of data for a 2 word document? thats insane. .TXT is best!
My potato gun was confiscated by the United Nations. They said I wasn't allowed to have weapons of mash destruction.
Why not start porting some of the 2600 games to the X-Box? I'm still waiting for Custer's Revenge 2!
The trick is to exploit Moore's Law, and avoid Gates. Then technology becomes a Good Thing.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I know that some games were larger than the 256 bytes that were standard, by use of 'bank switching', so telling the readers that it is all they have to work with is misleading.
It allowed the system to extend its usable life of the platform after developers got familiar with how to work with it.
Can't fit much pr0n in 4K.
Trolling is a art,
The amount of cartridge space they have to work with is a sobering thought: 'A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600."
I think it is more frightening to think that it takes Word 2002, 20Kbytes to store two words. An ASCII file could do the job in about 10 bytes depending on the size of the words.
Is like using a donkey as a standard of intelligence.
Defender 2 'the revenge'
space invaders 'EXTREME'
Atari Football 2003
Night Driver with Infrared Goggles
and Combat: Gulf War
I am the lord of the pun. Dance Knave!
Imagine that, programmers having to write efficient code for a change. These days, a "hello world" program won't even fit on a floppy after the required libraries have been compiled in...
as long as they code "duck pond" and put it in a cartridge so I can play it in my old Intellivision with the Atari adapter, I'll be happy...
mmmm, duck pond.. now with new color graphics!
http://www.babysmasher.com
http://www.openingbands.com
Ahh, but I seem to remember that developers used to do something called 'bank switching' in the carts.
They had more than 1 memory chip in there and they could switch to another chip.
Was it Activision that started using that trick? I remember that they had the shweetest games. A friend of mine got the first "extra memory" game, although I don't recall what it was. The one with chopper flying down the river, maybe?
And it was cool the first time I heard my Atari talking to me...(not imagined, really!)
We paid a buck a byte, and we liked it! None of them fancy schmancy kilobytes, and most definately not 20 of em! With 20 of em, we could've written programs to launch people to the moon, and get em back safely again! And still had room to fit the bible in too! Heck, we could've done that in 10! You kids these days and your fancy megabytes, and gigabytes... I bet you've never had to walk to and from school up hill in both directions, either.
From the article:
:(
According to Chris Larkin, developer of the Atari 2600 card game Kablamo!, each developer typically came up with a proprietary method of bank switching to increase the ROM size to an average of 32 Kbytes of code.
My 2600 died... All I've got left are the pong paddles (wheel things...) and some cartriges.
so says an old embedded assembly language guy. this new fangled software takes up way too much memory.
Insanity: doing the same thing over and over again and expecting different results. Albert Einstein
'A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600.'
Initially, games were 4KB. But there were also 8KB games (I believe on a single ROM, but I may be wrong) and with an extra chip in the cartridge to handle addressing games of 16KB could be squeezed in.
For instance, Solaris, which was the best gane ever. http://skintigh.tripod.com/atari/solaris.html
Less related: there were cartridges that I assume had 64 4KB roms. The first was a menu to select which of the games to play. I also assume this was done without permission of the copyright holders. Then there were tape drives...
...it also depends on how long the words are.
Well, if they didn't append your medical records to every Word file, it really wouldn't be that bad. :)
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
These people won't be Microsoft programers who don't know how to write tight code...
Seriously todays programmers aren't taught tight code... and giving yourself limitations like these you would have to. When write in the "popular" languages of today the overhead alone would kill the likelyhood of a programmer just "throwing something together".
Here is where Assembly is King.
Patrick Havens (Mr. 573333 to you.) Graphic Artist / Coder / Father / Journeler
You just need to do it right, as shown here.
I wish I haad the hardware/programming knowledge to make some homebrew carts on my spare time. It would be fun to make some games for my game.com, now sitting, gathering dust.
Now only if I could find the dial-up hardware/software thing for that. Would be fun just to see how it works.
Two word file in Word 2002, single letter file in Word XP ?
theefer
Incidentally, it's 128 bytes of RAM, not 256 bytes, and 4 KB of ROM. Though you could use bankswitching to get around the latter, and some carts had extra RAM chips to get around the former.
I see two angles here.
1. the number of programmers has exponentially ballooned since the early 80s, leading to a larger number of less godlike programmers, AND programmers have become more reliant on fat libraries and limitless resources, so coding something this small would bend my brain for sure.
2. game content has changed dramatically. q bert was weird. space invaders was weird. pac man was weird. (yes, sports games did exist, but they weren't mainstream then). games today are less weird. it's either a first person shootemup, sports, or a linear fiction w/some combat.
Focusing on #2, I'd like to see if there really is some creative game writing locked away in some programmer's brain out there, or if we've become a nation of UnReal, GTO, Final Fantasy, and Madden XFL clones.
I don't mean to put down these fine games, I enjoy many console games. What I'm trying to get at is the utter weirdness of what people come up with when severly limited by resources. Facsimile and simulation are out the window, so you really have to dig deep for a good game.
We'll see, I'm very interested in the outcome. Maybe the winners of the IOCCC should check this out.
https://www.accountkiller.com/removal-requested
$ wc -c empty.sxw
5057 empty.sxw
Still too big.
* 2D paddle motion
* horizontal or vertical brick orientation
* gravity in some modes
* "English" on the paddle/ball interactions
* single or dual player in competitive or cooperative simultaneous play
* sound effects (CPU generated)
* etc. etc.
Just before release, with 9 free bytes left, a bug was found. The initial fix would break the ROM barrier by 13 bytes. Yet another pass through the code doing the 4th or 5th optimization -- finally got it in and ended up with 11 free bytes.
Amazing what is possible in ASM but, boy, it was many 20 hour days!
So I understand those 'smallest executable' contests, but how much functionality does the executable really have? Or how much of the Word document is really information?
For most purposes, 355/113 is close enough.
While the 2600 didn't have much RAM, the cartridges contained all the ROM. A cartridge was/is free to supply as much RAM and ROM as it wanted. Most just supplied ROM. 2K may have been a standard size, but it wasn't a hard limit by any means. In many ways, a 2600 was just a 400/800 without a keyboard and very little RAM.
The RAM (256 bytes IIRC) was the real limit, since adding any RAM to a cartridge drastically increased the cost of manufacturing it. With only 256 bytes (no video memory), you have to do completely insane things like chase the electron gun across the screen to draw things.
Is this really a submission about writing 2600 games, or is it just more Microsoft flamebait?
I'm sure there are tons of file formats that even when empty take up what would appear to be "large" amounts of space. Never mind that Word is written for today's computers, for which 17K is hardly even noticed, hence there is little need to optimize empty files.
By the way, the newest Word has a built in versioning system. I'd like to know what options on this system were set when this 17K file was created. Also did the user choose to save any other information (Macros, etc.) with the file?
Like I said, this submission isn't really about programming for the Atari. If it was, the obligatory troll wouldn't have been there, and the article would never have been posted.
32K was an enormous amount of memory to have at your disposal on 80s consoles - [old timer voice]: seems to me like the Atari developers had it preeetty sweee-eet.
Dungeons of Daggorath was an amazing 8kb 3D maze game for the TRS 80 http://members.tripod.com/~Frodpod/index-2.html, Braben and Bell wrote Elite for 20KB of free memory.
That's what I call tight coding.
It seems to me that the Programming for the Atari 2600 is like working a Chinese Puzzle. Previously, I've wondered why not write new titles for MAME? It's available on multiple platforms and probably not so hard to develop on since it's emulating newer architecture.
BTM
That was the turning point of my life--I went from negative zero to positive zero.
It's hard for kids these days to imagine a PC with anything less than 128MB of RAM and a graphics card equipped with 32MB of it's own (512MB and 64MB are typical figures on newer PCs and graphics cards) but, back in the day, we got by just fine with only a few KB to play around with.
Sure, Tank and Space Invaders on the Atari 2600 weren't deep, multi-layered games but they did provide hours of fun. Similarly, Paradroid, Wizball and even Elite, the cream of the crop on the Commodore 64 would seem dull and shallow to most of the new generation of gamers used to the depth of Grand Theft Auto 3, Starcraft or EverQuest.
But, to those of us who were gaming back then, these titles were as immersive and addictive as anything available today. Hell, I still fire up VICE (the best C64 emulator available) to play some of those titles today, and not just for nostalic reasons - back then, without the flashy graphics and sound games had to be immediately playable and fun or else they just didn't capture the imagination.
Who remembers breaking joysticks waggling them back and forth playing Track and Field? Who remembers the pride they felt when they finally reached Elite status? Or when they completed Impossible Mission? The shear unadulterated fun of playing Pong and Breakout for hours on end, not giving a damn that the last five minutes weren't at all visually distinguishable from the first five?
It's funny, but even though I'm an avid gamer I've bought fewer games in the last two years than I have in any one year before that, going back as far as 1983. Partially this is because today's games have more depth to them, but mainly it's because there are fewer and fewer titles that really enthuse me any more.
The lack of originality in the games industry today is part of it - I haven't seen a truly original game since Populous - but, ironically, I don't think that today's games capture the imagination half as much as the games of yesteryear.
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
If you really want efficiency, use text.
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
How about porting Linux to the Atari? It probably has 0 encryption, and if it did it would use like what, a 1-bit key?
Why would anyone do this? Well try finding a computer with TV out on it at a pawn shop for 5.00!!!
Live in your world. Stay out of mine!
Ron Paul
Last week over lunch a developer posed a programming problem he'd been given on a job assignment. We all suggested a similar algorithm..then I went home and coded it. Then coded a more optimized one. And said I wanted to optimize it more. They asked me why it mattered that in one iteration I had two multiplication operations, and in the second version I had one. Why, because it's faster, of course. That's the sort of thing that's meaningless to an enterprise middleware programmer (for the most part), but everything to a game designer. Maybe you're doing this operation 10 million times a second, and every nanosecond you shave counts.
Hacking means working with the resources you have in the constraints you've been given. It's a shame that so many developers now would look at challenge like that and just dismiss it rather than seeing it as an opportunity to wake up some parts of your brain you don't normally get to use. Why must "solve it" mean "solve it once" instead of "give me the best solution"? It's a pretty safe bet that if you stop at one solution you haven't found the best one. Why be pleased with that?
Duane
"256 bytes? It's impossible to write a game in 256 bytes! I need over 100 bytes just to pull the A20 line high and enable extended memory!!"
- badly remembered quote from a rec.games.programmer who just didn't get it
www.HearMySoulSpeak.com
"A two-word file in Word 2002, for example, requires 20 Kbytes."
Did anyone else read that and think "10,240-BIT WORDS? What kind of workstation is that running on?"
is not really so much atari coding, but how about some reakes of old atari classics like texas chainsaw massacre? (yes it was a real game, and it was banned in the US for violence)
but seriously the atari had some good shit on it that would be fun to remake
kaens.blogspot.com
who cares? what, are they trying to port Microsoft Word to the Atari?
then i guess that's a humdinger. i'll be looking forward to their Oracle port...
Just raise the taxes on crack.
Although the limit must have frustrated programmers, I think it forced programmers to come up with innovative games. No wonder many people consider the Atari age to be the Golden Age of video-games.
Logic, macros, and more
What's even more scary than the 4K ROM limit is the 128 bytes of RAM. Yes, 128 bytes. 6502 assembly is easy, and the Stella chip architecture was an amazing acheivement. Read the Stella Programmer's Guide (available here) to be truly amazed at what it took those guys to develop games.
In my game I'm just at the point where I have a playfield, a moveable player, and one missile I can shoot. And that took a lot of effort. You know you're doing hardcore software development when you have to count cycles to make sure you're not computing when the electron beam is actually being drawn. You have 2700 or so cycles to work with "above" the television image per screen for computation, and only about 48 for each scan line before you start messing up your game image because you're still doing computation. It's interesting because you're tied to the physical progression of the electron beam across the TV.
--- witty signature
I and my team is still making a game for the abacus. It'll be very exciting and its name will be "Dude Abacus Forever"
By the way, we also published a second story last Friday on the connection between Microsoft's SPOT smart objects and a wireless games distribution platform from Atari that was field-tested, but never produced. (You thought the Xbox was huge...) With pics!
Doom has been ported to everythinge else, I can't wait to see the 4Kb version on the Atari 2600.
I had a copy of Super BustOut! I played it on my CoCo2! It was a lot of fun.
;)
Of course, I used to program in 6809 Assembler for fun, too.
Boobies never hurt anyone. - Sherry Glaser.
Here is a fairly comprehensive list of the homebrew games that have been released for the 2600 in recent years:
2600 Homebrew Search Results
And here is a list of games that are currently in development for the various Atari consoles. This list changes pretty frequently, and there are some projects not yet listed as the authors aren't very far along with them (Yes, I know that last link is listed in the linked story, just including it here for the convenience):
Titles In Development
A list of Atari 2600 games that have been hacked to change the graphics, sounds, colors, and more!
Atari 2600 Hacks
And finally, many games that were only released in either NTSC or PAL formats have been modified to work with the other television standard. This is useful for people who have the ability (such as through a Cuttle Cart) to play these binaries on a real television:
Atari 2600 TV Format Conversions
Enjoy!
From the article:
Support until 1997? Microsoft won't want us to know about companies that do that. My next OS will be from Atari! Or maybe an Amiga, because it looks there'll be a company called Amiga for the rest of my lifetime.
My first computer was a Tandy version of the Sinclair. It was $99.00 and I think it had either 2k or 5k of RAM.
I can remember typing in BASIC games out of computer magazines and it would sometimes take me hours of typing...only to run out of memory about two lines from the bottom of the code. If it did work, the game, often with really cool cartoon pictures in the magazine it came from, would look like a bad version of pong.
At a later time, I got a real computer. An atari 128 with an external 5 1/4 floppy drive that cost me almost 300.00 bucks!
Those were the days.
Usurper_ii
Ron Paul
'A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600.
.doc files becomes more significant as your harddrive gets smaller, but then smaller harddrives use smaller cluster sizes to offset this. Not that the average joe has a 40MB harddrive anymore...
So what? Those same two words in a 10 byte text file take up about 16-32k on a harddrive due to how disk space is partitioned to speed data transfer. Of course, the extra overhead in
This is just YAMST (Yet Another MicroSoft Troll).
The Microsoft comment took up a paragraph or two in a two-page article. Which was done apparently to just illustrate the difference between MS and Atari. There's more to life to just the Slashdot front page, you know. The links actually do something!
article heading, complete with the obligatory Slashdot dig at microsoft. You can post just about anything, and as long as you bash MS (relevant or not) it will get modded up to the main page. Good Job!
Manipulate the moderator system! Mod someone as "overrated" today.
Please change the background on your website. I am assuming that it belongs to you due to the name. It is very difficult to read the text with that background pattern.
Thanks,
John
Lasers Controlled Games!
Supercalifragulisticespialidocious.
Twice.
The most time-consuming aspect, Larkin said, was just the electronics, as he's a software programmer by trade. The cartridge includes over 180 hand-soldered points, and 135 connections. Larkin said he's also designed a basic vibrating "Rumble Pak" add-on for the Atari controller, and tested it, as well as a multi-tap device that allows 4 players to simultaneously play the 2600 console. Larkin has also asked Nintendo for formal permission to use a link cable to connect his Game Boy Advance to a Windows PC.
Why did he ask Nintendo for permission for connecting his GBA to a PC? There is no license agreement when you're buying a GBA. Is sending ones and zeroes to your own GBA is prohibited by the DMCA? If it is, doing so without Nintendos permission is called civil disobedience and should be encouraged.
The author of one of the 2600's greatest titles, Adventure (featuring the world's first easter egg) deserves to come out of his "retirement" for this announcement.
Be sure to read his presentation (sorry, PowerPoint file) to truly appreciate just how awfully limiting the platform was.
This was probably the most boring troll I have ever read. Seriously.
Think of ASCII art artists. They have limited resources, but combined in nice ways to achieve far more effects. Think Atari 2600 and Commodore 64's memory and disk areas. They only had some outputs for video and sound and generally the system was very simple. In Atari there was no OS (or an extremely simplified cartridge prog runner) and in Commodore, the V2 Basic didnt really provide any software provisions for use to the game code. One programmer could understand the entire Atari 2600 datasheet and make the best use of it, and be creative with it. He could also end up being an expert with his sources and development tools.
Today we have the entire development process so heavily bloated, even the OS needs teams to work on its various parts. The resulting code is therefore neither optimized to the MAX, nor too stable. Gaming aside, the computer industry is in a bad shape. Think of all the layers in an application server like Websphere, or an ERP system with say Oracle as a backend database. We cut the process in so many different layers and standardized the communication between the layers to try and achieve that kind of stability, but each layer is worked on by whole teams on a repository.
So the largest amount of time is shared between learning something new, some standard, protocol or language, exploring huge code repositories till you come across what you need, or debugging, which is all the more complicated. Theres so such thing as creativity among programmers anymore. Theres plenty of space, so just code according to the algorithm.
Free software programmers are exempt from this rule generally. They take their time, make sure they know the language theyre working on, and get creative, free from the control of a project manager or deadline.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
Finally ... the only safe way to view the goatse.cx picture.
The Atari 2600 homebrew scene just did lose out on a really great opportunity. Activision Anthology, which emulates a ton of Activision titles for the old 2600 on a PS2, was to have an online component which would allow owners of the PS2 disc to download homebrew games for playing on the emulator. That would have absolutely rocked, and I think it would have really given the guys writing these games the kind of credit they deserve.
You can read about that and other interesting bits about Act. Anth. in an interview with the Anthology producer Ken Love.
Curmudgeon Gamer: Not happy
I wore out so many joysticks playing this console. The Activision games were the best!
at 18kb for the Word *.doc version of my term paper and 8kb for the OpenOffice *.sxw version, I don't think either of them would fit on an Atari 2600 cart.
Granted, the OpenOffice file is merely bloated while the Word one is reminiscent of the restauraunt scene in Monty Python's The Meanting of Life.
when they get it to be a webserver. Probably wasn't IIS... there would probably be a record for fastest slashdotting...
didnt someone do that to a c64?
I would like to suggest we rename Gates's law to Jobs's law.
The first inklings of hobbyists developing for the Atari 2600 were back in 1992-1993 via a mailing list. Then the first homebrew games showed up a few years later, such as Edtris, Lights Out, and Oystron. Emulators really helped the scene to take off.
Arguably, if you're wanting to experiment with tiny games, then you'd be much better off using Python and Pygame. You could write an Atari 2600-style game in a week of off hours that way, compared with the months of cycle tweaking it takes to get even a simple Atari 2600 game up and running. While it's a noble technical challenge, it isn't a good way to fool around with minimalist game design.
Anyone remember the 2600 before it got that name. I had one. I think it was originally the Atari VCS. The name changed to 2600 around the time the 5200 came out. Had one of those too.
pneumonoultramicroscopicsilicovolcanoconiosis
smith
Not noteable, IMO a rubbish article.
A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600."
Well sure, but you can't Mail Merge a 2600 game now can you Mr Smarty Pants?
This
Believe or not, but there is even a competitive market for developing new Atari 2600 games. On top of the one mentioned in the Extreme Tech article, there is also the one shown at http://www.vgwiz.com that also provided bank switching solutions. Talk about resiliency for the Atari 2600.
For anyone interested in games of yesteryear in the UK (like myself), I'd recommend the Edge magazine spin-off Retro.
:)
:)
The current issue has a truckload of "The making of..." articles from Edge, covering a lot of games up to the early 90's, including: Space War, Asteroids, Battlezone, Civilization, Carrier Command, Populous and many others
I bought it today and it's excellent, IMHO
I hardly even need a comment in here. Atari 2600, I means seriously i thought slashdot claimed to report stuff that matters. Maybe this should be listed in the onion.
Anonymous Cowards - Oh God, How I hate you
Efficient code is not neccesarily judged by code size.
Which is more efficient, pushing a string onto a stack and calling a software interupt, or writting something which looks like:
print "Hello, world.";
I can tell you which one is easier to read and write by the humans. You can get a perfect shape for your screws by hand threading them, or you can have a factory which threads thousands of screws an hour (perhaps with the odd dud), which allows you (the human) to design a train engine -- not just concentrate on making that one, perfect screw.
Hardware can do so much, and it can do so much more each year. To not use that is a waste.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
I was the co-developer on the Atari 2600 versions of Jungle Hunt and Pole Position.
... but oh, what memories.
Yes, there were two players (8 pixel sprites) and two missiles (1, 2, 4, or 8 pixels wide, if memory serves.) And the "easy" way to set up a display line was to write the bitmap and position of the players and missiles during vblank.
However, there was an underhanded way of getting more than two players on a line, if they were separated by enough space (~12 pixels, if memory serves.) While the line is drawn, you keep track of where the "currently drawn pixel" is. When that location is just past the end of a player, you reposition the player to ~12 pixels ahead of the current position, and rewrite the bitmap. We (General Computer Company, a captive developer for Atari) could get up to 6 players on a line, if they were separated by enough distance.
Yes, I am dating myself
It's Linux, damnit! Pay no attention to renaming attempts by self-aggrandizing blowhards.
I once hacked together a "multi-line BBS expansion board for an Apple ][" that was 6809 based in 17 chips: 6809, 6883 DRAM controller (two banks of 32K), 2 64Kx4 DRAM chips, a 32K EPROM, three PALs (mostly address decoding), 4 2681 DUARTS (one on the Apple side of the bus, one on the 6809 side for a serial link between them, leaving a spare serial port on the apple side and five for modems on the 6809 side, and buffering chips for a fully independent backplane (separate from the Apple bus).
Coded the whole damn thing in assembler too.
Man, those days were fun! I think I still have that board (wire-wrapped, of course) for posterity. I remember the 6502 had this wierd read after write which didn't jive well with the 2681, so I had to disable odd address reads in the memory space of the card from the Apple side.
You could've hired me.
I mean, "beating" Impossible Mission? I always assumed that damn game was meant as some sort of joke... I didn't even figure out how you were supposed to PLAY it, let alone win! ; )
Here it is.
I hate people that talk about Word document bloat as if they know exactly what's going on when Word saves a document. "Look! A one word document takes 20KB! Word is crap!"
What people don't realize is that there's quite a bit of formatting information in there. Remember stuff like page size, margins, fonts used (sometimes fonts are compiled directly into the document - depending on your settings - so that when you send it to someone, they don't need those fonts to view it correctly). That's just global formatting. What about stuff like paragraph formatting? Font styles/sizes?
All of it can't come for 0 bytes, and maybe all of the above doesn't account for all 20KB, but I probably haven't touched on half the stuff that's there that people take for granted with a modern word processor.
You should never take life too seriously - You'll never get out of it alive.
A two-word file in Word 2002, for example, requires 20 Kbytes.
:(
So much for my brilliant plan to port MS Word to the Atari 2600...
I'd be more interested in doing something like this for my Playstation 2, plus it would be easier to burn CD's than cartridges. Anyone know if there is an SDK for Playstation 2? I searched the web briefly but couldn't find any info.
I once programmed a robot that had 16k of flash for basic code (it had an on-board interpreter), and 32 BYTES of memory. Since it was only doing one task, we were able to actually give it some learning ability, and do it only using 11 bytes of memory. We used a good chunk of the flash instruction space as well. While it is not hard to make a simple system very compact, they fact that the Atari developers were able to force an inherently complicated system like a video game to be sufficiently simple that it would fit into rather limited space is truly impressive.
WARNING: there is a trojan on your
Nine-tenths of a gig,
Biggest ever seen,
God this program's big:
MS Word 15!
Comes on 10 CD's,
And requires -- Damn!
Word is fine, but jeez:
60 megs of RAM!?
Oh, Microsoft, Microsoft, bloatware all the way!
I've sat here installing Word since breakfast yesterday.
Oh, Microsoft, Microsoft, moderation please!
Guess you hadn't noticed -- 4-gig drives don't grow on trees!
"To confine our attention to terrestrial matters would be to limit the human spirit." -Stephen Hawking
20*1024*8/2 = 81920-bit words.
That's a very interesting theory you have, that limited resources forced programmers to develop more original and creative games.
I think there's a lot of truth to it, and I hadn't really considered that before. (After all, if all you can draw without running out of resources is small circles and squares - why not create a game with a circular guy who has to avoid the "evil square creatures". )
I'm not so sure "weirdness" in games really sells today, however. Even if programmers dropped the simulations and the sports games tomorrow and went for weirdness and total creativity, I bet the general public wouldn't go for it.
The oddness of the Pac-Man, Donkey Kong, QBert, Qix, and other "classics" defined the era -- but it also dated itself. In 2003, people don't necessarily want to pay $40-50 for a new game that's just a glorified throwback to the days when game characters and plots were utterly bizarre.
lol, 24MB Install for "Hello, World!"
Over christmas break while I was back home, I decided to pick up my Atari 2600 from the attic and take it back to my college dorm. Now everyone is having a great time playing "combat" even though we have such fancy games as, "Sim City 4," "AoM," etc.
Funny how that works out.
dacs
Or better yet: The Word Processor Of The Gods
(my fave Stephen King short story...)
"Time is an abstract concept devised by carbon-based lifeforms to monitor their ongoing decay." - Thundercleese
Is that Doom 3 pixel shading engine frustrating you again?
Breathe.
Nobody's proven this "two-word document takes 20KB" assertion.
I think it's probably true -- but it doesn't have anything to do with Word. On a FAT32 filesystem, the block size changes depending on the size of the partition. On a 60GB partition, you could have a file with one byte of data on it, and it would still report as being 32KB big.
This sounds like just a cute way for somebody to knock Microsoft.
Breakfast served all day!
2600 101. Albert from AtariAge has eventual plans to give it a permanent home there.
Good place to get a feel for the basics.
SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
I read somewhere that the progammers that wrote the Legend of Zelda for Nintendo saved space by using instruction data from the cartridge ROM for sound effects! I always thought that was clever/sick.
cpeterso
Oh god. 20k!
Nevermind the fact that word stores tons of metadata with your document. It's not like a four word document takes 40k or anything.
autopr0n is like, down and stuff.
Because god damn, interleaving the sprites on diffrent frames was annoying as hell.
autopr0n is like, down and stuff.
A windows program with the MFC libs staticaly linked comes in at a whopping 170k, if memory serves. 1/10th the size of a floppy.
autopr0n is like, down and stuff.
a Word Macro for 2600 emulation.
Sam
Well, if they didn't append your medical records to every Word file, it really wouldn't be that bad. :)
Fyi our average electronic medical record isnt that big.(Unless you attach xrays or ekg data)
We have the best government that money can buy.
The problem is about bloat vs efficiency...
The problem is underqualified VB zealot who thinks they are masters of the universe, who thinks they know something about software design/architectural theory because they coded hello world when they were 6, and then ends up coding a big mess... vs the tenured Software Engineer who actually paid sufficient attention in class at an aCcReDiTeD engineering school, and puts thought into their designs to make them modular/extensible/etc... =)
PS: For those without humor, I was just joking, no need to send flames in my direction....
the problem is not about bloat vs efficiency...
Imagine a Beowulf cluster of those puppies! *ouch* *ouch* *ouch* But seriously (relatively), a cluster like that could replace the million monkeys and their typewriters who currently write most of the Hollywood scripts. The big production companies could cut costs and start making some money. I hear they're starving these days because of file trading. It might save the industry.
Thank you. Drive through.
The people that caused the problems before XML was "the Thang" will simply hack up XML in the literal and spiritual sense making it into what some complain is just extra bloat. Well duh! Of course it is, but it does't have to be that way. Its just a system/tool, not a buzz fest and not the magical elixer of productivity. The magical elixer of productivity is vigilant design and actual ENGINEERING (no, not people with degrees doing the development, but actually using a structured and effective method of design, analysis, implementation, test and deployment... what we have today is too many hack-shops) A cop who has spent any real time in the inner city will tell you to NEVER use a gang bangers weapon (as in, if it is ahem... borrowed from a turd and is now needed). Why, because the average gang banger doesn't know shit about proper weapon handling, care or just plain anything proper about using a weapon like that. The result could very well be the gun blowing up in your hand or face. Here we have software much like the gang banger's gun. You are taking a pretty big risk if you are basing your adoption decisions on showy, superficial aspects like the simple size/revenue of the company, the cuteness of the commercials (even if you don't admit it) or the slickness of the salesmen. Good buyers know how to look for relevant facts and while one theory is too often put as _THE_ factor in these decisions is the size of the company, the other negative effects of this as well as pattern recognition (and thus acknowledgement) of past performance. The downside of said big companies is the entrenchment of bureaucracy and the institutionalism of the entire concept through production to post deliverable support system. You end up with less product/service for more money. It is a curve... where up to a certain point it is possible to increase efficiency, but then you reach a sort of neutron cancellation of efficiency, product and support.
The industry will soon go through a reorganization stage (I am guessing) that will see the rise of many small companies and the shrinking of the behemoths... which will later witness the conglomeration. It is a continual cycle that feeds off of the trend/fad adoption nature of people as well as their inate ability to replace vigilance with complacence.
One day, one of the computer room girls (yes, there really were a few) asked me what all the Ctrl-T output meant. I explained as well as I could, including the part about the number of words of memory that the current job was using.
Then she asked, "What does the computer consider to be a word? Five spaces?"
She knew better, of course, and quickly realized the answer in an "oh duh" moment. But not quickly enough -- not before I, like a jerk, had already started laughing at her.
I never got to have sex with her.
There's a moral in that story somewhere, although whether it's about nerds, or being an asshole, or just mere stupidity, I'm not sure...
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
the C3NT1P3D3 worm that takes out half of corporate America's computer systems.
MSIE: The world's most standards-complaint web browser.
Anyone who's ever written some assembly can easily understand how much memory 20K really IS. Right now I'm making full games (with full ANSI graphics, artificial intelligence, pseudorandom software based random number generation, for zero/one/two players) on a Motorola 68000 with under 3K of ROM. If I had 20K, whew, I could do some REALLY neat stuff.
For those of you who make your living from programming, try this: Go to your boss and tell him that the project will take ten times longer than predicted because you want to write an optimized,memory efficient application.
Your boss will ask "Will it give the same result?", at which you reply "yes" and then he will ask "Why the hell do you want to do this?" and you reply "because I want respect from my fellow programmers".
Later that day down at the unemployment office, your assigned case worker will ask "why did you get fired", to which you answer "to save precious RAM!!!"
40K for a two word MS Word document? Ask anyone who has done any embedded assember - 1 programmer can write about a MB of tested source code in a year. I once saw a team of 20 people work solidly on an embedded project for a year = 20MB of hand-written assembler source code. This compiled down to about 40Kb of executable. Makes me wonder what they wrote MS Windows with and if a tool could be created to re-optimise the executables?
At least the 2600 has a 8x1 hardware sprite (or Player Missile for Atari computer fans) with collision detection, a two channel sound chip (somewhat like the Pokey), and a 128 color palette. Redefining the palette in each hblank did all those beautiful gradient backgrounds. Pitfall II had inside tha cart additional RAM, bankswitch ROM, and it even had something extra to do great music.
The original IBM PC had zero sprites (I lied, the cursor is a 1x10 sprite), no Vblank nor HBlank interrupts, a 1 bit DAC (speaker). At least you could reroute a timer to play a steady sound unlike the CoCo. And that absoultely dreadful CGA card.
The CGA deserves two whole paragraphs to insult it. The text mode is decent, it's a text chip. The characters could be redefined but IBM morons did not provide a way to do so. Graphic modes were a nasty hack redefining characters to simulate a bitmapped screen. (you only noticed that graphic modes were awfully slow). The 320x200 four color screen had predefined palettes of 16 colors in the worst combinations ever.
It didn't provided Horizontal nor Vertical interrupts.. You had to poll it (slow as hell) and it was absolutely needed because when both CPU and the display chip accessed video RAM the screen displayed snow! (like having bad TV reception).
The rest of the game consoles had more sprites, better screens, but they didn't really provide the limited flexibility the 2600 had.
Well it's hard to really comment about the size of word processor style documents, especially not those from Microsoft Word. First you have to consider all the information which has to go into a file like that such as font, size, color to name a few, which has to take up some space, and then you have to remember the structure of a Word file. Now I'm not a huge fan of the structure of Word files since it makes recovering them a serious pain, but it does allow for incredibly quick file saves under the office suite, and considering the complexity of adding newly edited text to the end of a file and then linking it together properly through modifying the header(preferably without having to move data, which is the point), you're not going to get small files.
Is this the tune to something we may know?
Good lord. All of you bitching about loose code and not being efficient. What is 100kb on a 120gb drive? How much does a 1000 word doc take up in word? 27kb. All of that 'bloat' is formating, version info, ect, ect. There is an initial amount and after that, it does not grow so much. Open a word doc in notepad or Vi to see what I mean. Don't get me wrong, I hate Microsoft as much as the next OSS developer, but don't make up information. Every developer's code should be bloated for one reason. When Joe Blow leaves the company, they want bill, george, and rob to be able to pick up where he left off. Very good comments, and good spacing will make the difference. In the end, most are forced to do this by their managment anyway. Servers with 4 2.4 ghz processors and 4 gb ram really don't care if your daemon or webapp is overweight. Don't give me that crap about job security, they are smarter than that now. That's my 2 cents, leave it the @#$% alone!
I've so many fond memories of Pitfall (the challenge was not could you finish it but how many times could you finish it on one man? Xbox can only dream of such replayability) and crystal castles and qbert and defender. I could go on and on. Thanks Atari.
SupercalifragilisticXPalidocious anyone?
y lphenylalanylalanylglutaminylleucyllysylglutamylar ginyllysylglutamylglycylalanylphenylalanyvalylprol ylphenylalanylvalythreonylleucylglycylaspartylprol yglycylisoleucylglutamylglutaminylserylleucyllysyl isoleucylaspartylthreonylleucylisoleucylglutamylal anylglycylalanylaspartylalanylleucylglutamylleucyl glycylglycylisoleucylprolylphenylalanylserylaspart ylprolylleucelalanylaspartyglycylprolythreonylisol eucylglutamiylasparaginylalanylthreonylleucylargin ylalanylphenylalanylalanylglycylvalyltheonylprolyl alanylglutaminylcysteinylphenylalanygllutamylmethi onylleucyalanylleucylisoleucylarginylglutaminyllys ylhistidylprolylthreonylisoleucylpriIylisoleucylgl ycylleucylleucylmethionyltyrosylalanylasparaginyll eucylvalyphenylalanylasparaginyllysylgyycylisoleuc ylaspartylglutamylphenylalanyltyrosylalanylgutamin yllcysteinylglutamyllysylvalylglycylavlylaspartyls erylvalylleucylvalylalanylaspartylvalyprolylvalylg lutaminylglutamyllserylalanyprolyphenylalanylargin ylglutaminylalanylalanylleucylarginylhistidylaspar aginylvaylalanylprolylisoleucylphenylalanylisoleuc ylcysteinylprolylprolylaspartylalanylaspartylaspar tylaspartylleucylleucylarginyglutaminylisoleucylal anyylseryltyrosylglycylarginylglycyltyrosylthreony ltyrosylleucylleucylserylarginylalanylglycylvalyth reonylglycylalanylglutamylasparaginylarginylanylal anylleucylprolylleucylaspaaginylhistidylleucylvayl alanyllysylleucyllysylglutamyltyrosylasaraginylgyc ylphenylalanylglycylisoleucylalanylprolylaspartylg lutaminylvalyllysylalanylalanylisoleucylaspartylal anylalanyglycylalanylalanyglycylalanylisoleucylser ylglycyserylalanylisoleucylbalyllsylisoleucylisole ucylglutamyyylglutaminylhistidylasparaginylisoleuc ylglutamylprolyglutamyllysylmethionylleucylalanyla lanylleucyllysylvalylphenylalabylvalylglutaminlylp rolylmethionyllysylalanylalanylthreonylarginylseri ne?
How about Methionylglutaminylarginytyrosylglutamylserylleuc
Longest English Words
Amen to this. I love the 3d eye candy look of the new game technology, but no games have any interesting of different gameplay any more. And my game buying has fit the same pattern as yours. The sad thing is, there doesn't have to be a conflict; the new hardware would really make interesting concepts like showed up in Crystal Castles, Marble Madness or Rode Runner's Rescue look and play fantastic, but instead we just get another karatte game and another first person shooter and yet another driving game.
I'm an American. I love this country and the freedoms that we used to have.
First bad case of it I saw was when a Fortran compiler that ran in 64 K of memoory on it's last release suddenly took over 1 meg of memory on a Data General computer. I called the lead programmer and asked why this had happened. He said to me that now that they had all of the address space of the new machines to work with they moved some resources around so things wern't as cramped. They really hadn't added any features. I tried to explain to him how the hardware he was programming on worked - yes, the new MV systems had a large address space; but if you crossed the 1 meg boundry every single address hit you made had to go through two page tables, at a very significant speed penality. And there was simply no reason that the less than 64k program should have crossed that 1 meg boundry. Sadly, I don't think the lead compiler programmer I was talking to ever understood the hardware enough to understand what I was telling him. The new hardware was fast, but would have been even faster if a lot of it's power wasn't wasted needlessly by ignorance.
It's similarly amazing that I have a faster computer, by orders of magnitude, next to my desk than the system that timeshared my entire university when I was in school. But thanks to Gates bloat, many tasks take much much longer than they should. And Windows disproves aby claim of stability or maintanability. The sloppy programming pratices of Gates bloat make it likely that my system may crash before I ever get this posted (lost one post yesterday that way). Hell, I could write a viable OS in less space than just the space taken by the dead orphan code that never gets execuited in Windows. And it's security problems, a year after Bill declaired an emphasis on cleaning up obvious problems like buffer overruns, makes it pretty clear to me that bloat isn't better.
Final thought:
I still remember helping Tom Hunter cary his South West (SWTP) computer system into our computer club meeting with 8 terminals (mostly TTYs). He had 4K of memory in there and 8 serial I/O cards. And when he booted it up, each of 8 users could select a game from a menu and play against the computer on that 4K system and some simple assembly code. And it didn't crash.
I'm an American. I love this country and the freedoms that we used to have.
Credit where credit's due. This is Mac-columnist David Pouge's work. This and other songs can be enjoyed at his homepage
"I tend to think of OS X as Linux with QA and Taste", James Gosling, creator of Java
I just created a 2 word MS/Word 2000 file - it was 20K too. MS products have been bloated for years and you just noticed it? If you want to see bloat try compiling "hello world" with Visual C++. I am sure Bill Gates owns lots of DRAM companies. By the way the record as far as I know is for a stripped gcc binary on an HPUX system - 903 bytes.
c'mon man.
Jingle Bells!
Doom for the Zx Spectum worked in 128Kbytes
I think a large part of it is the sound and image quality. If all you can draw is a circle or a square the only way to be different from all the other circle and square games is unique gameplay. You can only get away with so many variants on a theme before the gamers get wise and write you off as lame.
When you can differentiate based on more increadible graphics and sound, and a million different themes, variation on basic gameplay will become less important (to the developer and less jaded gamers).
If (and when) the interface to the gamer hits a technical wall (even if it's the limit of human senses), gameplay will become more varied again (probably after a year where new releases suffer poor sales due to being retreads).
There is little value in every single app being hand crafted in assembler to squeeze the last byte out of it. Assembler is hard to maintain, and time intensive to write and debug. The only reason assembly code seems to have less bugs than the rest is that it is only used where and when absolutely necessary. A good C compiler can produce more optimal code anyway these days.
Software progress will depend on building programs at ever higher levels with a solid foundation of lower level libraries and system code. Part of the problems we see in software now are because we are still learning what those foundations should be and where the borders between layers should be set.
Some of those problems are just part of the learning curve and some of it is created by artificial (to computer science and engineering) business and legal issues. Portability may cause things that belong in a lower level to be kluged on top, but it's issues of proprietary code and legal squabbles over IP that keep the kluges in place once they prove to be generally useful, rather than ending up moved to the appropriate layer.
Most code bloat seems to come from layer upon layer of APIs in libraries, often shoved under the rug by C++. What you think is just a simple method call can end up going 6 layers deep dereferencing pointers all the way. This can really show up when 'saving' a document is accomplished through serializing objects. If the objects make no effort to only save what cannot be re-computed upon deserialization and make no effort to conserve space the result will be unbelievably bulky. Of course, if all you want is some text, you should use a text editor rather than a word processor.
I do think that learning programmers should spend some time with highly constrained systems in assembly language. They may or may not ever program in assembler again, but they will learn a valuable lesson about what goes on underneath their code.
One interesting note, there is still a niche for programmers who code in assembly down to the bare metal. Some embedded devices need that sort of skill just to get them to do anything worthwhile. In the area of desktop and server, there is still the BIOS, where the developer faces the challenge of 64K (preferably less) of ROM and NO RAM AT ALL, just the CPU registers to work with.
BIOS seems to be the least efficient code in a PC (even counting things like Word). Good BIOS code (such as LinuxBIOS) often accomplishes in 3 seconds what it takes the OEM BIOS 90-120 seconds to perform. As long as new systems need to boot, there will be a place for assembly programmers who know how to make each byte count.