I think that we also need a 13 input NAND chip (forget the number) to cut the timer out when data = 000. We need rest notes!
I was thinking that since memory is limited we have a lookup table for notes. Limit the number of notes to 32 or 64.
Use the 8 bits of memory to store note and duration. For example tttnnnnn. 32 notes and 7 note durations.
note xxx00000 would be a rest.
Because the 32 notes would be generated from a lookup table they can be any note we want. We don't have to define notes not part of the song.
32 bytes of ram for notes seems like a waste. Maybe we only need 16 notes. Then we could fit two notes in each byte...
Its interesting...