VOGONS


Reply 20 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

Next round of testing in, i845 board. Long story short, PC/PCI works even though the board doesn't officially support it (had only solder pads for SB-link header but not the header itself; I soldered it, also it's not mentioned in the manual anywhere)

There are downsides though. The board has 3 USB root controllers, and no matter what I do one of them gets assigned the same IRQ as the sound card. To make sound work at all in DOS I had to disable USB altogether in BIOS.

Also, it doesn't like to be on anything else but IRQ5. Even IRQ7 doesn't work at all even when it's not shared with anything else.

Duke Nukem 3d: works flawlessly like on the other board

X-wing works flawlessly. Doesn't need any CPU cache to be disabled.

Doom crashes exactly as on the previous board.

I will next try Doom without emm386.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 21 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t
Kamerat wrote:

About Doom: Have you tried disable EMM386 (if you got it enabled) or maybe se if the game runs with the DOS/32A extender instead of the default one.

I'm surprised that Doom gives me a DOS4GW error, since it doesn't use it. There is no DOS4GW or any other extender in the Doom directory. The only thing using DOS4GW on this system is setupds.exe, but by the time I run Doom, setupds is long done.

(edit) Doom still crashes even without emm386.
The error it's giving me is "transfer stack overflow on interrupt 0Dh"
0Dh is 13; there is nothing using interrupt 13 in this system.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 22 of 85, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote:
I'm surprised that Doom gives me a DOS4GW error, since it doesn't use it. There is no DOS4GW or any other extender in the Doom d […]
Show full quote
Kamerat wrote:

About Doom: Have you tried disable EMM386 (if you got it enabled) or maybe se if the game runs with the DOS/32A extender instead of the default one.

I'm surprised that Doom gives me a DOS4GW error, since it doesn't use it. There is no DOS4GW or any other extender in the Doom directory. The only thing using DOS4GW on this system is setupds.exe, but by the time I run Doom, setupds is long done.

(edit) Doom still crashes even without emm386.
The error it's giving me is "transfer stack overflow on interrupt 0Dh"
0Dh is 13; there is nothing using interrupt 13 in this system.

DOS/4GW is integrated into the main EXE of Doom, just try DOS/32A like this: "DOS32A.EXE DOOM.EXE"

Edit: Do you run any kind of disk cache or UDMA/IDE drivers under DOS? Maybe you should try to disable the if you do.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 23 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

...and the results are in.

Doom works flawlessly with dos32a.exe and full SB sound.
Dune II works flawlessly with full SB sound, including music, voice, effects etc.
Flashback works flawlessly with full SB sound.

I'm very happy. All of the above is on the i845 board, P4-2.8GHz, 512MB DDR, DOS 6.20, himem+emm386, cutemouse 1.9, no other drivers, caches etc. I did have to disable all the USB subsystem due to IRQ conflicts.

Next, I will test the i848 motherboard (also has PC/PCI solder pads, also undocumented) when it gets here.

In the meantime I am open for suggestions for further games to try. I will definitely try Frontier: First Encounters (both the original version, and the JJFFE reverse-engineered version).

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 24 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie

In the 1st thread's message it's good to say what video card you are using. It may be important for compatibility.

There was report about Quarantine not working with SB-Link.
SB emulation issues were (not on YMF though) with: Commander Keen 6, Descent 1 & 2, Dune, Epic Pinball, Jill of the Jungle, Larry I VGA, Laura Bow: Dagger of Amon Ra, Mega Man X, Police Quest 3, Prince of Persia, Sam & Max - Hit The Road, Space Quest I VGA, Wing Commander 2.
Some of these may to want slower CPU, like Dune. This game was also tricky to run with DDMA.
The X-Wing issue with IRQ5, meanwhile working with IRQ7, probably relates to resources conflict. It's hard to explain in other way if the game works fine with IRQ5 on other MB.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 25 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

I'm using a very basic ATI Rage II AGP. On some of the tests I used a TNT2 M64 AGP.

I will try to hit some of those games in the next few days. Now just working on some of my old favorites (Elite series: FE2 and FFE)

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 26 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie

