Re: [stella] 2600 frying

Subject: Re: [stella] 2600 frying
From: Adam Wozniak <adam@xxxxxxxxxxxxxxxx>
Date: Wed, 20 Apr 2005 16:54:07 -0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 19 Apr 2005, Erik Mooney wrote:
> Interesting.  Both of those are almost certainly the random number routine
> getting stuck on producing all zeroes.  Many random-number algorithms just
> keep outputting zero if their seed state gets set to zero, including the
> bit shift register style of algorithm that works well on the 2600.  This
> could definitely be caused by RAM for the random number seed getting
> cleraed while the 6502 either kept running or had PC reset to bypass the
> usual startup init routine for the random numbers.

This is an interesting idea.

If I recall correctly, Pitfall! used a LFSR to determine the layout of the
screen.  That's why there are 255 screens and not 256.  I seem to recall 
disassembly being available.  It should be trivial to find out where in RAM
the value is stored, and set it to 0x00.  This ought to yeild the same
screen, over and over again.

The correllary for other games would be to guess whether they were using an
8 bit or 16 bit LFSR, and try setting each byte or pair of bytes in RAM
to 0x00 or 0xFF (sometimes LFSR state values are stored in complement form).
Since there are only 128 bytes of RAM, it shouldn't take too horribly long
for someone to explore this kind of defect.  I seriously doubt a memory
conscious game programmer would have felt the need to resort to a 24 or
32 bit LFSR.

- -- 
adam@xxxxxxxxxxxxxxxx        http://cuddlepuddle.org/~adam
KG6GZR                       http://cuddlepuddle.org/~adam/resume.html

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFCZsE0yvXf5Z0z5zERAr9PAKCtp3OQlLYcI8MJhON2X/e6HtArzACfaNwJ
ifX5QSwda3psZmtvoXlp56U=
=XC1P
-----END PGP SIGNATURE-----

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

Current Thread