VOGONS


The Soundblaster DSP project

Topic actions

Reply 1040 of 1069, 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 1069, 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 1042 of 1069, by Kahenraz

User metadata
Rank l33t
Rank
l33t

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

Reply 1043 of 1069, 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.

Reply 1044 of 1069, by megatog615

User metadata
Rank Newbie
Rank
Newbie

Anyone selling chips with the bin already written?

Reply 1045 of 1069, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I think most people who have the tooling to desolder the original chip and install a socket probably have a minipro or equivalent...

Reply 1046 of 1069, 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 1069, 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.

Reply 1048 of 1069, 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 1069, 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 1069, 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 1069, 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:

The attachment IMG_3184 (Custom) (1).JPG is no longer available

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

Reply 1052 of 1069, by groquik

User metadata
Rank Newbie
Rank
Newbie

Hello.
Impressive work.
But I dont find in all this topic any dump of 1.xx and 2.xx DSP. Could someone share them in binary or intel HEX as I would like to make some tests with them on atmel 89s51 chips.

Reply 1053 of 1069, by S95Sedan

User metadata
Rank Member
Rank
Member
groquik wrote on 2024-05-01, 19:33:

Hello.
Impressive work.
But I dont find in all this topic any dump of 1.xx and 2.xx DSP. Could someone share them in binary or intel HEX as I would like to make some tests with them on atmel 89s51 chips.

Not needed as it was already done in the past;
https://github.com/schlae/sb-firmware

v3.02 is here which might be similair aswell.
https://github.com/S95Sedan/CT1741_DSP/blob/m … 4k_4701c5fc.asm

Reply 1054 of 1069, by Maelgrum

User metadata
Rank Member
Rank
Member
groquik wrote on 2024-05-01, 19:33:

Hello.
Impressive work.
But I dont find in all this topic any dump of 1.xx and 2.xx DSP. Could someone share them in binary or intel HEX as I would like to make some tests with them on atmel 89s51 chips.

SB 2.02 firmware, dumped by TubeTimeUS.
Binary included.

Reply 1055 of 1069, by hpxca

User metadata
Rank Newbie
Rank
Newbie

Sorry if this has been asked. but are the 4.XX DSP versions interchangeable at all? I've already used this project once and replaced the 4.13DSP on a CT2830 with the patched version from the github and it works great! But i have another SB16 with a 4.11 DSP and i'm curious if this can be replaced with 4.13 or even 4.16 or if I need to stick with 4.11?

Reply 1056 of 1069, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
hpxca wrote on 2024-06-15, 20:31:

Sorry if this has been asked. but are the 4.XX DSP versions interchangeable at all? I've already used this project once and replaced the 4.13DSP on a CT2830 with the patched version from the github and it works great! But i have another SB16 with a 4.11 DSP and i'm curious if this can be replaced with 4.13 or even 4.16 or if I need to stick with 4.11?

You can use either version, as long as the DSP chip is separate and accessible.

Reply 1057 of 1069, by marcushg85

User metadata
Rank Newbie
Rank
Newbie

Hi and thanks to all who are contributing to this project. I've been following it for some time and after receiving some 89c52 chips I flashed the modded firmware bin 413 patch 5 and installed them (without a socket) on two 2290 cards I had. Can't make any of both cards to work now! Sbcheck doesn't detect them and diagnose gives some error.. any ideas? Both cards behave just the same.
I'm using them in a k6-3+ 600mhz on mvp3 board

Reply 1058 of 1069, by MadLynx

User metadata
Rank Newbie
Rank
Newbie
marcushg85 wrote on 2024-06-22, 10:20:

Hi and thanks to all who are contributing to this project. I've been following it for some time and after receiving some 89c52 chips I flashed the modded firmware bin 413 patch 5 and installed them (without a socket) on two 2290 cards I had. Can't make any of both cards to work now! Sbcheck doesn't detect them and diagnose gives some error.. any ideas? Both cards behave just the same.
I'm using them in a k6-3+ 600mhz on mvp3 board

If the chips came from China than you should've double check if they flashed correctly. Chinese sellers OFTEN sell you scrapped ICs and there very likely be several bad blocks that can't be written.

Reply 1059 of 1069, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Can your programmer verify whether the DSP FW is flashed correctly? If the chip's contents are indeed fine, verify whether the chip is properly soldered.

Back then I installed a PLCC socket on my CT2950 for easier access of the modded DSP chip, and it did not work initially. Only after redoing the soldering of the socket one more time did I get it working.