[stella] Qb: v0.04

Subject: [stella] Qb: v0.04
From: "Andrew Davie" <adavie@xxxxxxxxxxxxx>
Date: Fri, 16 Feb 2001 22:40:29 +1100
Here's the latest version of Qb, v0.04, and the source code (zipped).

Things are looking up!  I tracked down the bug with the phantom cube
appearing.  That was the last of the true bugs of which I was at that stage
aware, so I started to put in a few things I've had on the backburner for a

This version actually runs on an actual PAL machine.  I do not know if it
works or not on an NTSC machine (anyone?).  It does, however, seem to do OK
on Z26 and PCAE.  Mac users should recompile the source, exchanging all
"lax" instructions with "lda" - this will give a buggered score display, but
that's all that will be different.

I've worked on the speeds, now that I have an actual machine setup.  It was
waaaay slow/wonky.  Now it's zippy, and (dare I say it) just about the speed
I'll have it in the final version.  There's actually a bit of fun creeping
in.  Or interest, which a precursor to fun ;)

The big new feature:  there's a target-pattern change every now and then;
the border of the target area flashes for a while before the change actually
happens.  At the moment it's a constant time - but this will vary based on
the level you're playing at.  It gets very frustrating when you are just
about to slide the final cube into place, and the pattern changes.  This
speed of change is one of the fine-tune adjustments for later.

I've adjusted the jump a bit, but its not the final version.   Lots of work
to do on the player mechanics.

Thanks to all who have reported glitches, bugs, etc.  I'll address some of
those issues below.

Kurt Woloch's comments...

* the sliding/jumping speeds are now much better.  Agreed?

* flashing of blocks is now coordinated.  In fact, the other system was
deliberate to highlight the individual nature of the blocks - but it was a
failed experiment, and the new 'target pattern change' meant a rewrite of
this code, anyway.  So I'd already pre-agreed with you, and it works OK now.

* bonus counting will not be implemented.  It added little to the game, and
would be too costly (RAM) for me to implement on the 2600 version.  No loss
to gameplay.

* Diagonal jumping was in my early plans, but actually the game plays much
better (ie: trickier) without it.  I've now encoded all directions as 2
bits, so there's not much room for diagonals without extensive rewriting.  I
*REALLY LIKE* the game without the diagonals, so... unless there's an

* Blocks already in the level.... I honestly don't recall this one.
Strange, I must investigate.  It's an OK idea... but sometimes you spend the
first half of your 'completion time' feeding in the blocks and then
frantically try to get them to the correct pattern in time.  I like this as
it is.... but I'll keep the possibility open.  One for fine-tuning.

* Display of final pattern before next level... yes.   I'll get a round
tuit.  I plan to flash the main screen blocks a few times, etc.

* Atari800 version on NTSC.  No, it was never tested on an NTSC machine -
and only a year or so ago that I discovered it didn't actually work under
NTSC (which was a big surprise).  Hopefully I won't emulate THAT feature ;)

Eckhard Stolberg's comments...

* The bin is now assembled to an origin of $F000.

* Occasionally a frame is one line too long or short.  Known bug, which I'll
leave for a long time and hope it goes away.  Actually, I just need to put
in a few WSYNCS here and there.  Current version is much better (I think),
but there's still a few of these glitches.  Definitely must be fixed before

Many thanks to Eckhard for his continuing support and feedback.  Thanks too,
to everyone who's had some suggestions/input.  Also many thanks for the
suggestions regarding wasting a single cycle.  Some were truly excellent, my
favourite being positioning the branch over a page.

Soooo.... now this thing is starting to feel a bit like the original.  Still
no creatures, so there's not much 'gameplay'.  But I, at least, find myself
spending a few minutes going through screens and making the patterns match.

As usual, comments most welcome.

I have one question for the group:  how many of you are actively looking at
my source code?


 _  _  _| _ _        _| _    * _                               _  ,
(_|| )(_|( (/_\/\/  (_|(_|\/(_(/_                           ,~' L_|\
                                                         ,-'        \
see my Museum of Soviet Calculators at                  (            \
http://www.taswegian.com/MOSCOW/soviet.html              \    __     /
                                                          L,~'  "\__/
                                                              @--> v

Attachment: qb004.zip
Description: Zip compressed data

Attachment: qb004.bin
Description: Binary data

Current Thread