VOGONS


Reply 300 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie

@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)

Reply 301 of 929, by MobyGamer

User metadata
Rank Member
Rank
Member
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.

Reply 302 of 929, by leileilol

User metadata
Rank l33t++
Rank
l33t++

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.

apsosig.png
long live PCem

Reply 303 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie
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 😀

Reply 304 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie
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… 🙁

Reply 305 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie
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 ?

Reply 307 of 929, by root42

User metadata
Rank l33t
Rank
l33t

Here is my test with MODMXT14:

https://youtu.be/08C2kQeXlFA

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. 😀

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 308 of 929, by matze79

User metadata
Rank l33t
Rank
l33t

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

Reply 309 of 929, by root42

User metadata
Rank l33t
Rank
l33t

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.

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 310 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie

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.

Reply 312 of 929, by matze79

User metadata
Rank l33t
Rank
l33t

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

Reply 313 of 929, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
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

Reply 314 of 929, by root42

User metadata
Rank l33t
Rank
l33t
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.

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 315 of 929, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
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

Reply 316 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie
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.

Reply 317 of 929, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
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

Reply 319 of 929, by FreddyV

User metadata
Rank Oldbie
Rank
Oldbie

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.