My head is smoking!
The last couple of days I got very intimate with the Arkos Tracker.
I thought about transcoding the player for AKS files (binary version) for quite some time – but never actually came around really doing it.
A couple of days ago I thought I would give it a try. I never coded the Z80 before – and after transcoding the player I can only say – I hopefully never have to. Programming for so long on a 6809 really makes me kind of a lost cause for a Z80.
The transcoding is not finished – I have to do way more testing. The only music I tried yet is the in game music of “Release” – and that is a single channel non special effects using piece of music – can’t get more easy than that. That music plays as of now nearly 100% identical. I have to try a whole platoon of other music pieces and do WAY more optimization.
As of now I am glad I got it working at all. The original Z80 player virtually uses no “extra” RAM. All kinds of variables and data are within the code. The player was written for CPC/MSX or Spectrum COMPUTERS which have all the RAM in the world – the code makes heavy HEAVY! use of self modification – I had to allocate quite a few bytes of precious RAM to circumvent that. But as said – I did not even start to optimize – so it naturally is quite slow (hehe I won’t tell you HOW slow though).
If I get that player into a usable state (that is fast enough) I also have to write a “converter” for the bin files. As of now they:
a) contain fixed addresses where the song is placed in memory
b) addresses and numbers are little endian coded
For both things it would be unnecessarily wastefull to carry around and handle in the player code on the vectrex. But other things first…