Interesting how is it common for P4 MBs to have SB-Link solder pads. As chipsets supported it, then it would be logically to make them available on many of them. Especially MBs with i865 are interesting.
A system with P4 3 GHz would cover 90s DOS, most of Win9x games and early XP. 15 years of games and 3 OS in one machine. It would need only easy soldering and cheap YMF.
Still needs the checking concrete performance with cache off.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 27 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

Again, the last tests I did were not with cache off. The games ran perfectly fine with cache enabled. Of course there will be games that require a slowdown... FWIW the P4-1.8 system with i850 motherboars felt significantly slower in X-wing with caches disabled, compared to a P2-450.

Also... today has been a very busy retro day for me. The i848 motherboard, that I wasn't expecting for a few more days, just showed up on my doorstep. I did some preliminary testing, and I think there's big trouble ahead for i865/875/848 compatibility with DOS.

I haven't soldered anything to it yet, though it does have the solder pads; I wanted to first make sure it works at all and not DOA. And for the heck of it I inserted the YMF724 card anyway even though I have no header to connect it to yet, and attached the HDD with my DOS testing system. Went into the BIOS and disabled everything that could conflict with stuff (USB, on-board audio and LAN). The BIOS assigns the card IRQ5, and there is nothing else on IRQ5. But setupds.exe (the one that I hacked earlier to support ICH5) thinks the card is on IRQ127. 🙄

Also in the setupds interface, It shows greyed out:

IRQ mode: INTA#
INTA# IRQ: not assigned
DMA mode: emulation
D-DMA base: 8000

I have never seen DMA mode showing as "emulation" in any of my previous tests; also the fact that INTA# does not have a IRQ assigned is not something that I've seen before. Those settings are independent of the card being connected to a SB-link header or not, they relate to the initial configuration of PC/PCI inside the southbridge...

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 28 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

For the time being I went back to the i845 board. So far I'm very happy with this system. After I fine-tuned it, it takes everything I'm throwing at it.

Tertz wrote:

Interesting how is it common for P4 MBs to have SB-Link solder pads.

It is _not_ common. I browsed dozens upon dozens of motherboard pictures before I could come up with a handful that have them. Appears to be very manufacturer specific. QDI and ECS have a few models, other manufacturers had none at all. Don't bother looking for them on boards from e.g. Asus, Gigabyte, Abit, MSI, etc. they don't have them.

One more bit of good news. Going through documentation of an older revision of the driver, I saw a mention of a parameter that can be added to ds.ini "IRQSHARE=1" that allows the emulated SB to share an IRQ with another device. It appears to have been introduced in version 3.14 of the driver - and the version from Yamaha's site which I'm using is 3.16.

The parameter is not found by default in ds.ini. So I added it, rebooted, went into BIOS and re-enabled USB. Now I have 3 devices sharing IRQ5 (2 USB controllers and the YMF724) and yet all sound functions work in DOS without a problem, and games are also working just as before. That was the final piece missing to make me completely happy (well apart from not being able to plug a wavetable module into the YMF card).

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 29 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote:

Of course there will be games that require a slowdown... FWIW the P4-1.8 system with i850 motherboars felt significantly slower in X-wing with caches disabled, compared to a P2-450.

Concrete performance with cache off is interesting to predict to run which games it will help. It's easy to measure by benches.

The BIOS assigns the card IRQ5, and there is nothing else on IRQ5. But setupds.exe (the one that I hacked earlier to support ICH5) thinks the card is on IRQ127. 🙄

fascinating. May be tried: newer MB's BIOS, other PCI slot, to run DOS driver with clean install (FIRSTTRY=1 maybe does same), to run DOS driver with SB-Link cable connected and .ini manually configured for it

Don't bother looking for them on boards from e.g. Asus, Gigabyte, Abit, MSI, etc. they don't have them.

Sounds like conspiracy against retro gaming. 😀 There were cheaper brands to look at also.

parameter that can be added to ds.ini "IRQSHARE=1" that allows the emulated SB to share an IRQ with another device

On 440BX I had USB with YMF on same IRQ by default. It worked. I've prefered to change PCI slot to get no other devices in YMF IRQ. Just to make the situation more cosher.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 30 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t
Tertz wrote:

