Pages: 1 ... 3 4 [5] 6   Go Down
  Print  
Author Topic: Two Issues about the AWE32  (Read 60641 times)
0 Members and 1 Guest are viewing this topic.
Great Hierophant
Senior Member
*
Offline Offline

Posts: 1,021


View Profile
« Reply #80 on: July 17, 2007, 06:58:44 PM »

In short, you three main choices all come with their drawbacks:

Early SB16 - Noisy audio quality, no EMU effects on OPL, 2nd slot for EMU

Later SB16/SBAWE32 - Hanging notes bug, somewhat noisy audio quality

SBAWE64 - Inaccurate OPL3 simulation, no waveblaster, adapter required for RAM

As far as those 2760 AWE32s go, can I ask what the DSPs were on each and whether the cards were the older or newer revision?
« Last Edit: July 17, 2007, 07:01:56 PM by Great Hierophant » Logged

NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #81 on: July 17, 2007, 09:24:26 PM »

The hanging notes thing is obviously not a CPU issue. It also seems to only appear on games that run the DSP continously in auto-init DMA mode for their "mixing" sound system, like Doom/Hexen, or the later iMuse versions, as in X-Wing CD. It should not happen in the floppy disk version of X-Wing, as that one just uses an old CT-VOICE.DRV (embedded in the sound driver file), which drives the DSP in single-cycle DMA mode.

I suspect the following cause: it is documented when playing back PCM data using auto-init DMA, the DSP can use a "FIFO" prefetch buffer to prevent underruns and thus clicking. I could imagine that MIDI uses the exact same buffer, and when using auto-init, there's no space in there because it's already used up by the prefetched PCM data.

Just an idea.
« Last Edit: July 18, 2007, 12:19:20 PM by NewRisingSUn » Logged
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #82 on: July 18, 2007, 04:26:14 AM »

Just an idea.


This sounds reasonable, especially since several Usenet posts reference instances where the hanging MIDI notes do not occur when digital-audio playback has been disabled.

Do you suppose that the buffer size and/or speed might vary between the "working" and "non-working" cards? Is there a means of testing the buffer?


I've added Doom to the list of things I've tried. To re-cap:

CT2760 AWE32 w/SCD-15
Hexen - No noticeable MIDI issues
Doom - No noticeable MIDI issues
Tyrian 2000 - No noticeable MIDI issues

CT2760 AWE32 w/Soundscape DB
Hexen - No noticeable MIDI issues
Doom - No noticeable MIDI issues
Tyrian 2000 - No noticeable MIDI issues

CT2940 SB16 w/SCD-15
Hexen - A few hanging MIDI notes
Doom - A few hanging MIDI notes
Tyrian 2000 - No noticeable MIDI issues

CT2940 SB16 w/Soundscape DB
Hexen - Horribly garbled MIDI
Doom - Horribly garbled MIDI
Tyrian 2000 - No noticeable MIDI issues

There you have it. If everyone just played shmups, everything would work just fine. Wink

As far as those 2760 AWE32s go, can I ask what the DSPs were on each and whether the cards were the older or newer revision?


I mentioned this previously, but the one I am using has DSP 4.12. It appears to be the earlier version, based on the PCB date-stamp, and is the same as the topmost card pictured here.
Logged
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #83 on: July 18, 2007, 12:08:24 PM »

Quote from: Cloudschatze
Do you suppose that the buffer size and/or speed might vary between the "working" and "non-working" cards?
According to Creative's "Sound Blaster Series Hardware Programming Guide", the FIFOs and the MPU-401 interface are NOT implemented by the DSP, but by the bus interface chip (CT1746).
In other words, the DSP version is actually circumstantial. Compare the bus interface chip between working and non-working cards.

Quote from: Cloudschatze
Is there a means of testing the buffer?
Not that I know of, at least not directly. It's only mentioned that it exists in the doc, and you may also turn it off:
Try editing DOOM.EXE or HEXEN.EXE with a hex editor and changing the bytes "B8 C6 00 00 00" (make sure you look for three trailing zero bytes) to "B8 C4 00 00 00". That disables the FIFO. If that fixes the hanging notes problem, we got a solution. Otherwise not.

