VOGONS


First post, by GunKneeNeon

User metadata
Rank Member
Rank
Member

I'm trying to make the SB emulation of my ymf724 working in pure DOS. My motherboard is an ASUS Cusl2-c, which supports neither PC/PCI nor DDMA. So I have to go with DSDMA. I have watched the ymf744 review video from PhilsComputerLab. In that video he managed to get SB emulation working by running DSDMA.EXE under DOS 7.1. I assumed the driver would also work in DOS 6.22. But it locked my mouse and keyboard right after being launched. Does it mean that DSDMA is not compatible with DOS 6.22? Is there any other workaround to this issue?

Last edited by GunKneeNeon on 2023-12-30, 16:58. Edited 2 times in total.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 1 of 17, by dr_st

User metadata
Rank l33t
Rank
l33t

I would be more suspicious of incompatibility with your board or BIOS settings than with a particular DOS version.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 2 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
dr_st wrote on 2023-11-23, 18:59:

I would be more suspicious of incompatibility with your board or BIOS settings than with a particular DOS version.

Do you mean that DSDMA might work in DOS 6.22 with another motherboard?

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 3 of 17, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

It's highly unlikely that Does is to blame - it's more likely the motherboard itself. Dos really doesn't do much (if anything) to stop you accessing the hardware directly.

If DSDMA works, it will probably work in any version of Dos that the initialisation tool can run in (5, 6.22, 7.1 etc).

My collection database and technical wiki:
https://www.target-earth.net

Reply 4 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
megatron-uk wrote on 2023-11-23, 21:07:

It's highly unlikely that Does is to blame - it's more likely the motherboard itself. Dos really doesn't do much (if anything) to stop you accessing the hardware directly.

If DSDMA works, it will probably work in any version of Dos that the initialisation tool can run in (5, 6.22, 7.1 etc).

Is there any BIOS settings that might be preventing DSDMA from working?
I don't really care if DSDMA works, but DO care about getting SB emu to work. I've tried many versions of DOS driver: v3.06, v3.09, v3.11, v3.16. They basically have the same result, having working 16bit audio and FM but not SB 8bit audio. There is one version which is different from the others, the ich2 modded version. It makes SB related options available, but won't accept any value set. It keeps complaining "can not detect DMA at channel x", "can not detect interrupt at IRQx". What else can I do now?

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 5 of 17, by wbahnassi

User metadata
Rank Member
Rank
Member

I run DSDMA on DOS6.22 for my YMF744, and it works perfectly. But yeah, I remember it was very finnicky about when you initialize it. There is a particular order of lines of initialization that must be respected, otherwise the PC hangs when loading a certain driver (like mouse or CD rom).

The way it should be done IIRC:
* Init FM
* Change IRQ - optional, I change from 5 to 7
* Load DSDMA

This whole block can be moved around in your autoexec.bat before or after certain drivers. There are drivers that don't like being loaded BEFORE DSDMA and some that don't like it AFTER DSDMA.
Once done and you have a stable boot, then you can run MemMaker to regain some memory, and hope the boot stays stable again.

It is a little tedious, but the reward is awesome 😅

Reply 6 of 17, by brunobox99

User metadata
Rank Newbie
Rank
Newbie
wbahnassi wrote on 2023-11-24, 12:00:
I run DSDMA on DOS6.22 for my YMF744, and it works perfectly. But yeah, I remember it was very finnicky about when you initializ […]
Show full quote

I run DSDMA on DOS6.22 for my YMF744, and it works perfectly. But yeah, I remember it was very finnicky about when you initialize it. There is a particular order of lines of initialization that must be respected, otherwise the PC hangs when loading a certain driver (like mouse or CD rom).

The way it should be done IIRC:
* Init FM
* Change IRQ - optional, I change from 5 to 7
* Load DSDMA

This whole block can be moved around in your autoexec.bat before or after certain drivers. There are drivers that don't like being loaded BEFORE DSDMA and some that don't like it AFTER DSDMA.
Once done and you have a stable boot, then you can run MemMaker to regain some memory, and hope the boot stays stable again.

It is a little tedious, but the reward is awesome 😅

I have a similar card, but I recommend this order, It worked for me (assuming there are not other problems):

1) Run setupds.exe to configure the card (this must be done just for the first time).

2) Once configured correctly, you can init the card with LOADTSR.BAT

This will produce one of the following outcomes:

a) If you configured correctly your card, LOADTSR.BAT will initialise it, without loading any TSR.

b) If the configuration is incorrect or the settings are incompatible with the PC, it will load the Sound Emulation TSR (Most of the time when the PC does not support S-IRQ or D-DMA).

