Kamerat wrote:I don't know if you hang around here anymore, but I have in the past week tested a YMF744 on PCIe based chipsets from Intel (X58 […]
Show full quote
LSS10999 wrote:YAMAHA YMF7xx
The one I had was a YMF744. It has a genuine OPL3 FM chip on board. However, it doesn't seem to have a known chipset-independent workaround, and the settings were locked to "Port=220, IRQ=INTA#(5), DMA=1 using DDMA at 8000" for most motherboards. It was said such settings can be changed only on 440BX motherboard (which was at least a decade ago). The card may still have the potential to work on other chipsets, just the driver itself is unlikely to work properly with modern motherboards due to SETUPDS couldn't handle other chipsets properly.
Supports only FM music on all nVidia chipsets and later VIA chipsets. It's in fact a DDMA-dependent card and are not aware of modern motherboards, and it makes the system unstable and crashes a lot. The FM chip will work chipset-independent as it's a native, genuine FM synth that will happily assign itself to port 388h, but unfortunately it will not work properly on later AMD chipsets as legacy compatibilities on those chipsets are completely gone.
I don't know if you hang around here anymore, but I have in the past week tested a YMF744 on PCIe based chipsets from Intel (X58, P965, G965 and 945G) and Nvidia (Quadro NVS 210S/nForce 430) and got them all working with the DSDMA TSR provided in the driver package on Yamahas website. The TSR calls itself ETEKVM when loaded and takes up under 2kB of RAM, it can be loaded to the upper memory area and needs EMM386/JEMM386.
Link to my post: YMF744+DSDMA+DOS+P965(and other PCIe chipsets)=success
Link to driver: http://www.yamaha.co.jp/english/product/lsi/download/
CMI8738 was said to support DOS, but in fact, it doesn't. Even those onboard CMI8738/9739 that existed on some motherboards don't seem to support DOS properly, while the drivers will not load and saying cannot find PCI device on newer boards.
CMI8738 works on "very" old games, I've used it with games like Space Quest 4, Winter Challenge, Wolfenstein 3D and Gods. It also works on Deluxe Ski Jump from 2000. Maybe theese games doesn't need DMA?
Well done on getting DSDMA working on new chipsets for YMF7xx. While still requires EMM386 it's excellent progress. (Aureal AU8820 and 8830 don't have this requirement)
And by the way... does DSDMA require EMS (RAM) or just needs EMM386 itself (NOEMS)? Also, it may be more stable to use MS EMM386 instead as from my experience, while it doesn't seem to work well with large RAM (>1GB), it's generally more compatible with DOS programs especially when involving EMS.
Additionally, I once noticed some modern boards (and maybe other devices, mainly add-on IDE/SATA cards and onboard RAID/AHCI) have BIOS codes that takes up UMB and at times even invade page frame area (usually E000-EFFF). Such will result in less UMB available for other programs, or even worse, making EMM386 unable to find a suitable place to put the EMS page frames, preventing EMS from working. (JEMM386 will complain about EMS function limited but will still load, while MS EMM386 will refuse to load saying unable to set page frame). Given DSDMA may require EMS to work, it's advised to avoid using any devices that needs to put something in the upper memory area for its functionality, mainly onboard AHCI and add-on IDE/SATA cards, and disable any other unnecessary onboard devices, for best compatibility.
Still, for compatible chipsets (like ICHx, VT82C686A/B), one still needs to hack the SETUPDS executable in order to make PC/PCI or DDMA configurable on the target chipset without the need of using DSDMA.
And regarding CMI8738... I myself have never made any work back then, even with compatible chipsets, and with boards that have it onboard... Guess there are variants that work with DOS and others don't. And besides, as long as a game plays digitized sound it'll need DMA. On the other hand FM synth on PCI cards do not require DMA and should work on any chipset that has native PCI slots.
Again, from what I can find at present, all currently available ISA-equipped industrial motherboards with ICH6 or later use PCI/ISA bridges which can no longer natively support ISA DMA without doing something special... yet one can still just put a sound card there and get the most out of its native FM synth. At present, I have not personally found any info on currently available post-ICH5 ISA-equipped motherboards that use LPC/ISA bridges instead of PCI/ISA.
nukeykt wrote:Thanks for clarifying that!
Now, when you say "ymf724 doesn't support FM on PCI range" did you mean "PCIe range", right? Otherwise it would mean that the ymf724 doesn't support its included FM chip even on a regular PCI slot!
PCIe allows only ports >= "card base address",unlike PCI. 724's FM port always < "card base address". Native PCI supports any port. But since new PC chipsets doesn't have native PCI(new motherboards with PCI actually have PCIe to PCI bridge), it is not guaranteed that Fm will work.
So now another layer of incompatibility with those legacy stuffs has surfaced... that PCIe cannot access ports below its base address, which prevents Sound Blaster I/O (0x220), General MIDI (0x330) and FM synth (0x388) from being accessed... This not only breaks compatibility with DOS, but also breaks programs that may make use of any native MIDI or FM synths available to the system such as DOSBox.
And yeah, native PCI seems completely gone since Haswell (8-series), according to the list on Wikipedia. For earlier architecture, only select few PCHs include native PCI: 5-series, B65, Q65, Q67, B75, Q75, Q77, Z77. For YMF744's FM synth, those are the end of the line.
I haven't found any info regarding whether AMD chipsets (7xx/8xx/9xx) have native PCI or not, but it's likely they don't or they don't work as intended if they do, as from my experience PCI audio cards don't get picked up even after the drivers loaded into the memory. I don't know about the FCHs though the list on Wikipedia implies that all desktop FCHs have them, so those with desktop APU boards may try if interested. After all, AMD chipsets have so far broken so many legacy stuffs that only current OS and hardware can be installed.