VOGONS


Reply 140 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

I did continue to work on the player.

I corrected the COVOX Output, BUT it works fine on DosBox, but not on the PC1640. 🙁 I will surely need lot of time to debug this...
6 Octaves for .MOD added, the EHA-CH7.MOD file play correctly.

Internal changes in progress to separate the Audio code from the interface (To do a sound library)

Reply 141 of 352, by MobyGamer

User metadata
Rank Member
Rank
Member

I've been doing some testing with v9 and it pretty much solves all the playback bugs that I would care about. There's one .mod that plays just a hair too fast because the BPM is off by a fraction (maybe need to DIV CX BPM calcs too?), but it's not enough to worry about. LIBERTINE.MOD plays perfectly 😀 I did encounter a notes-not-played bug with ALBINOSE.MOD in patterns 9 and 11 but when I rebooted it went away so not going to worry about that for now. LIVE.MOD still has that arpeggio bug but you know about that already. Otherwise, I have no complaints 😀

Protracker can officially have samples up to 128k. I found a (very nice) .mod that has one sample over 64K. For fun, I tried to play it with V9 and the results were hilarous 😉 Assuming you only use a 16-bit index register for addressing samples, one possible solution would be to halve the sample data during loading and cut the frequency in half too. This would allow the .mod to load and play although that one large sample would be at reduced quality of course. Another solution is to load the 128k sample anyway and modify your segment register appropriately when you address the sample. I've uploaded ftp://ftp.oldskool.org/pub/misc/Audio/testmods/animated.mod if you want something to test with.

FreddyV wrote:

Internal changes in progress to separate the Audio code from the interface (To do a sound library)

Woohoo!! 😁

Reply 142 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

Nice.

So I Will lot hear about libertine.mod Again.

Increase the bpm accuracy require to reduce the mix buffer size . This will slow down the mixing speed too much.

But it is easy to do with the gravis ultrasound.

Sample compression is something i am thinking about but with a low priority

Reply 143 of 352, by MobyGamer

User metadata
Rank Member
Rank
Member
FreddyV wrote:

So I Will lot hear about libertine.mod Again.

Nope, it's fine 😀

Increase the bpm accuracy require to reduce the mix buffer size . This will slow down the mixing speed too much.

I don't understand... Speed is how many ticks per row, and BPM is the tick rate. To change BPM, you change the tick rate frequency from 50Hz to something else, for example:
HZ = 2 * BPM / 5
So, the default 125 BPM = 50 Hz.
So for a different BPM you calculate HZ above and then set PIT channel 0 to (1193182 / HZ).

Why would you have to reduce the mix buffer size?

Reply 144 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

I was on holiday for 4 days, not time to code.
I just Finished to debug Covox.

I was playing the music with the module frequency set to an high value, and I did not clear the D flag somewhere.
Then, covox play correctly at 12/13KHz with 4 channels MOD on the PC1640.

I did not succeed to test with GLX, I probable don't use correctly the /oC parameter.

About the BPM, I start the partition reading at each SB IRQ.
IRQ frequency is Sound Blaster Frequency / Buffer size.
-> Change the BPM at a fixed output frequency requires to change the buffer size on the fly.

You can check the code to see how it is done 😀

Reply 145 of 352, by MobyGamer

User metadata
Rank Member
Rank
Member
FreddyV wrote:

About the BPM, I start the partition reading at each SB IRQ.
IRQ frequency is Sound Blaster Frequency / Buffer size.

Ah, I see. I thought each buffer was exactly one row's worth of sample data.

You can check the code to see how it is done 😀

True, but I can't submit any fixes back to you 😀 But I'll think about other solutions to this problem.

Reply 146 of 352, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

I noticed that when trying to play ULT files with 16-bit samples, playback is completely wrong on UltraSound. You mentioned that you aren't officially supporting those formats, so why not refuse to load them? Dealing with 16-bit samples on anything but UltraSound would likely mean re-writing a good part of the playback code, as well as performance problems on an XT.

If you're even interested in trying, does your GUS code do the necessary address translations for 16-bit samples?

Reply 147 of 352, by root42

User metadata
Rank Oldbie
Rank
Oldbie

Back from vacation and now I could test out ModMaster XT build 9. Here is the Pinball Fantasies intro, Steelchambers 2:

https://youtu.be/9fbGwKakdgM

Sounds quite good I think. I do not think I need more than 44 KHz, however the 8bit output leads to quantization noise I think. This won't go away with higher mixing frequency, I think. The software is getting more and more impressive. Now we need to make the whole software more well rounded. e.g. 43/50 line mode, showing of up to 8 channels or so (I can only ever see the first four).

Bonus: Adrenaline (Pinball Fantasies menu music):

https://youtu.be/Hw-jEB8G_8k

EDIT: Space Debris at 62KHz: https://youtu.be/WX8_8ZHSxfw

Better than I expected. Still some quantization noise can be heard, but incredibly well sounding for an 8 bit card!

YouTube and Bonus
80386DX@25 MHz, 8 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & BlasterBoard, PC MIDI Card + SC55 + MT32, XT CF Lite, OSSC

