Subject: Re: [stella] 2600 frying From: "Fred Quimby" <c9r@xxxxxxxxxxx> Date: Fri, 15 Apr 2005 17:08:00 -0400 |
My first attempt just randomized RAM and corrupted 6502 registers but I was unable to get some of the claimed effects (such as double shots in space invaders, white asteroids, game 0 in ET to name a few.) Also, I found that changing the PC almost always just crashed the system, and changing the SP sometimes did too, so I also removed any modification of registers for now. While these regs may indeed change when the system is fried, I wonder if changing the PC or SP is really useful. It seems that it will cause crashes or restarts almost all the time. My latest version, I randomly clear bits in RAM (1->0) and I am able to get better results, such as the white asteroids and double shots and some other effects that match documented claims but some effects remain elusive. I'll try to randomly set a few bits too (0->1) but fewer than the number cleared and see if I can get some of these other effects to appear. Actually, I've been thinking that instead of trying to accurately emulate frying behavior, maybe it would be better to let the user customize the "frying mode" in case they want to experiment with changing 6502 regs or whatnot. Maybe I can default to clearing and setting bits randomly, but let the user select the following frying methods: 1. RAM a. randomly clear bits b. randomly set bits c. randomly clear and set bits (default) d. scramble (all ram randomized) e. clear (all ram zeroed) f. no change 2. TIA regs (same settings as above) 3. 6502 regs a. scramble A, X, Y, P b. scramble all regs (including SP and PC) c. corrupt A, X, Y, P (only change a bit or two) d. corrupt all e. no change (default) Any suggestions on what else to add? >From: Erik Mooney <erik@xxxxxxxxxx> >Reply-To: stella@xxxxxxxxxxxxxxxxxx >To: stella@xxxxxxxxxxxxxxxxxx >Subject: Re: [stella] 2600 frying >Date: Fri, 15 Apr 2005 09:40:52 -0400 > >On Thu Apr 14 19:44 , 'Fred Quimby' <c9r@xxxxxxxxxxx> sent: > > >completely corrupted, just bits and pieces. But what was abundantly >clear > >was the normal 6502 startup sequence was circumvented. I know an Apple >is > >not a 2600, but there might be some insight here regardless. > >Yes, the normal 6502 startup sequence is definitely circumvented. Most >2600 games zero out RAM and the TIA upon startup, and if that >happens, the machine is reset to a known state, hence no frying >effects. So frying must do something to interfere with getting the >start vector from $FFFC into PC. I'd guess that there's still noise on the >bus when the 6502 tries to address $FFFC, causing the PC to get >initialized from somewhere else instead. > >Also, what exactly are you doing with the RAM? I wouldn't expect a >random sequence of RAM values to accurately simulate frying. More >likely, frying just flips a handful of bits in the RAM, and it may be >more likely for a bit to go from 1 to 0 than the reverse... > >- Erik >Archives (includes files) at http://www.biglist.com/lists/stella/archives/ >Unsub & more at http://stella.biglist.com > Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] 2600 frying, Erik Mooney | Thread | Re: [stella] 2600 frying, Adam Wozniak |
Re: [stella] 2600 frying, Erik Mooney | Date | Re: [stella] Random seed, Erik Mooney |
Month |