Concrete performance with cache off is interesting to predict to run which games it will help. It's easy to measure by benches.

It's on the todo list. For now further testing is on hold, my dog got sick and I have my hands full with taking care of him.

fascinating. May be tried: newer MB's BIOS, other PCI slot, to run DOS driver with clean install (FIRSTTRY=1 maybe does same), to run DOS driver with SB-Link cable connected and .ini manually configured for it

It's already at the latest BIOS; I tried 2 PCI slots only, more to come; FIRSTTRY=1 sounds interesting, will try.

Sounds like conspiracy against retro gaming. 😀 There were cheaper brands to look at also.

I spent 2 days looking at pictures of all socket478 motherboards I could find, of all brands. Feel free to try if you think you can do better. (BTW I noticed that the motherboards I mentioned in my previous thread have disappeared from Ebay 😀)

On 440BX I had USB with YMF on same IRQ by default. It worked. I've prefered to change PCI slot to get no other devices in YMF IRQ. Just to make the situation more cosher.

On the i845 board I tried all PCI slots. The problem is, no matter which slot I use it always ends up sharing an IRQ with at least one USB hub because the motherboard has multiple USB hubs and they all get assigned different IRQs. Doesn't seem to cause any problem though.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 31 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

So I did find some time to test the ECS 848P-A motherboard more extensively. I disabled many of the peripherals in BIOS including the built-in sound, USB and LAN to keep variables at a minimum. It helps that I can assign in BIOS specific IRQs to specific PCI slots. So I chose a PCI slot that isn't shared with anything else, assigned it IRQ5, and proceeded from there. I manually edited ds.ini to assign correct IO addresses and IRQs to the sound card and its various functions. Using the patches setupds for ICH5 I verified that it appears to assign all addresses and IRQs correctly.

I also used pci.exe from http://www.os2world.com/wiki/index.php/PCI.EX … niffing_utility to check the PCI IDs of the devices present and confirmed that they were what I expected (and what the patched setupds expected), and that the correct IRQs are assigned to the various devices. The Yamaha card has assigned IRQ5 and INTA#.

I then proceeded to solder the 3x2 header to the pads. I had some trouble because 2 of the pads appeared covered with some alloy that my soldering station was unable to melt even on max temperature setting. The other 4 were no problem. I had to bring out a rotary tool with a thin drill bit (0.4mm) and actually drill through those 2 pads (FWIW the reluctant pads were in positions 2 and 6 on the grid). I soldered the header, and connected the card to it using the same cable as before.

Short story: failure.

All appears to be correct in setupds, but when I test the sound it fails with "cannot detect DMA" which tells me that the header I soldered does not in fact carry the PC/PCI signals. I tried the cable in reverse too, same result. It is the same error that I get if I leave the cable disconnected altogether.

I think this motherboard does not practically support PC/PCI, and that the 3x2 header is something else. In all honesty it is in fact not labeled PC/PCI but SIRQ, which I thought it would be another name for the same thing, but now I think it's not.

I did test in setupds the "SerIRQ" option for INTA# (instead of PC/PCI) again with the cable connected in both possible positions. It doesn't work.

So much for that test. 🙁

So, at this point I have no other candidates for testing. It appears based on my research that the last generation of motherboards to support PC/PCI was i845, and only a handful of boards from a single manufacturer (QDI) at that.

