VOGONS


The Soundblaster DSP project

Topic actions

Reply 360 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
mattw wrote on 2023-10-02, 16:37:
agree, but I don't have DB-15 connector, however I am now baffled, because there is doubt what are Pin 15 and Pin 12, here is Di […]
Show full quote
Maelgrum wrote on 2023-10-02, 16:32:

Why shorting directly on PCB ?
Most simple way is get DB-15M connector:

agree, but I don't have DB-15 connector, however I am now baffled, because there is doubt what are Pin 15 and Pin 12, here is Diagram of the Connector:

http://midi.teragonaudio.com/hardware/pc_intfc.htm

yet on the cable I am using and that works on any other SB card, I measured between those 2 pins MOhms resistance?! Another interesting thing is that another user here with that same CT2290 model:

MT-32 SB16 CT2290 NO GO :)

had a problem and needed to try 2 different MIDI cables - only the 2nd one worked. In any way, I don't get what's the case with my current cable - maybe it has some Active components inside and when there is no power the pins are not shorted and hence the MOhms resistance when I measure it out-of-circuit.

Gameport to midi connector might have some circuit inside - optocoupler, resistors, may be some logic gates.
Normal MIDI is isolated, no galvanic connection.

Reply 361 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
mattw wrote on 2023-10-02, 16:37:

agree, but I don't have DB-15 connector, however I am now baffled, because there is doubt what are Pin 15 and Pin 12, here is Diagram of the Connector:

http://midi.teragonaudio.com/hardware/pc_intfc.htm

On gameport connector:
Pin 15 is MIDI IN.
Pin 12 is MIDI OUT.
Connecting this 2 pins with wire is enough for midi loopback.

Reply 362 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

Are those the correct 2 pins - as per the attached picture?

Attachments

  • midi_pins.jpg
    Filename
    midi_pins.jpg
    File size
    476.81 KiB
    Views
    795 views
    File comment
    DB15 MIDI Connector, Pin15 and Pin12?
    File license
    Public domain

Reply 365 of 1053, by S95Sedan

User metadata
Rank Member
Rank
Member
Maelgrum wrote on 2023-10-02, 17:10:

Please give me some feedback - is V0.03 works ? how fast is it ?
I have absolutely no means to test it by myself.

Getting it to run now on a CT3980 and CT3990.
Both cards took about ~1min 30.

Around 0000-1200 is pretty fast at around 1300-1600 in the process it slows down compared to the start. 1700-end its fast aswell.

Attachments

  • Filename
    ct3990_413.zip
    File size
    4.54 KiB
    Downloads
    30 downloads
    File license
    Public domain
  • Filename
    ct3980_413.zip
    File size
    4.54 KiB
    Downloads
    26 downloads
    File license
    Public domain
Last edited by S95Sedan on 2023-10-02, 17:29. Edited 1 time in total.

Reply 366 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
S95Sedan wrote on 2023-10-02, 17:19:
Maelgrum wrote on 2023-10-02, 17:10:

Please give me some feedback - is V0.03 works ? how fast is it ?
I have absolutely no means to test it by myself.

Getting it to run now on a CT3980 and CT3990.
Dumping on the first card took about ~1min 30.

Thanks for testing, S95Sedan !
Dump is same as known 4.13.
Speed improvements are impressive ))

Reply 367 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
S95Sedan wrote on 2023-10-02, 17:19:

Around 0000-1200 is pretty fast at around 1300-1600 in the process it slows down compared to the start. 1700-end its fast aswell.

It depends on dump stream data, every 0x00 in dump forces to restart attack run.
More 0x00 in dump - slower it goes.

Reply 368 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie

Finally, CT2290/CT2291 card - dumped - it has really very picky MIDI interface (compared to any other SB card I dumped in the last days) - at the end what worked best, i.e. most reliable and stable was 10cm jumper-wire from a breadboard:

midi_loop_ct2290.jpg
Filename
midi_loop_ct2290.jpg
File size
217.65 KiB
Views
722 views
File license
Public domain

the Firmware is what I called "Variant B", i.e. CRC32 hash of "e22e9001", i.e. same as the old hardware dump.

V0.03 is about 10 times faster - I tested both with the previous version on that picky CT2290 card and it was like 20 minutes vs 2 minutes. So, V0.03 is at least 10 times faster, but the question now is which V4.13 model is still not dumped - I think we already dumped most card models with V4.13 and maybe more than 1 time.