(The Adlib Gold on the other hand exposes the FIFOs directly to the programmer, and is designed to issue an interrupt request whenever the FIFO is filled below an adjustable threshold, NOT as late as when a block has completely finished playing, as the dumb Creative cards do. This is obviously how it's supposed to be, but of course Creative were always a bunch of incompetent hacks.)
« Last Edit: July 18, 2007, 12:18:50 PM by NewRisingSUn » Logged
5u3
Senior Member
*
Offline Offline

Posts: 65



View Profile
« Reply #84 on: July 18, 2007, 02:56:53 PM »

According to Creative's "Sound Blaster Series Hardware Programming Guide", the FIFOs and the MPU-401 interface are NOT implemented by the DSP, but by the bus interface chip (CT1746).
In other words, the DSP version is actually circumstantial. Compare the bus interface chip between working and non-working cards.

I have two very similar CT175x cards:

SB 16 MCD CT1750
DSP: CT1741 v4.05
Bus interface: CT1746B-067 9341ED024

SB 16 MCD CT1759
DSP: CT1741 v4.11
Bus interface: CT1746B-067 9405ED062

The second card has the "hanging notes bug". The bus interface chip seems to be identical (apart from the manufacturing date).
Logged

486 DX4 | 486SP3 | 64MB FPM | S3 Trio64V+ | AWE32 + DB50XG | Ultrasound | SCC-1 | LAPC-I | LPT-DAC
K6-III | P5A | 256MB SDR | Voodoo5 5500 | AWE32 + SCB-55 | Ultrasound PnP
A64 4000+ | AV8 3rd Eye | 2048MB DDR | Radeon 9800SE | ALC658D
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #85 on: July 18, 2007, 04:33:58 PM »

Too bad. Try the Doom/Hexen patch.
Logged
5u3
Senior Member
*
Offline Offline

Posts: 65



View Profile
« Reply #86 on: July 18, 2007, 07:08:04 PM »

Patched DOOM.EXE (v1.9) according to your instructions. Unfortunately it doesn't get rid of the hanging notes.

But your theory seems logical, because when I select a digital sound device other than SB or deactivate digital sound effects altogether, the hanging notes disappear.
Logged

486 DX4 | 486SP3 | 64MB FPM | S3 Trio64V+ | AWE32 + DB50XG | Ultrasound | SCC-1 | LAPC-I | LPT-DAC
K6-III | P5A | 256MB SDR | Voodoo5 5500 | AWE32 + SCB-55 | Ultrasound PnP
A64 4000+ | AV8 3rd Eye | 2048MB DDR | Radeon 9800SE | ALC658D
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #87 on: July 18, 2007, 07:28:50 PM »

Okay, let's summarize, lest we get confused:

1) Hanging notes only occur when digital sounds are played.
2) It's still unclear if this occurs with ANY kind of digital sound playing, or only when it's done with the 0xC4/0xC6 command.
3) The bus interface chip is not the source of the problem, as cards with identical bus interface chips but different DSP versions differ in their behavior. Instead, the DSP is the likely source of the problem after all. DSP versions 4.05 and 4.16 are confirmed to not have the problem, versions 4.11 and 4.12 are confirmed to have it.
4) The FIFO may or may not be the problem; in any case, disabling it via the mentioned Doom/Hexen patch does not fix it.

Next thing to find out item 2):
- Get both the original floppy and the CD version of X-Wing. Play both with General MIDI music and Sound Blaster 16 sound (floppy version only offers "General MIDI with Sound Blaster", not "16"). Determine if hanging notes appear in both versions, or only the CD version (for the floppy version, wait until an actual digital sound effect or speech is playing).
« Last Edit: July 18, 2007, 07:31:22 PM by NewRisingSUn » Logged
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #88 on: July 18, 2007, 07:40:21 PM »

...versions 4.11 and 4.12 are confirmed to have it.

Depends on who you ask. Smiley

I do have a few SB16s with 4.12 that I can test. If they have the issue, whereas the AWE32 I'm using doesn't appear to, what then?
Logged
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #89 on: July 19, 2007, 12:05:13 AM »

I do have a few SB16s with 4.12 that I can test. If they have the issue, whereas the AWE32 I'm using doesn't appear to, what then?

Verified. I just tested a CT2770 SB16 w/DSP 4.12, and immediately had the garbled MIDI and hanging note issue.

So, DSP 4.12 works fine with my CT2760 AWE32, and is problematic with my CT2770 SB16.

This sure is fun.  Roll Eyes
Logged
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #90 on: July 20, 2007, 02:15:46 PM »



While not terribly impressive, I worked on this little "hack" a few days ago. I had planned to mount a S/PDIF jack as well, using an RCA connector from an old EGA card, but was unable to melt the grounded solder plugs on the CT1920 with my wimpy iron. C'est la vie.
Logged
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #91 on: July 20, 2007, 04:59:40 PM »