Reply 7 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
wbahnassi wrote on 2023-11-24, 12:00:
I run DSDMA on DOS6.22 for my YMF744, and it works perfectly. But yeah, I remember it was very finnicky about when you initializ […]
Show full quote

I run DSDMA on DOS6.22 for my YMF744, and it works perfectly. But yeah, I remember it was very finnicky about when you initialize it. There is a particular order of lines of initialization that must be respected, otherwise the PC hangs when loading a certain driver (like mouse or CD rom).

The way it should be done IIRC:
* Init FM
* Change IRQ - optional, I change from 5 to 7
* Load DSDMA

This whole block can be moved around in your autoexec.bat before or after certain drivers. There are drivers that don't like being loaded BEFORE DSDMA and some that don't like it AFTER DSDMA.
Once done and you have a stable boot, then you can run MemMaker to regain some memory, and hope the boot stays stable again.

It is a little tedious, but the reward is awesome 😅

Thanks for your suggestion. I cleaned up my Autoexec.bat, leaving only "setupds /s" and "dsdma". In Config.sys, I left only the Himem and Emm386 lines. This time DSDMA launched successfully. But the result gets even worse. It threw an error "CODEC might not be connected". Then I found that the VOLUME and SOUND TEST options are greyed out(they used to be white colored). When I SAVE & EXIT SETUP, it says "Can not detect Interrupt at IRQx" or "can not detect DMA at channel x" just as I mentioned before.

I then referred to this thread. The solutions mentioned there were: 1. use DOS 6.22, 2. use HimemX rather than Himem to limit the max RAM. They all didn't work for me.

brunobox99 wrote on 2023-11-24, 20:01:
I have a similar card, but I recommend this order, It worked for me (assuming there are not other problems): […]
Show full quote

I have a similar card, but I recommend this order, It worked for me (assuming there are not other problems):

1) Run setupds.exe to configure the card (this must be done just for the first time).

2) Once configured correctly, you can init the card with LOADTSR.BAT

This will produce one of the following outcomes:

a) If you configured correctly your card, LOADTSR.BAT will initialise it, without loading any TSR.

b) If the configuration is incorrect or the settings are incompatible with the PC, it will load the Sound Emulation TSR (Most of the time when the PC does not support S-IRQ or D-DMA).

I've tried LOADTSR.BAT, it didn't load DSDMA. That's wired, because my board doesn't support PC/PCI and DDMA. The result is no difference from my previous situation.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 8 of 17, by wbahnassi

User metadata
Rank Member
Rank
Member

I've attached my AUTOEXEC/CONFIG files which show how I init DSDMA. They have some fluff you won't need (the Microsoft C environment setup), but otherwise it loads a driver for the CD drive, mouse, as well as some nice things like DOSKEY. SOFTMPU is one of the drivers that don't like to be loaded before DSDMA (but after SETUPDS obviously). This works on my HP Z400 workstation, and it runs pretty much 95% of the games except the ones that DSDMA has been known to not support period (e.g. Crusader No Remorse). One more thing of note is the limit of memory to 32MB (down from the machine's 14GB). IIRC this was key as well to make DSDMA happy, as well as many other stuff (e.g. Windows 3.1 and Windows 95/98). I get about 614KB free conventional memory with this setup (MemMaker).

If I omit YMFIRQ then the card will be at IRQ5, which is fine too and works, but certain games don't like it (e.g. Fury of the Furries, and Alone in The Dark IIRC). Those games are just hardwired to IRQ7.

Attachments

  • Filename
    AUTOEXEC.zip
    File size
    879 Bytes
    Downloads
    43 downloads
    File license
    Public domain

Reply 9 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
wbahnassi wrote on 2023-11-25, 12:29:

I've attached my AUTOEXEC/CONFIG files which show how I init DSDMA. They have some fluff you won't need (the Microsoft C environment setup), but otherwise it loads a driver for the CD drive, mouse, as well as some nice things like DOSKEY. SOFTMPU is one of the drivers that don't like to be loaded before DSDMA (but after SETUPDS obviously). This works on my HP Z400 workstation, and it runs pretty much 95% of the games except the ones that DSDMA has been known to not support period (e.g. Crusader No Remorse). One more thing of note is the limit of memory to 32MB (down from the machine's 14GB). IIRC this was key as well to make DSDMA happy, as well as many other stuff (e.g. Windows 3.1 and Windows 95/98). I get about 614KB free conventional memory with this setup (MemMaker).

If I omit YMFIRQ then the card will be at IRQ5, which is fine too and works, but certain games don't like it (e.g. Fury of the Furries, and Alone in The Dark IIRC). Those games are just hardwired to IRQ7.

