Path: utzoo!mnetor!uunet!husc6!uwvax!rutgers!topaz.rutgers.edu!wilmott From: wilmott@topaz.rutgers.edu (Ray Wilmott) Newsgroups: comp.sys.atari.8bit Subject: Re: 16K cartridge - How? Message-ID: Date: 6 May 88 03:04:02 GMT References: <2806@bsu-cs.UUCP> Organization: Rutgers Univ., New Brunswick, N.J. Lines: 27 Keywords: Cartridge 16K ROM RAM Well, I can't say anything for certain since I don't know for *sure* why Centipede isn't working when you move it to RAM, but I can say for *sure* that a lot of cartridges were copy-protected to prevent people from just dumping their code to disk and having copies being distributed. A few years back when I was more into hacking on the Atari, I decided to do just what you're doing - trying to get carts put onto disk files. Some worked fine. Others didn't work at all, or worked for a short time (ie - title screen or whatever) and then got garbled. So I started disassembling the code. Lo and behold, some of the carts had an interesting protection scheme - namely, they write garbage bytes to random (or specific) addresses of the carts residence ($A000-$C000?). If the cart is plugged in, there'll be ROM there, so writing can do no harm there. If the program happens to have been converted to RAM, well then it just gets trashed. Of the 15 or so carts I eventually transferred to disk, about 7 or 8 had this type of protection. Of those, only 1 had the actual "pokes" hidden in such a way that it didn't immediately jump out at you when you disassembled the code. The solution is easy enough: just disassemble the code and replace any code that writes to cart locations with a NOP (decimal value 234 I think). Good luck. -Ray wilmott@topaz.rutgers.edu