FreddyV wrote on 2020-09-26, 16:39:You can see how mod master play Tandy .vgm here:
https://youtu.be/PKg762dr4kE […]
Show full quote
You can see how mod master play Tandy .vgm here:
https://youtu.be/PKg762dr4kE
I checked your file format. It is quite compkex and it is too much dedicated to the tandy chip. There is few room for improvement.
You use the frequency for reference for portamento and the tandy volume that is in log for volume slide > Too different from the protracker standard we need to rebuils a complete player for it.
Try to convert the partition and effects in my current player may be too longer than redo a full player in assembly.
You should have used a bigger volume range. You will be limitted for volume slide effects. I suppose it is not too late to change it.
I really recommend you to think about it.
The replay of the sierra file format does not seems to be accurate. The larry music sounds strange.
I need to see if it is worse to add this format as well.
My file format is based on the formats of typical Adlib trackers (Amusic, RAD). And I also used portamento according to the approach of FM trackers (seemed to make more sense as an orientation for a tandy tracker than sample based ones).
That the format is too much tailored to the Tandy sound chip, I don't really see. Only Noise is of course not playable everywhere.
But I agree with you about the volume. Of course it would be great to have more volume levels available for the volume slide. But how can this be done if the chip only supports 15 volume levels and you want to keep the possibility for a slow and steady volume slide? Of course I am willing to change something in my format and tracker if you know a good way to achieve this.
The sierra format should be easy to implement if your Player already supports VGM:
The Sierra format basically consists of raw data for the soundchip and delay values between them.
It is very well explained in the wiki of ScummVM: https://wiki.scummvm.org/index.php/AGI/Specifications/Sound
That the Larry music sounds wrong is due to difficulties converting the timing to a tracker format. One delay in the SND files seems to correspond to about 18 milliseconds and mapping this with a corresponding number of empty rows is not always 100% accurate. Depends on the timing of course. Hence the options to adjust the timing of SND files in my tracker.
With Green Sleeves (Kings Quest) for example, it's not a big problem because there are very long waiting times between notes. But with Larry or Space Quest there are multiple extremely short delays between notes . 110 Hz at speed 2 is a good value to play them (9 ms per tick). I originally had some problems with a speed of 1 (keyboard query failed then) therefore Version 1.0 does not support this setting. I have fixed this issue in the meantime, so in version 1.1. it is possible to use also settings like 55 Hz tempo with speed 1.
Benedikt wrote on 2020-09-27, 10:16:It would be interesting to know whether that thing can be compiled with FreePascal's 8086 backend.
This should be possible with some minor changes to the code (pointers have to be declared as far/near etc. and I had problems with case statements from TP/BP in the past when I tried Freepascal, this could be a problem here). I will test it on occasion.
MobyGamer wrote on 2020-09-27, 20:30:Don't do complex math inside a timer interrupt 😀 Calculate complex things outside the interrupt handler, then just refer to them inside the hander.
Good point! Thanks. I will change that in a moment. 😀