VOGONS


The Soundblaster DSP project

Topic actions

Reply 1040 of 1051, by S95Sedan

User metadata
Rank Member
Rank
Member
Datadrainer wrote on 2024-01-24, 20:02:
I also missed the topic... And it is a really interesting one! That is wonderful to have a dump of all 4.xx firmware, to have an […]
Show full quote

I also missed the topic... And it is a really interesting one! That is wonderful to have a dump of all 4.xx firmware, to have an ASM commented source of v4.13 and jewel in the crown, to have the most annoying bugs corrected with optimizations in bonus, all of that in a very short period of time. Thank you very much to all the people involved, especially @Maelgrum who made it possible.
But it is quite sad their is no real conclusion there. I was left a little unsatisfied as nothing new was done since last October.
Is there any plan for new optimizations or additions in the firmware in the future?
Is there any clue on what can causes the last remaining issue if not a bug in the DSP?
Is there a place, apart from along the thread, where the files and the project purpose and history can be accessed?
Thanks.

Hard to say, haven't been too active myself as i've been working on some ai stuff. But the biggest issue i was facing here is that none of the functions were properly documentated (inside the files) so if any changes are/need to be made it just takes so much time and it becomes a mess. Which is something i was working on, keeping the original file intact so that it would still be an exact match while having all the functions properly sorted and work with a patch file instead. But like i said just haven't been too busy with it.

As for what has been done, i had alot of it stored and sorted locally but if you want to have a look at the firmwares and asm files they should be uploaded here aswell:
https://github.com/S95Sedan/CT1741_DSP/

Reply 1041 of 1051, by nosuch

User metadata
Rank Newbie
Rank
Newbie

Does anyone know if the AWE64 CT4500 can be fixed with the chip replacement? I saw a few mentions of AWE series but I wanted to double check.

If I want to try the fix just for fun, what's a good cheap model to pick up on eBay and end up with a nice card?

Reply 1043 of 1051, by appiah4

User metadata
Rank l33t++
Rank
l33t++
Kahenraz wrote on 2024-02-22, 04:35:

The DSP is integrated into the sound chip for the AWE64 and is not compatible. But the AWE64 is already bug free, I believe.

Correct on both accounts.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 1046 of 1051, by Kahenraz

User metadata
Rank l33t
Rank
l33t

My TL866II Plus works great for this.

Flashing is the easy part. Soldering on those little sockets without melting them is a challenge. I clip off the bottom so that it's easier to reach each individual pin.

Reply 1047 of 1051, by S95Sedan

User metadata
Rank Member
Rank
Member

Heres a somewhat more recent file if anyone is interested, based on 4.16, while keeping the Initialization (CSP) for AWE32 cards from 4.13 intact.

; 1. PSW fix 			(location: vector_dma_dac_adpcm, dac_silence)
; 2. ljmp X006e (location: vector_dma_dac_adpcm, dac_silence, vector_op5)
; 3. setb it1 (location: start)
; x. Version 4.17 (Updated to a custom firmware)
; x. Removed unused data at the end.

Attachments

  • Filename
    v416_patch1.zip
    File size
    19.41 KiB
    Downloads
    26 downloads
    File comment
    v4.16 - Patch 1 (Shows 4.17 in diagnose)
    File license
    CC-BY-4.0

Reply 1048 of 1051, by b_riera

User metadata
Rank Newbie
Rank
Newbie

First off, thanks to everyone who worked on this fantastic fix. Discovering this thread meant me happily buying cheap SB16s again.

I have two tests I do with them which seems to be DSP dependent. Not sure how good this is but it works for me.

First is load Hocus Pocus and let the first level song loop a few times using MIDI/Wave Blaster. Any card with the more severe hanging note bug will start to hold one of the final sustained notes of the music and it becomes unbearable pretty fast.
Second is to attempt to play Duke Nukem 2 with both music and digital sound enabled. This has plagued me since the the mid 90s on various cards and various systems running in DOS. Either it crashes immediately attempting to play the explosion sound at the start of the first level or just randomly playing more than one digital sound at the same time. Minimal boot disk or not, makes no difference. I've never completed the game because of this. ESS Audiodrive, various SB16 or Vibra16 models I've seen this happen. In fact, I've never seen this game run with 100% stability ever.

S95Sedan wrote on 2024-03-09, 10:00:

Heres a somewhat more recent file if anyone is interested, based on 4.16, while keeping the Initialization (CSP) for AWE32 cards from 4.13 intact.

