HELP ME !!!
ZXNet echo conference «code.zx»
From Aleksandr Majorov → To Ilya Abrosimov 2 December 1999
Hayushki, Ilya!
Somehow on 11/29/99 at approximately 00:19:26 someone Ilya Abrosimov reported
for All that "HELP ME!!!"
[ ]
IA> We urgently need an AY music player (any editor), which at any time
IA> time spends the same number of cycles (i.e., always to the maximum).
IA> If one exists, then tell me plz.
Yes, such a thing exists.
Just write it yourself.
The player itself is small, but the Mouzon file is awesome!
What's funny is:
where to spend different time in players?
correctly, on the interpretation of commands.
And if you keep the value of all AY registers in memory
at a given point in time, then your player will only have to
stuff these numbers into AY and everything...
i.e. like this:
MUS_ADR EQU $+1 : LD HL,music_address
LD E,13
LD C,#FD
LOOP LD B,#FF
OUT(C),E
LD A,(HL)
LD B,#BF
OUT(C),A
INC HL
DEC E
JP P,LOOP
LD (MUS_ADR),HL
and this is what you call in the interrupt...
You ask how to create an AY dump?
You take the compiled music, look for a place in the player,
where register values are written.
In all players, AY values are first calculated,
and then these 14 bytes are quickly stuffed into AY.
Then, at least in BASIC, you write this:
1) play a note
2) copy 14 bytes of the AY dump to your bufferrepeat as many notes as you have...
IMHO this is the only player option that
the same number of cycles is processed...
Besides, it eats few cycles ;-))))
In principle, you can introduce compression...
Well that's it *MAS* with a sledgehammer