Reply 148 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

Nice !

You should post it on the BlasterBoard Thread.
On the blasterBoard, it sounds close to what we hear under dosbox.
Did you think about increasing the volume ?
In Stereo, the sound is better as there is one bit more for each sample.

This Week end, I tested the Atari PC2/Gravis Ultrasound Combo on more professional speakers, the sound if awsome. 8086 4MHz....

What do you like in my player ?
As already said, there are better player for 386, but the Maximum frequency is probably lower with them ?

I will continue to have the code simplified/More reliable and usable as a sound system.
Then, I believe it can be simple to put it back in the Mod Master 2.3 interface and put back some (Minimal) 386 code to speedup the mixing on these machines.
To have at the end, Mod Master XT and enhanced Mod Master 2.3+ with optimizations and bug correction.

Reply 149 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

Hi there,

I finished the code modification for the Period, there is now one byte for each note instead of a Word.
I also removed the volume from the partition for .MOD files.

It is now able to play DOPE.MOD, if there is UMB Memory installed.

To test on the 8088, I modified the code to not load all the patterns.

https://www.youtube.com/watch?v=DcP1QnfCVvw&t=232s

With new speakers, this sounds quite nice (Recorded with my phone) 😀

Arpeggio still not work, I need to find where is the problem.

PS: My Atari PC2 now had a Gravis and a Sound Blaster installed 😀

Reply 150 of 352, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie

Which Version will work on my Tandy1000RL/HD? thx Doc

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 151 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

This tandy has a DMA DAC ?

Tandy DAC is possible if you replace the LPT1 address with the Tandy DAC Address.

But I still need DOC, and infos fot the Tandy DAC in DMA.
I can't use the DAC Interrupt.

Reply 152 of 352, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie

It's an RL/HD and I see "internal" as sound-detection. The TandyDac does not work.
Also "setdac" before starting Modmaster does not work.
What do you need? Documentation for the Tandy-Dac?
Thx Doc

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 153 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

I found some source code , a Tandy 1000 Module player, tantrackr and Extracted DOSBOX Tandy code as well.

Do you know this player ? Does it work well ?
I checked its mixing code, it is surely really slow, like 3x slower than Mod Master. (It does the mixing in 16 Bit, but it is useless if at the end, the output is at 10KHz....)

I need to test under DOSBOX, and of course somebody to test on the real Hardware.

I know that If I do this I may make lot of people happy there in the USA .-)

Reply 154 of 352, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie

Currently I use this "tantrackr" and the "cga patched glx" with "setdac-patch" for playing MOD-Files on my T1000RL/HD.
I would love to have a player with native tandy-support which can also play s3m korrekt on my setup; that would be NICE 😀

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 156 of 352, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie

No, the Tandy will always be equipped with a XTIDE, because I need space to store software on.
Much more than the 20MB the original harddrive can fit. So I do not have any option of putting
other cards in the only 8Bit ISA slot the Tandy1000 has.

https://www.flickr.com/photos/94839221@N05/al … 157659228835886

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 157 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

The Tandy player does not detect the Tandy DAC under DOSBox

Ok…. It looks like the Tandy DAC DMA has a fixed buffer size of 1024 (Or 2048) Bytes.
Need to configure an interrupt (50Hz or more), to Calculate the buffer and check the Tandy DAC position.

It is not that simple…

Still checking the Tandy player code.

How can he do this to cleanup the buffer ?

RSAZ_FILLLOOP:
STOSW
ADD DI,2
LOOP RSAZ_FILLLOOP

And he wrote this in his doc:

There is a guy in Germany who claims to have written a program that will play at 25kHz on an 8MHz 8086 with a SoundBlaster car […]
Show full quote

There is a guy in Germany who claims to
have written a program that will play at 25kHz on an 8MHz 8086 with a
SoundBlaster card - all I can say is that he must be smarter than I am,
since I don't see how that could possibly be done.

His code is really really well commented, but his mixing code is soooo complexe….

Reply 158 of 352, by dr.zeissler

User metadata
Rank Oldbie
Rank
Oldbie

anything helpfull here: http://www.oldskool.org/guides/tvdog/sound.html or https://bisqwit.iki.fi/jutut/kuvat/programmin … s/tandysnd.html

btw. nice listing: https://www.uvlist.net/forum/thread/167593/Th … on+the+internet

CPU: PII 133-333 MOBO: SNI-D981 RAM: 512- FDD: Dualfloppy 3,5"HD/5,25"HD - 3,5"HD - 5,25"DD ISA-Catweasel HDD: 2x40GB - DVD
ISA(3): Audician32-S2Dreamblaster - GusACE PCI(3): Monster3D- Intel NW AGP(1): 3dfx V3-3000

Reply 159 of 352, by FreddyV

User metadata
Rank Member
Rank
Member

Hi,

I will emulate the way the Tandy work on Sound Blaster (program a fixed size output)

I will soon have work and long Holidays, so it may not be done before 2 or 3 months

Just finished to Add Hercule support (For Old IBM With Green monitors... ) and put Back Arpeggio (With LIVE.MOD Corrected)