So my results using a CT2230 testing both the patched 4.13 and now this patched 4.16 (unofficial 4.17) found on this post:
***Hanging note bug is completely gone (Hooray!)***

Duke 2:
*4.13 patched - level 1 loads fine. Played a little bit and no crashing but sometimes it could be a couple of levels in before it crashes. It's definitely not any worse than unmodified 4.11 or 4.13. Could be totally fixed but not sure yet.
*4.17 unofficial - level 1 loads fine. Right after the first enemy, pressing the shoot button to blast the red/grey breakable wall immediately locks up the computer every time without fail. I've never seen this before but I've also never tried playing Duke 2 on an AWE64 in DOS. Guess I could try on my Win98 PII system in DOS mode.

Either way, patching the Duke 2 executable to use more conventional memory and replacing the digital sound files with 8bit uncompressed seems to have totally solved the annoying problems regardless of DSP version. Not sure how much of a problem this really is as it seems to occur only with this game for me.

Reply 1049 of 1051, by S95Sedan

User metadata
Rank Member
Rank
Member
b_riera wrote on 2024-04-01, 16:11:
So my results using a CT2230 testing both the patched 4.13 and now this patched 4.16 (unofficial 4.17) found on this post: ***Ha […]
Show full quote
S95Sedan wrote on 2024-03-09, 10:00:

Heres a somewhat more recent file if anyone is interested, based on 4.16, while keeping the Initialization (CSP) for AWE32 cards from 4.13 intact.

So my results using a CT2230 testing both the patched 4.13 and now this patched 4.16 (unofficial 4.17) found on this post:
***Hanging note bug is completely gone (Hooray!)***

Duke 2:
*4.13 patched - level 1 loads fine. Played a little bit and no crashing but sometimes it could be a couple of levels in before it crashes. It's definitely not any worse than unmodified 4.11 or 4.13. Could be totally fixed but not sure yet.
*4.17 unofficial - level 1 loads fine. Right after the first enemy, pressing the shoot button to blast the red/grey breakable wall immediately locks up the computer every time without fail. I've never seen this before but I've also never tried playing Duke 2 on an AWE64 in DOS. Guess I could try on my Win98 PII system in DOS mode.

Either way, patching the Duke 2 executable to use more conventional memory and replacing the digital sound files with 8bit uncompressed seems to have totally solved the annoying problems regardless of DSP version. Not sure how much of a problem this really is as it seems to occur only with this game for me.

'hexen -warp 02' is a pretty definitive test which should trigger it instantly, or doom e1m3 aswell if i remember it correct.

Yeah Duke2 is very prone to crashing when the first sound effect plays even with some of the original firmwares, seems to work fine on CT1746 based cards but giving issues on CT1747 or newer cards.
Haven't really looking deeper into what exactly triggers it but surely theres gonna be a workaround for it.

Same for the dma clicking, still needs some more looking into, leaning towards the double 'nop' in one of the routines for fetching dsp data.
(dma_dac2_adpcm, dsp_input_data incase anyone else wants to do some digging.)

Reply 1050 of 1051, by b_riera

User metadata
Rank Newbie
Rank
Newbie
S95Sedan wrote on 2024-04-02, 15:52:

Yeah Duke2 is very prone to crashing when the first sound effect plays even with some of the original firmwares, seems to work fine on CT1746 based cards but giving issues on CT1747 or newer cards.

Yeah Duke 2 was a no-go for me with a stock SB16 Value CT2770. The specific card is dead and gone so not sure what firmware version but I have in my head it was 4.11. I have two more CT2770 cards but haven't tried them because no wave blaster header so I'm not interested in using them.
I put Duke 2 on my PII machine with Win98 and an AWE64 CT4520 using DSP v4.16 and it works perfectly in proper DOS mode with CTCM initialised etc. Looks like it's just when the firmware is modified/used on the newer SB16 cards like my CT2230.

Anyway, I'm more than happy to test in the future with my cards should anybody continue work. Otherwise, the current modded 4.13 and 4.16 do plenty. Thanks!

Reply 1051 of 1051, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

Thank you to all who contributed to this project! My SB16 CT2950 can now play midis without issue and works properly in games with the DB50XG attached - running 4.13 following the chip I removed and replaced with an AT89S52 using the firmware from S95Sedan's Github:

IMG_3184 (Custom) (1).JPG
Filename
IMG_3184 (Custom) (1).JPG
File size
1.11 MiB
Views
144 views
File license
CC-BY-4.0

This and the DeCQM thread, seriously retro hardware modifications are currently awesome. (wait, that was 5 years ago? woah)