Atari Centipede’s Hidden Code Trap
arcadeblogger.com
arcadeblogger.com
In common law systems such as the US and Canada, "beyond a reasonable doubt" is generally the metric used for criminal law. Civil cases, such as this, generally use preponderance of evidence; it's a much weaker standard, essentially meaning that whichever side is more than 50% supported by the evidence will win.
Doesn't take away from the interest in this code trap, but Atari did have a lower bar for success.
1: https://missilecommand.files.wordpress.com/2018/12/ilovepdf_...
.BYTE 2, 0BB, 5A, 30 (where 0 is dot and 1 is dash and nothing for a space)
.BYTE 5F, 0EE, 7D, 0A8 ; Morse code for "COPYRIGHT 1980 ATARI"
[1] https://www.binarni.net/2013/07/centipede/With all the ROM images floating around in the MAME/retro scene, someone can probably verify this.
00001280 a2 13 a9 ab 5d 20 21 ca 10 fa 85 fe 60 02 bb 5a |....] !.....`..Z|
00001290 30 5f ee 7d a8 20 b3 21 85 ae b9 c0 21 85 b0 a9 |0_.}. .!....!...|
The entire arcade game is contained in 12 kilobytes of code, BTW. (!) The amount of imagination and fun and replayability that this era of gaming delivered under such constraints (by modern luxurious standards) is mind boggling.But if you think of Centipede, Donkey Kong, PacMan, etc, their simplicity is that make them so great and timeless.
I remember I had BubbleBobble on the PC (back in the Amstrad PC 1512 days) and I would start and finish that game between 45-55 minutes no-matter-what.
It's a shame your refined senses can't appreciate the fidelity to game designer's artistic visions modern technology has brought to video games, the rest of us will enjoy them in your stead.
Things are getting better though. Before it was just the accepted status quo but at least now those clichés are being challenged.
Didn't imply it was?
02 BB 5A 30 5F EE 7D A8
00000010 10111011 01011010 00110000 01011111 11101110 01111101 10101000
C. ..O..P.. .Y...R.. I.G..H.. .T1....9 ....8... .0....A. TA.R..I.
*edit: formattingThe Mini Bros game is 2.5 kilobytes of high level source[1] so a fair resource comparison should either include FastBasic 3.4's runtime footprint (if interpreted?) and/or a compiled standalone executable size (if FastBasic is capable of it). i.e. ROM + RAM requirements to run on bare metal, including libary/runtime dependencies.
But my byte-counting pedantry aside ;-), you're exactly right to celebrate authors of such tight works that are still actually fun and attractive. I enjoyed the author's line-by-line walkthrough and dev journal. I know some modern programmers may not see the point in these apparently arbitrary competitions targeting old platforms but I really think there is wisdom and magic in this frugality!
[1] https://www.dropbox.com/sh/zj7u96etduyq6bv/AABfTzwMu3pqoNSNA...
Meanwhile, the original company was simultaneously being sued by Blizzard for blatantly knocking off the character designs of World of Warcraft https://blizzardwatch.com/2015/03/24/blizzard-files-lawsuit-...
”Steve decided that if a company copied the Mac ROM into their computer, he would like to be able to do a demo during the trial, where he could type a few keystokes into an unmodified infringing machine, and have a large "Stolen From Apple" icon appear on its screen.”
https://www.rollingstone.com/music/music-news/genius-google-...
"This trap consists of a particular data pattern. Only with the help of special code is it possible to read this pattern."
This is the key part of the story & it's totally unexplained. The blogger "Tony" just dropped it in there with no vetting at all, as if the method was self evident. Such is news in the new millennia.
The claim could just be bullcrap. Atari would have known that courts are tech-illiterate and the defendant might not have shown up for the hearings.
We weren't told what the pattern meant. I played with it for a couple of hours once; I knew it wasn't executable 6502 code or simple logical bit operation (NOT, reverse bits, etc.) of anything obvious. Morse code makes sense now.
Some coinop machines (Tempest, for sure) used character encodings so that the visible copyright messages were also executable code; changing the message, even slightly, would crash or have unpredictable behavior. In the case of Tempest, when the "final" ROMs were released to manufacturing, the dev team went on vacation while production ramped up. Some lawyer decided that the copyright message had to change, so they patched the ROM on the factory floor. Unfortunately this modification didn't lead to an immediate crash, but opened up a hole where the contents of the score line could do things like give you 100 extra lives (e.g., die with the low digits of your score being "50" and you'd be able to play for free for hours).
One question: why didn’t the Atari 800 ever take advantage of the double cartridge ports?
That port cost a lot of money per unit; Atari's early efforts were not very well cost reduced. If they'd been more aggressive about cost reductions (and improving I/O speeds) they might have done much better in the market against Commodore. Instead we got more unclear hardware directions (the 1200XL's "Help" key was a prime example of the hardware group just not caring about or talking to the software folks), even more expensive machines, and a bunch of work being done by outside contractors instead of inside staff because it was easier to build empires that way. The 7200 game machine (developed by General Computer Corporation in Cambridge, IIRC) was a surprise to most of us, for instance, and not a good one.
See this post at AtariAge about the motivation (https://atariage.com/forums/topic/71760-atari-400800-left-ca...): "According to Joe Decuir, the original idea Atari had for the 800 was that software would come with the base program (LEFT cart) and the add-on content (RIGHT cart). This way you could keep expanding an educational program with new lessons, for example. Plus, having the software in ROM would reduce the RAM requirements of the computer since nothing needed to be loaded. RAM quickly came down in price and many of the advantages of such a complex cartridge arrangement went away ."
In another case, someone made a knockoff system from the GameBoy which would play the same games. The games they released would show their logo, I think it was Game Fighter, but in the code it actually contained the Nintendo logo. Basically tricking the system into running a game with a different startup logo.
Was this intentional is order to make the pirated game not make money at the end customer?
It is a trap to ensure that the contract was fully read and complied with.
This sounds like patents or copyrights can grant monopoly on an idea. As far as I know, this is not the case. (Well, at least not in principle.)