VOGONS


Newly made PCMCIA sound card

Topic actions

Reply 140 of 155, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

yes, somehow I have stumbled around in the dark long enough to arrive at something that almost works correctly. Your pointers and information along the way have been helpful would not have got even this working otherwise.

Duke3D pushes the system itself a bit hard, and also all of my serial debug commands are not helping so lots of room to optimize.
https://www.youtube.com/watch?v=m4EWK5qNxRQ

I will focus some energy now on getting a v1 PCB of this

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

Bondi wrote on 2021-06-01, 07:23:
yyzkevin wrote on 2021-05-31, 08:04:
The changes to how I am hooking interrupts helped solve my issue with protected mode games, which has now exposed the flaw in h […]
Show full quote

The changes to how I am hooking interrupts helped solve my issue with protected mode games, which has now exposed the flaw in how I am filling my FIFO. I know what to do next though.

I will try to think of a name for this and start a new thread soon.

https://www.youtube.com/watch?v=PGi83TjvMF0

edit: small tweak to the autoinit routine

https://www.youtube.com/watch?v=NEoVT21plfc

This is awesome, Kevin. It is working perfectly!

Reply 141 of 155, by Bondi

User metadata
Rank Member
Rank
Member

Duke3D pushes the system itself a bit hard, and also all of my serial debug commands are not helping so lots of room to optimize.
https://www.youtube.com/watch?v=m4EWK5qNxRQ

Duke still sounds very well. There is a very light stuttering there, but this is how it works on any not too powerful processor. So seems to be rather CPU load issue than sound/TSR card problem.
BTW IBM card has a switch in mwave.ini file compatibility=X, whre X takes values from 0 to 4. And some games require different values. It's described in one of the readme files. I just thought this could be optimizations for different sample sizes. I think you mentioned in your video, that large and small transfers are handled differently.

I will focus some energy now on getting a v1 PCB of this

Are you goung to include OPL3 and MPU circuitry as well?

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

This is a big topic. Overall would be cool to have such device. NonDOS compatible sound cards were mostly installed on Pentium 3-4 and later laptops. So these already had 32-bit Cardbus interface, that supported DMA and was based on PCI bus AFAIK. So not sure what technical implications this has, and what is the best way to realize SB compatibility. Maybe a pure software solution? Or Just a DOS compatible Cardbus sound card?

yyzkevin wrote on 2021-06-01, 08:12:

yes, somehow I have stumbled around in the dark long enough to arrive at something that almost works correctly. Your pointers and information along the way have been helpful would not have got even this working otherwise.

Well, my input was very modest, but thanks anyway.

Reply 142 of 155, by digger

User metadata
Rank Oldbie
Rank
Oldbie

This is mighty impressive! Sorry about asking a question that you've probably answered more than once already, but how exactly is the DMA emulation performed?

Don't you somehow have to intercept access to the really low I/O ports of the Intel 8237 DMA controller? So I/O port 02h, 03h and 83h in the case of DMA channel 1?

How did you pull that off in protected mode? In curious about this, since this could be used for more than just PCMCIA sound cards. Thanks.

Reply 143 of 155, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

re: pcb1 - Yes I am working on the DSP, OPL & MPU-401 + DREAM.FR midi chip, and Gameport. What I have yet to determine is how to mix the audio outputs together and if I should be trying to implement a software controllable mixer or not (i mean mixer hardware that can be controlled from software)

re: compatibility modes on ibm - that parameter may in fact be controlling the logic for when and how much to move into the fifo. I will have to investigate more and see what I can learn

re: DMA emulation / protected mode - I am not doing anything fancy at all I will try to write it down into a short format that makes sense, and does not blow up this thread with a wall of text. The entire project is possible as I do not need to intercept any i/o requests which seems to be the issue/impossibility with games that use dos extenders and enter protected mode, at least so I understand from the issues/limitations with SoftMPU.

Reply 144 of 155, by digger

User metadata
Rank Oldbie
Rank
Oldbie
yyzkevin wrote on 2021-06-03, 05:12:

re: DMA emulation / protected mode - I am not doing anything fancy at all I will try to write it down into a short format that makes sense, and does not blow up this thread with a wall of text.

Thanks. I appreciate it. Perhaps post it in a separate topic/thread, if you don't want it to overwhelm this one?

Reply 145 of 155, by Dragon Caesar

User metadata
Rank Newbie
Rank
Newbie
yyzkevin wrote on 2021-06-01, 08:12:

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

Would such a card allow something like the Digispeech Plus greater compatibility?

Reply 147 of 155, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

