Code:
n = # of beats
T = tempo in BPM
c = # of cycles from 0x0000 to 0xFFFF
256Hz*65536clks = 16,777,216Hz
65536clks/16,777,216Hz = 0.00390625s
0.00390625s = 1 / 256s
60s / 1 / 256s = 15360s^2
(n-1)*15360s^2 / T = c
modx(15360*(n-1),T) = 15360*(n-1)/T - floor(15360*(n-1)/T)
[B] seed[/B](n,T) = { modx(15360*(n-1),T) }*65536
n = t*T/60
where t is the elapsed time
in this post I found the time length between the first button press and the turn over to the intro starting up again was roughly 224 beats at 256 BPM.
224/256 = .875, .875*60 = 52.5 seconds from the button press to start the "press start" screen, and stop the intro, until it starts up again.
52.5s*256 = 13440 times the game overflows seeds from 0x0000 to 0xFFFF, during the time between the button press to start it and when the intro starts up again.
you have 13440 chances to hit your target seed, out of 880803840 possible starting places
1 / 65536 odds isn't good. Factor in inconsistency issues, where you press the first time, and with a metronome, inexactness of the formula hitting beats, and you have an almost impossible chance to hit the same seed twice or more.
so we have the problem of where you start the first button press; well let's take a look at this mathematically.
we know that before the intro starts up, nothing important is going on. We'll call that time length t1. If we reset on the first beat of a measure(in musical terms) then the number of beats that occurs is:
t1*T/60s = n1
this is constant; the length of time between reset and the intro doesn't change. What comes next is variable, because of the user pressing a button at various points to stop the intro.
t2*T/60s = n2
so the time length between where the intro starts, ie after t1, and where the first button press is, is:
t2-1 = (n2-n1)*60s/T
we need to figure out a formula that utilizes the above equation, in order to figure out how the placement of the first button press affects the seed generation.
EDIT1: t1 is approximately equivalent to 16 beats at 256 BPM, which is 3.75s in length
Now we have t1 and the length of time t0, which is 52.5s.
we can break up t0 into two segments, the first skippable, the second fixed in length.
that brings me to another question we must discuss:
does pressing A to skip the intro into the "press start" screen affect the generation of the starting seed?
I'll edit more into this post if I discover anything.