(one more weird thing about the 848P-A motherboard: EMM386 does not work unless I disable USB ports in BIOS. Otherwise it reports it can't find a base address for the EMS frame and refuses to install)

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 32 of 85, by j^aws

User metadata
Rank Oldbie
Rank
Oldbie

^^ I've seen some 2x3 headers that are some kind of diagnostic ports. I've got an old QDI board with pads for an ISA slot, but it has the SB-Link header already soldered. The board needs recapping though. Once I've sorted that out, I'll give it a test someday... It's also an i845 board.

EDIT: Typos

Last edited by j^aws on 2016-06-17, 19:12. Edited 1 time in total.

Reply 33 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie

On the image of ECS 848P-A I don't find 5-spot place in arc format |__| used for SB-Link.
There is ECS 865PE-A7 with partly similar place, where one of spots has square, not round, form. And ECS 865PE-A with 5-spot place.

Last edited by Tertz on 2016-06-17, 19:34. Edited 1 time in total.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 34 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

All boards that I've seen that have real PCPCI solder pads have them in a 3x2 pattern, not an arc. (i.e. the NC one is also present). The square pad is pin #1.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 35 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote:

All boards that I've seen that have real PCPCI solder pads have them in a 3x2 pattern, not an arc.

Have checked QDI PlatiniX 2E/333 - it has 6 spots, indeed. And works. Have found 6 spots for unsoldered SB-Link on other cards too: * *. Another example is P3B-F with 5 spots.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 36 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

Some quick results from the QDI PlatiniX 2E/333 (i845) with P4-2.66GHz (Northwood), 512MB DDR, TNT2M64 (32MB) AGP, YMF724F-V with SB-link. No EMM386 was used for either of the tests.

Doom timedemo demo1:
1. L1+L2 enabled: 1710 gametics/409 realtics
2. L1+L2 disabled: 1710 gametics/5144 realtics
3. L1+L2 enabled, slowdown.exe /m:0 (maximum slowdown, probably to about a 16MHz 386 based on other tests): demo hangs upon exit and no numbers are available, but it felt a bit slower than the test with all caches disabled.

Both #2 and #3 were too slow to play enjoyably.

PC Bench 6.0 CPU tests (all in ops/s)

                                   L1/L2 enabled          L1/L2 disabled          L1/L2enabled+slowdown max
8088 instr 30500 1469 83.5
80286 40250 1509 40.1
80386 2250 1343 80.1
80486 1950 1545 40.1
128k NOP 19526 1955 6.82
do nothing 22088 1248 369
integer add 31782 427 421
integer mult 40361 616 40.5
string sort 88.5 2.48 0.07
prime number 12032 73.6 8.56
FPU mix 24473 686 10.41
coprocessor 484899 31334 191.5

3dbench - does not give a result in native mode, too fast
3dbench2:
1. L1/L2 enabled: 552.3
2. L1/L2 disabled: 25.5
3. L1/L2 enabled, max slowdown: 406.4

This has a lot of potential.

Also, don't know if I mentioned it in any of the previous posts, but - in all of the games I've tested so far with the YMF724 card, if I select MIDI for music I get no music at all. I don't know if the XG synthesizer is supported in DOS at all; there is no test for it in dssetup. I plan on testing one of these days with my SC-88.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 37 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t

Another quick update, not as much YMF related as pertaining to DOS on P4 systems. I have seen it happen on several P4-generation motherboards, EMM386 does not load unless USB is disabled in BIOS (at least that's what happens in MS-DOS 6.20 and 6.22). I got around this by not using EMM386 at all, but rather loading in config.sys the EMM manager from FreeDOS, Jemmex.exe. This replaces both Himem.sys and EMM386.exe, and has overall a smaller footprint than the two combined. And it doesn't mind the USB root hubs being enabled. 😀

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 38 of 85, by Tertz

User metadata
Rank Oldbie
Rank
Oldbie

P4 2.66GHz (Northwood) with cache off gives 486 25-33 MHz level, if to assume there is no significant difference caused by other than demo3 used by Phil in his testing and by possibly other Doom's version. 3dbench results are also close. It's good for 90s games up to 1994 and some later. If it has the possibility to lower CPU clock, then compatibility will rise.
There is sense to experiment with slow PCI card. Maybe it will allow Pentium speed.

Internal GM is supported only in Windows. There is no DOS driver for this.

DOSBox CPU Benchmark
Yamaha YMF7x4 Guide

Reply 39 of 85, by stamasd

User metadata
Rank l33t
Rank
l33t
Tertz wrote:

If it has the possibility to lower CPU clock, then compatibility will rise.

This motherboard has some FSB controls but unfortunately it only allows me to raise it from 133MHz, not lower it. It also gives me multiplier control (can lower it down to 8x), but with a locked CPU it doesn't work, obviously. I don't know if there were any unlocked Northwood chips.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O