I tried almost everything in your boot files: add parameters to EMM386, using HimemX to limit RAM to 32MB, LH DSDMA with the same parameters as yours... I even tried to change values directly by edting the ds.ini. Nothing changed. So sad...

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 10 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member

I just bought a Hoontech SoundTrack i-Phone Digital XG ymf754. I tried all the procedure above again. This time DSDMA was loaded without issue, no system freeze, no "CODEC might not be connected" error etc. I checked it via "mem /c/p" and it's there. However, the setupds behaved the same as before. It just ignored the DSDMA. Whenever I select "SAVE & EXIT SETUP" or "SOUND TEST", it says "Can not detect Interrupt at IRQx" or "can not detect DMA at channel x".
I've bought another YMF724, the Genius Sound Maker 128XG. It's still on the way delivering though. I'll try that later too.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 12 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
wbahnassi wrote on 2023-12-29, 05:47:

I'm guessing you tried it, move the card between different PCI slots? Maybe you will get lucky.

Tried that. In certain slot it said "Error: Can't find YAMAHA DS-XG", while in others it behaved the same as I mentioned before.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 13 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member

Oh, I have to say maybe the issue is related to the line "SETUPDS /s". I can't just initialize the card without bringing up the configuration screen. Both "SETUPDS /s" and "SETUPDS" do the same thing and I can't save any changes duo to the IRQ/DMA error. So the DSDMA issue could be caused by not initializing the card first, I assume.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 14 of 17, by wbahnassi

User metadata
Rank Member
Rank
Member

IIRC SetupDS just writes an INI file on exit, and you can manually edit it. Check it in Phil's pack. I'm away from my YMF724 PC nowadays so I can't upload my copy.

IIRC, using SetupDS for proper config never worked for me. It hanged somewhere in the process, so I just have the INI file and use SETUPDS.EXE /S in Autoexec.bat. It works great and games work great. If I call SetupDS after everything has been initialized properly, it also hangs! ... unless I don't load DSDMA.EXE.

So, you can try disable DSDMA at first, run SetupDS to get the UI, save and exit, then hand-edit the INI file and restore DSDMA in Autoexec.

Reply 15 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member
wbahnassi wrote on 2023-12-29, 09:20:

So, you can try disable DSDMA at first, run SetupDS to get the UI, save and exit, then hand-edit the INI file and restore DSDMA in Autoexec.

The thing is:
1. I can't use SETUPDS /S to initialize the card, it brings up the configuration screen just like I run it without the /S option.
2. SETUPDS refuses to save any setting. Whenever I choose SAVE AND EXIT, it throws the "can't detect DMA/IRQ" error.

So I can manually edit the DS.INI file, but can't initialize the card after that.

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 16 of 17, by GunKneeNeon

User metadata
Rank Member
Rank
Member

OH!!!!!! FINALLY I MANAGE TO MAKE IT WORKING!!!!!

The problem is with the modded version of SETUPDS.EXE. I thought I have to use the ICH2 version, since I use the CUSL2-C mobo. The standard SETUPDS has all the settings related to SB greyed out. So I thought it wouldn't work. The turning point is when I saw there is a file called "dsxgdos_ms-dos__restart_in_ms-dos_mode_in_win_95_98__v._3.16.exe" in Philscomputerlab's site. I downloaded it, installed it and tried it with Windows 98 DOS Mode and it worked! The installation included the standard SETUPDS.EXE. I got it working just by launching the Loadtsr.bat. Actually after the SB emulation worked, I run the SETUPDS itself again and the error "CODEC might not be connected" is still there with my newly bought Genius Soundmaker 128XG (ymf724). This made thinking the error message is not a problem at all. So I restart the PC to the pure DOS, which is isolated from Windows, run the Loadtsr.bat, then fire up DOOM, I then heared the digital sound! What a stubborn card!

Thank you all and thank you @wbahnassi! It's really a tricky one to deal with.

I want to tell all the people who loves ymf7x4 cards and have the CUSL2-C mobo. It is compatible with the card by using DSDMA!

BUT DON'T USE THE ICH2 MODDED SETUPDS.EXE!!!!!

It seems promising(SB related options are white), but it will NEVER work!

Constantly looking for the driver for Acer Magic v1 MPEG decoding card.

Reply 17 of 17, by wbahnassi

User metadata
Rank Member
Rank
Member

Awesome! Great you got it figured out. I too use the original SETUPDS. I try to stick to original versions unless they really don't work.

I struggled quite a bit with DSDMA too, but the rewards once it worked were quite worth the effort. Kodus to ruthan who wrote awesome guides on YMF and the huge number of tests he ran to identify game compatibility.

Now enjoy some original OPL3 music under DOS, and the awesome XG MIDI under Win95 😀