Reply 369 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member

Future plans:
1. Include CRC calculation and database of CRC's of different versions of fw in sbdumper
2. Support more known DSP versions (4.04, 4.05, 4.11)
3. Try to hack 4.12
4. Try to hack 4.16

Last edited by Maelgrum on 2023-10-02, 17:54. Edited 1 time in total.

Reply 370 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
Maelgrum wrote on 2023-10-02, 17:52:
Future plans: 1. Include CRC calculation and CRC version database in sbdumper 2. Support more known DSP versions (4.04, 4.05, 4. […]
Show full quote

Future plans:
1. Include CRC calculation and CRC version database in sbdumper
2. Support more known DSP versions (4.04, 4.05, 4.11)
3. Try to hack 4.12
4. Try to hack 4.16

Two thumbs up, especially about point 4. - have 4 x DSP V4.16 cards to play with...

[EDIT] and about point 1: you can add check for known version, i.e. for example if it's V4.13 and CRC32 of either "1d7bf127" or "e22e9001", tell it's a known version and so people do not submit here and pollute over and over again with the same dump - that's why I don't upload here dump when it's known.

Last edited by mattw on 2023-10-02, 18:22. Edited 2 times in total.

Reply 371 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
mattw wrote on 2023-10-02, 17:54:

[EDIT] and about point 1: you can add check for known version, i.e. for example if it's V4.13 and CRC32 of either "1d7bf127" or "e22e9001", tell it's a known version and so people do not submit here and pollute over and over again with the same dump - that's why I don't upload here dump when it's known.

This is exactly that i had in mind ))

Reply 372 of 1053, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
mattw wrote on 2023-10-02, 15:42:
OK, after making dumps on already, I don't know, maybe close to dozen of V4.13 cards here is summary of the results - in very sh […]
Show full quote

OK, after making dumps on already, I don't know, maybe close to dozen of V4.13 cards here is summary of the results - in very short it seems there are only 2 variants of V4.13 DSP code (or maybe 3 - see the end of the post both for comments and help):

* Variant A dumped by me from:
- 1 x CT4180 (ViBRA 16C)
- 2 x CT2960 (ViBRA 16C, "SB PRELUDE" - on the sticker/label)

it's the same as what @georgel dumped and posted here:

Re: The Soundblaster DSP project

In other words now we have that same dump from 4 different "ViBRA 16C"-based cards. 3 dumps made by me and 1 made by @georgel. CRC32 hash of Variant A is "1d7bf127" - just so we have some easy way to refer to it.

* Variant B dumped by me from:

- 1 x CT3980 (AWE32)
- 1 x CT3990 (AWE32)
- 1 x CT2910 (that's the model written on the PCB, on the sticker/label it says "CT2911 SBIDE" - maybe that is better precised the exact model)

same as the old hardware dump and what I commented here:

Re: The Soundblaster DSP project

CRC32 hash of Variant B is "e22e9001" - again counting the old hardware dump we now have it confirmed 4 times, 3 times by me and 1 time the old hardware dump.

* Help Needed, please comment:
- 1 x CT2290 (that's the model written on the PCB, on the sticker/label it says "CT2291 SB16IDE" - maybe that is better precised the exact model):

It's Very curious case, as it fails with:

SB Reset: done
DSP version: 4.13
MPU-401 init: done
Internal memory dump: done
MPU-401 loopback check: failed!
ERROR: Midi loopback not present

now considering I am using factory cable for the MIDI Loopback:

Re: The Soundblaster DSP project

I am excluding that as possible root cause of the problem and to me it leaves some of the following options - what you think:

1. that card is faulty, even it looks immaculate and in like new condition
2. that model doesn't like MIDI Loopback, i.e. it causes some crash on electrical level on the PCB
3. @Maelgrum Dumper needs something special to make MIDI Loopback work on that model, i.e. it has somehow different DSP V4.13
4. something else?

I guess it will be hard to say until some other user test the exact same model ,i.e. that way at least option 1 will be ruled out and give some idea for option2 as well.

Last, but not least I found 3 more CT4170 (Vibra16XV), i.e. now I have 4 of them and they are all DSP V4.16 - totally sacrificial as I don't need them, i.e. completely dedicating them to be used for DSP V4.16 attack.

Maelgrum wrote on 2023-10-02, 14:56:

dumping must be much faster.

thank you, it might be, but I already dumped all cards I have - except one for which I need your help, because I am not sure what is wrong - see above.

I have encountered a few soundblasters with bad hardware MIDI output over the years. In fact it is why I started socketing the DSPs on these cards to begin with. It seems the joystick port was directly connected to the 8052 with no buffering, so most likely someone plugged in something to the joystick port and damaged the MCU's GPIO pin.

Out of curiosity where did you find the DIN coupler / loopback adapter you're using?

Reply 373 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2023-10-02, 18:41:

Out of curiosity where did you find the DIN coupler / loopback adapter you're using?

It was in the retail box of my AWE32 card, but since it's second hand I don't know if Creative included it or if it's 3rd party. those couplers are rare and harder to find - usually I am using "midi y splitter" cable as a coupler, because they are very common.

maxtherabbit wrote on 2023-10-02, 18:41:

I have encountered a few soundblasters with bad hardware MIDI output over the years.

CT2290/CT2291 card MIDI port is very picky, I am not the first one to got problems with it:

MT-32 SB16 CT2290 NO GO :)

that other user also needed to change cables (even in that other cable the 1st cable maybe was totally defective - it's not clear). Anyway, definitely there is some interference going on that model - especially with Loopback...

Reply 374 of 1053, by DerBaum

User metadata
Rank Oldbie
Rank
Oldbie

CT2940 (version with real OPL) 4.13 Dump (with version 0.03)

crc32 HASH : a38cbcb2

Filename
MDUMP2.rar
File size
3.88 KiB
Downloads
25 downloads
File license
Public domain

I hope im doing it the right way...

FCKGW-RHQQ2

Reply 375 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
DerBaum wrote on 2023-10-02, 19:13:
CT2940 (version with real OPL) 4.13 Dump (with version 0.03) […]
Show full quote

CT2940 (version with real OPL) 4.13 Dump (with version 0.03)

crc32 HASH : a38cbcb2

MDUMP2.rar

I hope im doing it the right way...

Looks OK.
Thanks, DerBaum, for this dump.
This is Variant C - same as Variant B, but last 2048 unused bytes filled with 0xFC. (In variant B fill byte is 0xFF).

Reply 376 of 1053, by DerBaum

User metadata
Rank Oldbie
Rank
Oldbie
Maelgrum wrote on 2023-10-02, 19:26:

Looks OK.

CT2950 (version without real OPL)v4.13 Dump (with 0.03)

crc32Hash: e22e9001

Filename
MDUMP2.rar
File size
3.96 KiB
Downloads
24 downloads
File license
Public domain

Edit: i just have seen that this exact crc was already mentioned before. i will not upload dumps of known crcs again, and just mention the card i tested.

Last edited by DerBaum on 2023-10-02, 19:55. Edited 1 time in total.

FCKGW-RHQQ2

Reply 377 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
DerBaum wrote on 2023-10-02, 19:13:

CT2940 (version with real OPL) 4.13 Dump (with version 0.03)

crc32 HASH : a38cbcb2

Kudos, really good one! So, I see kind of a pattern emerges: all cards that uses discrete 8052 MCU chip are CRC32 "e22e9001" variant, all ViBRA16C are "1d7bf127" and now a card like CT2940 with CT2502 is "a38cbcb2". So, are there any other designs with V4.13, if not, i think those will be all variants.

Reply 378 of 1053, by DerBaum

User metadata
Rank Oldbie
Rank
Oldbie

CT3600 (version without real OPL (i dont know if they ever made a version where the opl chip is populated)) v4.13 Dump (with 0.03)

crc32Hash: c263fd4b

Filename
MDUMP2.rar
File size
3.89 KiB
Downloads
25 downloads
File license
Public domain

FCKGW-RHQQ2

Reply 379 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
DerBaum wrote on 2023-10-02, 19:41:

CT3600
crc32Hash: c263fd4b

hmm, only 1 byte is different compared to CT2940, but both cards use the same CT2502 chip and what is the significance of that different single byte? could it be, that's some bug in V0.03? we need @Maelgrum opinion on this. [EDIT] or maybe it is silicon degradation and one single bit flipped with age?!

Last edited by mattw on 2023-10-02, 19:59. Edited 1 time in total.