At 8:43 pm +0100 30/5/00, I wrote:
>At 3:13 pm +0100 30/5/00, Howard Price wrote:
>>Course, I had to work
>>out how long each piece was before it looped, and then reset your player,
>
>Er, how do you mean?
Actually I've just had a look at this and it turns out to be a really
simple bug. The fix is changing two lines of the PT_PLAYER source, which is
distributed with the compiler (or should be).
Find the two lines starting at the BEGINSONG label:
BEGINSONG: EQU $+1
LD DE,32768
Take them out, and replace with
LD DE,(RESETPLAYER+1)
Simple. No changes to the compiler, so you don't need to recompile your music.
FWIW, the original version would be marginally faster (save a few entire
t-states once every several minutes... Hurrah!) except I forgot to ever
initialise the value of (BEGINSONG) in the RESETPLAYER routine. D'oh. And
the reason I didn't pick it up immediately was because, while writing and
testing the program, I always compiled the music at 32768. Oops.
Andrew
--
--- Andrew Collier ([EMAIL PROTECTED]) ----- Can't think of a quote
---- http://mnemotech.ucam.org/ ---- So I write haiku instead
----- Part 3 Materials Science, Cambridge --- That should do for now
--