After another day of debugging – the current inefficient Vectrex player seems to work good.
The demo song provided with the Arkos Tracker runs nearly 100% identical. The output can easily be compared, since the Arkos Tracker can output in YM data – and so can Vide. The comparisson can be done mechanical or automatically and looks good.
The demo song uses probably every feature that can be used with the Arkos Tracker.
Only two differences remain – and until proven otherwise – I don’t think they are my fault:
- The YM files generated by the Tracker retrigger the hardware envelope each time they start playing a new note. Even when the “Retrigger” flag is not set to the instrument. The documentation of the tracker says otherwise – and so does the actual provided Z80 tracker behave – it does NOT retrigger an instruments hardware envelope upon start of a new note.
- The other difference is exactly the opposite. When setting the retrigger flag – the player is SUPPOSED to retrigger the hardware envelope (and so does the Arkos Tracker itself). The provided Z80 Tracker does not do that. The Z80 player only retriggers the envelope when a new instrument is played (and either the retrigger flag is set – or another hardware envelope is used).
I “corrected” the Vectrex player that it honors the retrigger flag. So I think it at this point it might even be more exaxt than the original!
But – working with foreign code in an environment I am not used to (sound in general and z80 assembler in specific) – it migth as well be that I did interprete something wrong.
Anyway – the vectrex player is working good – now I have to optimize it – so it might actually be usefull.
But that I will do on another day.