Reply 300 of 930, by FreddyV
@Root42 : I had the same problem with some Moby Musics.
I posted the Mod Master 1.0 Video with them.
Test GSlider with the new version, I corrected some problems 😀 (Vib Volume Slide and Tone Portamento Vol Slide)
@Root42 : I had the same problem with some Moby Musics.
I posted the Mod Master 1.0 Video with them.
Test GSlider with the new version, I corrected some problems 😀 (Vib Volume Slide and Tone Portamento Vol Slide)
FreddyV wrote on 2020-01-08, 21:35:As SB16 is added, I can try 16 Bit mixing. It can be Great for 286.
On XT, I believe that 8Bit with higher frequency will still be better.
It depends... 16-bit mixing will have a lower noise floor and less distortion, but 8-bit mixing allows higher frequency. So it depends on the speed of the machine and the quality of the source .MOD as to which would sound better at a given MHz.
If you decide to limit 16-bit mixing to 286+, you can try a completely different mixing algorithm, such as using MUL instead of table lookups. MUL is only 13 cycles on 286 for (reg8) multiplies, 21 cycles for (reg16) multiplies, and there's only a 3-cycle penalty for MUL (mem8) or (mem16). Or, you could take advantage of SHR reg,immed where immed != 1. It can really change the approach.
Tried the new version, plays some of my recent .mod transcriptions without crashing yes!!!
though i did notice my note delay/cut timing tricks don't seem to work for some, and pattern break to end a song seems ignored
Saving octave setting in the .cfg would be useful as I can't figure out how to keyboard my way there in a mouseless situation.
MobyGamer wrote on 2020-01-09, 04:28:It depends... 16-bit mixing will have a lower noise floor and less distortion, but 8-bit mixing allows higher frequency. So it depends on the speed of the machine and the quality of the source .MOD as to which would sound better at a given MHz.
If you decide to limit 16-bit mixing to 286+, you can try a completely different mixing algorithm, such as using MUL instead of table lookups. MUL is only 13 cycles on 286 for (reg8) multiplies, 21 cycles for (reg16) multiplies, and there's only a 3-cycle penalty for MUL (mem8) or (mem16). Or, you could take advantage of SHR reg,immed where immed != 1. It can really change the approach.
I fear that the mixing will be too slow to benefit from the 16bit. That is why I say it will surely be better starting from a 286.
I don't want to limit to 286, I mean that my player can also allow the 286 to do great things.
The problem of using the MUL is that we can't scale the volume as precisely as with a table.
SHR and SHL >1 add nothing in the mixing code.
The missing thing in 8086 and 80286 is the addressing with MUL: MOV AX, [SI+2*BX] : We are obliged to do SHL and SHR to read the volume table 🙁
I also think about changing completely the buffers management:
- Read the DMA @ to be able to use any Calculation buffer size with any Sound card buffer size.
- The same code can be used for any kind of output device, like Tandy DAC.
- We can decide to STOP the mixing more precisely If we want to reserve CPU time.
- We can start the Partition reading with any kind of Timer/IRQ
- The number of Mix Buffer will be dynamic and no more fixed.
I also made great discovery with the ESS chipsets:
- We can activate a DMA Mode where the sound card read the Bytes 4 by 4 : DMA Cycle is optimized and faster.
- We can use a FIFO to do REP OUTSB instead of using the DMA : It may be faster than using the DMA AND can work on PC Without DMA (Tandy 1000 EX)
The problem I have with ESS currently is that it is not supported under DOSBox and They are difficult to initialize on 8086 ( I don't know how PnP Works)
Then, I will try to have this implemented in the BlasterBoard 😀
leileilol wrote on 2020-01-09, 06:07:though i did notice my note delay/cut timing tricks don't seem to work for some, and pattern break to end a song seems ignored
Hi,
I Just test it does not work anymore on 88 funk Avenue anymore. (Note Delay Bug)
Tired to correct things that was working before… 🙁
leileilol wrote on 2020-01-09, 06:07:though i did notice my note delay/cut timing tricks don't seem to work for some, and pattern break to end a song seems ignored
Hi,
I Just test it does not work anymore on 88 funk Avenue anymore. (Note Delay Bug)
Tired to correct things that was working before… 🙁
Edit: Problem found, It will be in the next release.
Can you tell me more about pattern break ? Do you have the file ?
Hi,
If you want to see the SB16 Added value to Mod Master, I did a fast Video.
https://youtu.be/lJZU3vjrcLw
Sorry for the image Quality. It is winter, there is no light 😀
Here is my test with MODMXT14:
It works fine all the way, tested with the SnarkBarker. The 24 channel XM obviously is too much at 44kHz for my poor 25MHz 386. 😀
Stupid Question, but could it make use of a FPU too ? 😀
https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board
FPU would probably be too slow compared to integer computations. Since mixing doesn’t involve any sine functions or similar and the samples are discrete and not float, I don’t see any advantage in using the rather slow pre-Pentium FPUs.
Hi,
Thanks for the test 😀
As you can see, all the test report I receive help me to improve the Software.
FPU is useless as the calculations are done in integer.
Dending the calculation and taking back the result is slower than doing it directly.
Hi.
I am progressing in the 16bit mixing code.
I hope I finish it this week end.
I also improved the 8bit volume table precision.
😁
Nice,
thanks for explanation.
so a mod is basicly only some samples and some information on how to play it (order/channel.. etc ) packed into a file.
https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board
matze79 wrote on 2020-01-18, 22:38:Nice,
thanks for explanation.
so a mod is basicly only some samples and some information on how to play it (order/channel.. etc ) packed into a file.
It's instruments and a play sheet. Instruments can be more complex than samples alone.
All hail the Great Capacitor Brand Finder
gdjacobs wrote on 2020-01-19, 04:25:matze79 wrote on 2020-01-18, 22:38:Nice,
thanks for explanation.
so a mod is basicly only some samples and some information on how to play it (order/channel.. etc ) packed into a file.It's instruments and a play sheet. Instruments can be more complex than samples alone.
In XM files for sure. In basic Protracker MODs it‘s mostly sample plus info about loops. But no ADSR information. In Screamtracker you can also use FM synth instruments.
root42 wrote on 2020-01-19, 08:05:In Screamtracker you can also use FM synth instruments.
Interesting!
All hail the Great Capacitor Brand Finder
gdjacobs wrote on 2020-01-19, 17:28:root42 wrote on 2020-01-19, 08:05:In Screamtracker you can also use FM synth instruments.
Interesting!
Mod Master was able to play the .S3M adlib samples. But it does not work anymore after all the update I did.
I hope to be able to correct it.
FreddyV wrote on 2020-01-20, 22:43:Mod Master was able to play the .S3M adlib samples. But it does not work anymore after all the update I did.
I hope to be able to correct it.
Schismtracker claims to support Adlib instruments. Have you got an example mod I can test with?
https://github.com/schismtracker/schismtracke … xt/adlib-sample
All hail the Great Capacitor Brand Finder
There are some provided with Scream tracker 3
16 Bit mixing code is finally working.
DOSBox is bugged for 16 Bit replay with DMA 1 🙁
I also spent 3 day to realize that the 16Bit DMA use the same page as 8 Bit DMA (Bug in my USMPlay code)
Not tested yet on real hardware if 16Bit work on SB16 With DMA 1.
I now work to use 16Bit mixing for 8 Bit outputs.