I experimented a bit with having slightly random frequency, but the distance between them at F=4 is a bit large. It ended up being rather distracting.
How about having a table of 4 or 8 good sounds (made in advance by you). If you increment an index into the table (AND it with #3 or #7 to wrap it around) during vblank you could play the bell sound based on the data at which the index is currently pointing. Its not truly random but because the number of vblanks between each hop will vary it should offer some sound variety.
It already has a decent PRNG, so getting random values isn't a problem.
The problem is not being able to vary the frequency since the sounds would end up being too dissimilar. Having thought about it a bit, one could perhaps vary the length and envelope of the effect -> some variation.
I actually changed the bell effect quite near the deadline. It used to be about 50-60% longer, which was a bit much.
I like this! It would potentially make a good "holiday cart".
What if the bells played a simple tune if you caught them all in order - like a music box? Just a thought.
Some more sound variety would be cool (e.g. randomize bell frequencies). A bit more polishing and this should go on cart and in the AA store.
You actually don't want to take all the bells since that wastes time and leads to not having a "rescue buffer" in case you miss one. But as RevEng said, it could simply be delay based.
There's very little ROM left for something like this (ROM which I need for fixes for an NTSC port), and it's quite a bit of a departure from the original.
Also, the snowy landscape is a nice touch. It's almost too bad it scrolls off the screen at the beginning.
I considered having some kind of background mixed in with the bells, but there's basically no time left in the kernel for that IIRC. It uses a two-part kernel at the moment.
There's also the issue of not being able to do anything in the repositioning code, leading to a kind of artifact when scrolling. This is what causes the stars to twinkle (apart from changing their color), which is still OK.
One other thing I've been considering is tweaking the difficulty a bit, such as dropping the bell width down to 1x instead of 2x (looks prettier too). That and small things like the bird speed and how often they occur.
Thanks for the kinds words and constructive criticism so far