Re: [stella] Poker solitaire source, versions 012 & 014

Subject: Re: [stella] Poker solitaire source, versions 012 & 014
From: "B. Watson" <urchlay@xxxxxxxxxxxxxxxx>
Date: Wed, 28 Nov 2001 22:00:45 -0500 (EST)
On Wed, 28 Nov 2001, Roger Williams wrote:

> >
> > Hm, what will the TV do during this time? Do I need to turn on VBLANK
> > to keep the screen from flipping?
> It will be doing whatever it was doing before you turned on the VCS.
> It will be over so fast nobody will notice.  Turning on VBLANK first
> would be professional but I doubt you'd notice it if you just waited
> until you'd done the shuffles to go to INIT.

Whatever it was doing? Like showing white noise? Hmmm. The TIA won't spit
out any signal at all just from being powered up? I'll have to play with
this.. wait. Even if there's no TIA output, the RF modulator will be on..
Still, if I get a black screen, or rolling v-hold nastiness or whatever for
as long as it takes to do 200 shuffle loops, that's no biggie (about 50
cycles per loop, times 200, still isn't much real time!)

> > > 2. Shuffle at the normal rate until the button has been _released_ for
> > > at least 40-50 frames.
> > >
> > > 3. Continue shuffling until the button has been _pressed_ for at least
> > > 10 frames (debounce).
> > >
> >
> > So it takes a button press & release, an almost 1 sec. wait, then another
> > press/release? Or did you write that backwards?
> The idea is to catch the smart aleck who holds the button down while
> he powers up the VCS.  Most people take at least a second or so
> after powerup to get around to starting the game unless they're
> trying to screw up the game, so they'll never notice the ~1-sec release
> requirement.  Then, once you're assured the button was not held
> down on startup, you can accept a press and stop the shuffle.

Ah! Makes good sense.

> Yep, that's exactly it.  That way the state of the 2nd game depends
> on how long you took to play the first, a number nicely randomized.
> I also wouldn't reinitialize the deck -- use the output state of the
> previous game as the input state for the next shuffle.

Have to reinitialize the deck. It takes 52 bytes to store the deck during
the shuffle, then I `throw away' the last 27 cards (use them to store the
hand as it's being played, so they get initialized to BLANK_CARD). If I
had the RAM, I wouldn't do that.. I thought of initializing the deck to
a `random' order instead of sorted, but of course the `random' order would
still be hard-coded in the ROM, identical for every shuffle.

> It's more like an exploration of how thorough you were.  Many
> of the "easter eggs" triggered by "frying" the 2600 are actually due
> to bypassed initialization.

Meaning the program makes assumptions about the contents of RAM, or meaning
the init code somehow gets bypassed by the act of frying? I've never had
the slightest idea what goes on inside the 2600 during `frying'... seems
thoroughly random to me, but then I haven't done it much... if it's not
really random, I wonder how hard it would be to emulate? :)


Archives (includes files) at
Unsub & more at

Current Thread