Re: [stella] Perfect BIN copy protection

Subject: Re: [stella] Perfect BIN copy protection
From: Chad Schell <gamer@xxxxxxxxxxx>
Date: Sat, 02 Feb 2002 14:04:19 -0800

Ok,


I have to chime in here and correct a misconception I've seen posted on the Cuttle Cart a few times. It's roughly expressed in the following paragraph.

As far as the Supercharger/Cuttle Cart, we know
those devices were never meant as hack tools.  It
doesn't take much effort, especially if you are aiming
at 4K/8K ROMs, to build a RAM cart with write-
protect switch which will work *exactly* like a ROM
or, with the flick of a switch, *exactly* like an emulator
with RAM yet none of the control structures of the
Cuttle Cart.

There is no flaw in the Cuttle Cart's emulation of various ROM and RAM modes once switched to that mode. A cartridge that only has ROM, will respond only as ROM. There is no ROM/RAM confusion. There are also no extraneous bankswitching hotspots or anything like that. (Which is a problem with an unmodified Supercharger.) If you tell the Cuttle Cart to act like a 4K cart, it does just that. It becomes nothing more than 4K of ROM. It's the same as throwing the switch on the theoretical ram cartridge mentioned above.


The difference lies in the state of the processor flags and the 2600's internal RAM. With a standard cart, when you plug it in and turn on the 2600, the RAM will be in a random state. I'm not certain about the processor flags, but I assume they come up in a known state. The Cuttle Cart, in order to properly play the Supercharger games, puts a portion of the RAM into a known state when it starts the loaded game. It also sets the processor flags differently than set on a 2600 hard reset. I provided this known state to Thomas and Manuel at their request as they wished to be able to detect Superchargers and Cuttle Carts and disable them.

This preset condition will not affect most games, as they're not actively seeking out these values. The effect I figured most likely to occur in a game was that if they relied on a RAM value being random to initialize a random number seed, that the seed would always be the same after loading a cart. So far I haven't received any complaints of any obvious effects as a result of this, so it's apparently not much of an issue.

I have however, received numerous emails asking how to make Gunfight work on the Cuttle Cart. I reply to these requests that the author of Gunfight has specifically designed the game not to run on the Cuttle Cart, and they should go bug him if that bothers them.

Perhaps I should have monitored for SC modes and only set the RAM to a known state if they were detected, otherwise filling it with random values, thus making the behavior that much closer to the real thing. I could do similarly with the processor flags. But I did not, and the Cuttle Cart works just fine.

I did not design the Cuttle Cart with the intention of destroying the homebrew market. Personally I do not think locking it out will particularly alter sales that much. In my opinion, most of the people who would purchase a homebrew game, and who purchased a Cuttle Cart, will still purchase the homebrew games because they are collectors, they want to support the author, or both. Manuel apparently does not share my view on this however, so I was willing to provide him with the state to look for to lock out the Cuttle Cart. However, I asked that he inform people of this fact if he did it so that I wouldn't get lots of people saying, "Hey, why doesn't this game work." (However, the Gunfight ROM that's out there apparently does not work, and the word of this fact did not get around. - Sigh.)

Ok, so that last paragraph was a little off topic. I just wanted to correct a technical misconception about the Cuttle Cart. Also, as I think far too much energy is being spent to lock it out, I'll close with this hopefully sobering fact. It would be trivial to load a locked out game into the Cuttle Cart, unaltered, in such a way that it would not see the Cuttle Cart pattern. (And this is without altering the Cuttle Cart.)

You guys already have a simple method that will "prevent" games from running on the Cuttle Cart. As any more complexity will not make the work around more difficult, can we stop proudly harping about killer ways to disable the Cuttle Cart and move on?

Chad
============================================
Chad Schell
gamer@xxxxxxxxxxx
Like the Atari 2600?  Check out the Cuttle Cart.
http://www.schells.com/cuttlecart.shtml

----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread