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
                                               --

Reply via email to