Uh, what is that, and what have you done?
Logged
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #92 on: July 20, 2007, 05:39:40 PM »

Uh, what is that, and what have you done?

It's an AWE32 upgrade board (CT1920). Most were sold without any output jacks, and instead utilize a ribbon cable, attaching headers on both the card and compatible motherboards. In the first page of this thread, dvwjr detailed constructing a cable to connect the card's output header to the CD-audio connector of any corresponding card.

I took the alternate route, adding the missing 1/8" stereo jack, and drilling an accomodating hole in the mounting plate.

If you copy and paste the image link into another browser window, the picture is clearer. The forum apparently re-sizes things...
Logged
5u3
Senior Member
*
Offline Offline

Posts: 65



View Profile
« Reply #93 on: July 20, 2007, 07:21:01 PM »

3) The bus interface chip is not the source of the problem, as cards with identical bus interface chips but different DSP versions differ in their behavior. Instead, the DSP is the likely source of the problem after all. DSP versions 4.05 and 4.16 are confirmed to not have the problem, versions 4.11 and 4.12 are confirmed to have it.

DSP v4.13 is also affected. Tested the following cards:

SB 16 IDE CT2911
DSP: CT1741 v4.13
Bus interface: CT1746B-067 9519ED009

SB 16 PnP CT2960
DSP: integrated CT2505-TDQ2 v4.13
Bus interface: integrated CT2505-TDQ2 9650-SS1625C1

SB AWE32 IDE CT3900
DSP: CT1741 v4.13
Bus interface: CT1747 *

SB AWE32 IDE PnP CT3980
DSP: CT1741 v4.13
Bus Interface: CT1705B '94 CB03-1412 **

* I haven't found a bus interface chip on the CT3900. There is a DSP, Codec, EMU8k, CQM; but nothing that resembles the CT1746. However, there are several little ICs scattered about that could provide the same function. -- It's included into the CT1747. Thanks for the info, Cloudschatze!
** On the CT3980 there isn't a CT1746 either, but a chip labelled CT1705B, it seems to be the bus interface according to the placement on the board and traces to the ISA connector.


The first three have the "hanging notes bug". On the forth (CT3980) I was not able to reproduce it, but board member Locutus has a CT3980 with only minimal differences (different ASP and Mixer chip revision) which he reported to be buggy as well. The severity of the hanging notes varies with the card. The CT3900 takes a long time to show it, whereas the all-integrated CT2960 immediatly breaks out in dissonant whines.

Since cards with the same DSP and different bus interfaces show a different behavior as well as the other way round, I can only conclude that it has to be a certain combination of both that causes the bug.

For example:
The CT1746 bus interface only works correctly with the v4.05 DSP. All other DSP versions cause the bug.
The v4.13 DSP combined with the CT1746 is buggy, but together with other bus interfaces, it shows up only rarely or can not be reproduced at all.

A question to Cloudschatze: What kind of bus interface does your CT2760 have? Lets see if it fits into the picture Wink


Next thing to find out item 2):
- Get both the original floppy and the CD version of X-Wing. Play both with General MIDI music and Sound Blaster 16 sound (floppy version only offers "General MIDI with Sound Blaster", not "16"). Determine if hanging notes appear in both versions, or only the CD version (for the floppy version, wait until an actual digital sound effect or speech is playing).

Unfortunately I haven't got the CD version, but I never heard the bug in the floppy version (even with the "worst") cards.
A hint for testers: The X-Wing floppy version sometimes shows a different bug where the music gets stuck (e.g. at the end of the "starwars scroller" introduction, transitions in the game, etc...). This is not caused by the SB MIDI interface, but happens if your computer is too fast (> 200 MHz).
« Last Edit: July 20, 2007, 09:38:54 PM by 5u3 » Logged

486 DX4 | 486SP3 | 64MB FPM | S3 Trio64V+ | AWE32 + DB50XG | Ultrasound | SCC-1 | LAPC-I | LPT-DAC
K6-III | P5A | 256MB SDR | Voodoo5 5500 | AWE32 + SCB-55 | Ultrasound PnP
A64 4000+ | AV8 3rd Eye | 2048MB DDR | Radeon 9800SE | ALC658D
Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #94 on: July 20, 2007, 07:29:03 PM »

A question to Cloudschatze: What kind of bus interface does your CT2760 have? Lets see if it fits into the picture Wink

It has the CT1747 IC, which combines the bus interface and OPL3.

