[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Music Construction Set manual?



On Thursday, September 20, 2012 9:14:32 PM UTC-7, Hot Rod wrote:
> 
> 
> Now, to stop it, you do a $C40E:40 <return>, but this will leave the last two notes still playing.  This is where the PRIMARY file comes in.  To stop each note, do a $9021G and a $904DG.
> 
> 

8500-   4C B1 85    JMP   $85B1    JMP INTRUPT
8503-   4C 7C 87    JMP   $877C    JMP INIT
8506-   4C C8 86    JMP   $86C8    JMP INITMOCK
8509-   4C 3D 87    JMP   $873D    JMP SONGADDS
850C-   4C E0 87    JMP   $87E0    JMP PAUSE     $87E0
850F-   4C F3 87    JMP   $87F3    JMP CONTINUE  $87F3


I haven't checked, but $87F3 and $87E0 might be able to pause/continue playing as well...  


The PRIMARY file doesn't have to be loaded to play music... 

This works:
BLOAD MCS, A$8500  
Bload Music,a$4000 
poke 34066,tempo
poke 34067,decay
Call 34051



> 
> At $8514-15 is the lo/hi address of treble clef portion of the song, 
>while at $8516-17 is the bass clef (I think; could be swapped). 
>  In theory, if you wanted to load the song file into $1000 instead 
>of $4000, should just be able to change these values (e.g. FE0F and 
>7E14 instead).  I didn't try it though.

I was thinking the length of song might be able to be changed as well, by changing where the "bass clef" is stored.  The end of song data is indicated by both note and duration being = 0.

> But with this info, I was able to LOAD the CANON song from MCS, BSAVE it to another disk, MCS created just one file at an address of $1000, length of $900, which I was then able to play via the Mockingboard MCS file.
> 

Neat!  

Rich