trying to do it! I am just waiting on one of the IBM 3D Sound cards that has been mailed to me, so I can do some comparison compatibility testing

Warlord wrote on 2021-06-04, 00:38:

You're the man kevin. This looks great.

Reply 148 of 155, by Bondi

User metadata
Rank Member
Rank
Member
Dragon Caesar wrote on 2021-06-04, 00:32:
yyzkevin wrote on 2021-06-01, 08:12:

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

Would such a card allow something like the Digispeech Plus greater compatibility?

Yes, sure. It’s going to support digital sound in protected mode games. Which Digispeech is not capable of.

Reply 149 of 155, by creepingnet

User metadata
Rank Oldbie
Rank
Oldbie
yyzkevin wrote on 2021-06-01, 08:12:

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

This would be cool, especially if it could do this with WSS Compatible chipsets (AD4818, CS4231) so people can stop having to fight with WSSXLAT.EXE and EMM386.EXE to try and get the digital side working. Plus since it has an OPL that would add the ability to have music on these laptops. A lot of circa 1994 486 laptops like my Versa M/75, Zenith Z-Note, Samsung Sens, various Toshiba/Compaq models have this sort of setup.

~The Creeping Network~
My Website - https://sites.google.com/site/thecreepingnetwork/home - ending 9/2021
My Youtube Channel - https://www.youtube.com/creepingnet
NEW WEBSITE - 9/2021 https://creepingnet.neocities.org/

Reply 150 of 155, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

I plan to ask Digger more questions about this, how to play audio to these other chipsets as I saw some other work he is doing on dos playback to newer chip.

My thought though is, say I could make a pcmcia card that is very basic almost no components, i.e. we are talking i dont know $20 dollar range even realistic to build yourself a home, and it would work in conjunction with a TSR to allow digital audio playback through an emulated soundblaster (including protected mode games of course) to the existing chipset (maybe even coordinating an actual dma transfer too) , the value is that it is cheap and easy to have assembled and will play audio through existing speakers/headphone jack etc etc.... now this is only digital audio though. If I were to also put an OPL chip on there, we now have a different audio source and maybe at that point it just makes sense to use the all out soundblaster emulator, midi, opl etc.

creepingnet wrote on 2021-06-17, 15:43:
yyzkevin wrote on 2021-06-01, 08:12:

I had another random idea, not sure if it makes any sense. If you have a laptop that has a non-dos game compatible card but you can still talk to it, would there be any value in making a very basic PCMCIA card that is able to sit on a selected port i.e 220h, 330h, 338h etc and emulate a device and pass that information back to an emulation TSR that actually plays the digital audio back through whatever sound chip is there? Kind of along the lines of how some chipsets somewhere along the way use to have something like this for trapping those certain i/o requests so that a TSR could use them to emulate an SB? Just shower thought not fully thought out. Main advantage aside from the PCMCIA card being very simple it would allow the full quality stereo audio from the computers existing speakers and use existing headphone jack and all that.

This would be cool, especially if it could do this with WSS Compatible chipsets (AD4818, CS4231) so people can stop having to fight with WSSXLAT.EXE and EMM386.EXE to try and get the digital side working. Plus since it has an OPL that would add the ability to have music on these laptops. A lot of circa 1994 486 laptops like my Versa M/75, Zenith Z-Note, Samsung Sens, various Toshiba/Compaq models have this sort of setup.

Reply 151 of 155, by digger

User metadata
Rank Oldbie
Rank
Oldbie

@yyzkevin I'd be happy to help, but considering your impressive work so far, I'm honestly not sure what extra expertise I could offer.

At this point, it seems like I have more questions for you than you could have for me. 😅

Reply 152 of 155, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

I am still poking away at this when I can find time. I have played with the IBM 3D Sound a bit, I much prefer the sound out of an actual yamaha chip and the dreamfr midi chip, even the vlsi i prefer over the ibm 3d sound.

some additional learning curve for me, as I ended up moving from the simple gal's to one bigger cpld, for no other reason that I already have some I am using the same one on the snark barker mca.

it will all fit, but it is certainly tricky. I have some flexibility on pin assignments so I am hoping to do this with a two-layer board, mainly because of prototyping cost and leadtime, this one is going to take a few revisions no doubt.

Attachments

Reply 154 of 155, by creepingnet

User metadata
Rank Oldbie
Rank
Oldbie

I love how this is coming together thus far.

~The Creeping Network~
My Website - https://sites.google.com/site/thecreepingnetwork/home - ending 9/2021
My Youtube Channel - https://www.youtube.com/creepingnet
NEW WEBSITE - 9/2021 https://creepingnet.neocities.org/