If your CT3900 is the same as one I've seen a photograph of, it should have the same chip. Then again, you mention that it has CQM, so perhaps there is more than one version of the CT3900...
Logged
5u3
Senior Member
*
Offline Offline

Posts: 65



View Profile
« Reply #95 on: July 20, 2007, 09:38:59 PM »

It has the CT1747 IC, which combines the bus interface and OPL3.
If your CT3900 is the same as one I've seen a photograph of, it should have the same chip. Then again, you mention that it has CQM, so perhaps there is more than one version of the CT3900...
Yes, my CT3900 has the CT1747. I assumed this is CQM Roll Eyes
But it certainly is in the right spot to be the bus interface, so I'll correct the error in my post above.

So maybe one just has to find a card with "matching" DSP / bus interface to avoid the bug.
Chances seem good with
CT1746 + DSP 4.05
CT1747 + DSP 4.12
CT1705 + DSP 4.13

But I'm afraid it just boils down to a handful of models and you'll still need luck...
« Last Edit: July 20, 2007, 09:39:29 PM by 5u3 » Logged

486 DX4 | 486SP3 | 64MB FPM | S3 Trio64V+ | AWE32 + DB50XG | Ultrasound | SCC-1 | LAPC-I | LPT-DAC
K6-III | P5A | 256MB SDR | Voodoo5 5500 | AWE32 + SCB-55 | Ultrasound PnP
A64 4000+ | AV8 3rd Eye | 2048MB DDR | Radeon 9800SE | ALC658D
Great Hierophant
Senior Member
*
Offline Offline

Posts: 1,021


View Profile
« Reply #96 on: July 20, 2007, 09:40:08 PM »

I think the conclusion is inevitable, some, but not all the DSP, or less likely the Bus Interface, chips used during this time were faulty.  Maybe one fab was putting out chips that, while ostensibly were working, actually could not withstand serious midi testing.  Perhaps the design, most likely a tight design whittled down to save costs, required a certain level of quality control to create fully working chips that some of Creative's suppliers could not muster.  In that case, its merely a case of trial and error to find a card whose midi capabilities the user can be comfortable with.  
Logged

Cloudschatze
Moderator
Senior Member
*
Offline Offline

Posts: 1,940



View Profile
« Reply #97 on: July 20, 2007, 11:55:21 PM »

Well, it seems that even my much lauded CT2760 isn't safe from the likes of X-Wing CD. With "AWE32" selected for digital playback (It wouldn't let me select Sound Blaster 16), I experienced at least three hanging notes during my test, which consisted of the entire introduction and around ten-minutes of gameplay.

With "Sound Blaster 2.0" selected, I didn't experience any hanging notes, but the digital playback is mono, of course.

Oh! So tragic! I suppose I'll have to settle for the arguably superior MT-32 playback, should I ever find myself playing X-Wing CD in its entirety. Wink
« Last Edit: July 20, 2007, 11:56:22 PM by Cloudschatze » Logged
NewRisingSUn
Senior Member
*
Offline Offline

Posts: 651


View Profile
« Reply #98 on: July 21, 2007, 12:33:01 AM »

Quote from: Cloudschatze
Well, it seems that even my much lauded CT2760 isn't safe from the likes of X-Wing CD. With "AWE32" selected for digital playback (It wouldn't let me select Sound Blaster 16), I experienced at least three hanging notes during my test, which consisted of the entire introduction and around ten-minutes of gameplay.

With "Sound Blaster 2.0" selected, I didn't experience any hanging notes, but the digital playback is mono, of course.
No hanging notes with SB 2.0 either? That means DSP command 0x14 is okay, DSP command 0x1c is okay as well even though it uses auto-init DMA, only command 0xc4/0xc6 is faulty. In case anyone cares.
Quote from: Cloudschatze
I suppose I'll have to settle for the arguably superior MT-32 playback, should I ever find myself playing X-Wing CD in its entirety.
Keep in mind that without an award-winning patch of mine, X-Wing CD will play back the General MIDI data translated to MT-32 instead of the actual MT-32 data.
Logged
Locutus
Senior Member
*
Offline Offline

Posts: 133



View Profile WWW
« Reply #99 on: July 21, 2007, 11:49:32 AM »

Keep in mind that without an award-winning patch of mine, X-Wing CD will play back the General MIDI data translated to MT-32 instead of the actual MT-32 data.

I am interested in obtaining this patch. Where can I do this?

Thanks!

Christoph
Logged

Pages: 1 ... 3 4 [5] 6   Go Up
  Print  
 
Jump to: