VOGONS


The Soundblaster DSP project

Topic actions

Reply 260 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
Maelgrum wrote on 2023-09-30, 19:44:

Now i can try to code real dumper. First version will be dedicated V4.13 dumper as proof of concept.

In order to help further the effort I spent the last few hours in my storage - breathing the dust and doing the heavy lifting, but I found I think good cards for the V4.13 PoC testing:

1. CT3980 (AWE32) with V4.13 DSP
2. CT3990 (AWE32) with V4.13 DSP
3. D-SUB to MIDI cable - even found the Loopback adapter and I already connected the Midi-IN to Midi-OUT: see the attached picture

Also, took 2 motherboards with ISA slots, need to put everything together, but if there are no any further problems even sometimes tomorrow I could have my testing system ready.

Attachments

  • midi_loop.jpg
    Filename
    midi_loop.jpg
    File size
    219 KiB
    Views
    820 views
    File comment
    D-SUB to MIDI Loopback Connection
    File license
    Public domain
Last edited by mattw on 2023-09-30, 20:54. Edited 1 time in total.

Reply 261 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member

sb16dump V0.01 complete.
works with V4.13 only (unpatched, or patch3) , port 0x220, mpu 0x330.
external MIDI loopback (MIDI OUT to MIDI in) is mandatory.

BE WARNED ! this is highly experimental piece of software, so you use it on you own risk.
I dont have any means to test it by myself right now, so may be it does not work at all.

Attachments

Reply 262 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
Maelgrum wrote on 2023-09-30, 20:54:

sb16dump V0.01 complete.
works with V4.13 only (unpatched, or patch3) , port 0x220, mpu 0x330.
external MIDI loopback (MIDI OUT to MIDI in) is mandatory.

thank you! I hope sometime tomorrow I will be able to give you feedback...

Reply 264 of 1053, by georgel

User metadata
Rank Member
Rank
Member

This first time after power on I got this log:
SB Reset: done
DSP version: 4.13
MPU-401 init: done
Internal memory dump: done
MPU-401 loopback check: done
ERROR: Dump failed

All consecutive tests lead to failure to communicate with the DSP which is good I think.

Reply 265 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
georgel wrote on 2023-09-30, 21:37:
This first time after power on I got this log: SB Reset: done DSP version: 4.13 MPU-401 init: done Internal memory dump: done M […]
Show full quote

This first time after power on I got this log:
SB Reset: done
DSP version: 4.13
MPU-401 init: done
Internal memory dump: done
MPU-401 loopback check: done
ERROR: Dump failed

All consecutive tests lead to failure to communicate with the DSP which is good I think.

Please do power off, on, and try previous version (not last dumper). Comminication OK ?

Reply 266 of 1053, by georgel

User metadata
Rank Member
Rank
Member

This is the first version I am trying. No problem to me because by powering off the operation recovers. I am not worried about halting. The RAM dumps are also created by this one so it works like the previous versions I guess until the last stage when it attempts ROM dumping.

Reply 267 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
georgel wrote on 2023-09-30, 21:45:

This is the first version I am trying. No problem to me because by powering off the operation recovers. I am not worried about halting. The RAM dumps are also created by this one so it works like the previous versions I guess until the last stage when it attempts ROM dumping.

BTW, it is not V4.13 patch 4?

Reply 268 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
georgel wrote on 2023-09-30, 21:45:

when it attempts ROM dumping.

  dsp_413_attack (0x0000);
if (error) { error = ERROR_DUMP_FAILED; return; }
if (dump[0] != 0x02) { error = ERROR_DUMP_FAILED; return; }

I guess that's the point at which it fails, but I am not convinced it actually fails - if you use Original DSP chip, then maybe your DSP 4.13 version doesn't actually has byte0 equal to 0x02 (i.e. the Dump we have is made on another card model), I think good next test is to print "dump[0]" value, especially if you use Original and not decrypted and patched DSP.

Reply 269 of 1053, by georgel

User metadata
Rank Member
Rank
Member
Maelgrum wrote on 2023-09-30, 21:51:
georgel wrote on 2023-09-30, 21:45:

This is the first version I am trying. No problem to me because by powering off the operation recovers. I am not worried about halting. The RAM dumps are also created by this one so it works like the previous versions I guess until the last stage when it attempts ROM dumping.

BTW, it is not V4.13 patch 4?

No, it is Vibra 16 with incorporated controller. What is more interesting what I considered halting is not halting at all -- TEST-SBP.EXE still recognizes the card and plays music. It is just the state that the card is left that results in the following behavior of your dumper:

SB Reset: done
DSP version: 4.13
MPU-401 init: failed!
ERROR: Cannot SEND cmd to MPU

Reply 270 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
mattw wrote on 2023-09-30, 21:52:
I guess that's the point at which it fails, but I am not convinced it actually fails - if you use Original DSP chip, then maybe […]
Show full quote
georgel wrote on 2023-09-30, 21:45:

when it attempts ROM dumping.

  dsp_413_attack (0x0000);
if (error) { error = ERROR_DUMP_FAILED; return; }
if (dump[0] != 0x02) { error = ERROR_DUMP_FAILED; return; }

I guess that's the point at which it fails, but I am not convinced it actually fails - if you use Original DSP chip, then maybe your DSP 4.13 version doesn't actually has byte0 equal to 0x02 (i.e. the Dump we have is made on another card model), I think good next test is to print "dump[0]" value, especially if you use Original and not decrypted and patched DSP.

It must be first byte of LJMP (0x02) (address 0x0000 is Reset vector). On all seen DSP fw, it is 0x02.

Reply 271 of 1053, by mattw

User metadata
Rank Oldbie
Rank
Oldbie
Maelgrum wrote on 2023-09-30, 21:59:

It must be first byte of LJMP (0x02) (address 0x0000 is Reset vector). On all seen DSP fw, it is 0x02.

I see. I will try to put everything together from my side tomorrow and we will see what will happen on my two AWE32 with proper Loopback cable, even I am sure @georgel soldered properly the pins to achieve loopback and that's not the problem.

Reply 272 of 1053, by georgel

User metadata
Rank Member
Rank
Member

FYI I have also tried on CT2770 now with discrete MHS chip and the results are identical to those of Vibra 16 card. So you may consider the card out of suspicion. I have other sound blasters to try with if need be, but this is meaningless on my opinion.

Last edited by georgel on 2023-09-30, 22:15. Edited 1 time in total.

Reply 275 of 1053, by Maelgrum

User metadata
Rank Member
Rank
Member
georgel wrote on 2023-09-30, 22:04:

FYI I have also tried on CT2770 now with discrete MHS chip and the results are identical to those of Vibra 16 card. So you may consider the card out of suspicion. I have other sound blasters to try with if need be, but this is meaningless on my opinion.

Can you send me memory dumps (256 bytes, MDUMP1/2.bin) from you tested V4.13 ?

Reply 276 of 1053, by georgel

User metadata
Rank Member
Rank
Member

The attached are from vibra16 I guess. But of course the dump will depend on what was previously run with the SB card and on random power-on values of non-initialized bytes.

How is the ISA port 330/331 (or as configured) connected/decoded to the 8052 exactly? What do they trigger in the DSP?

Attachments

  • Filename
    MDUMP2.rar
    File size
    331 Bytes
    Downloads
    27 downloads
    File license
    Fair use/fair dealing exception

Reply 277 of 1053, by S95Sedan

User metadata
Rank Member
Rank
Member

When connecting it directly pin15 <> pin12 it gives a loopback error.
Will grab some ic's and make a proper circuit for it next week when i have the parts.

Last edited by S95Sedan on 2023-09-30, 23:38. Edited 1 time in total.

Reply 278 of 1053, by georgel

User metadata
Rank Member
Rank
Member
S95Sedan wrote on 2023-09-30, 22:53:

When connecting it directly pin15 <> pin12 it gives a loopback error.
Will grab some ic's and make a proper circuit for it next week when i have the parts.

I have connected both pairs of pins directly and loopback works nicely. No ICs are needed.

Reply 279 of 1053, by S95Sedan

User metadata
Rank Member
Rank
Member
georgel wrote on 2023-09-30, 23:11:

I have connected both pairs of pins directly and loopback works nicely. No ICs are needed.

Yeah, see what the issue is now, setup error.
I have a dedicated mpu-401 card on 330 so pretty obvious why it doesnt work.