HomeForumsWhat's newResources 
 
 
DSP execution time
ob1 - Jan 5, 2007

 < Prev  1  2 

 RockinB Jan 10, 2007

ob1 said:
The DSP can handle multiple operations simultaneously.


Well, basically the DSP is just a multiply-accumulate unit that is always running. All that the opcode does is determine data flow, alu operation modes and pointer increment.

Finding the right task that keeps it as busy as possibly is quite difficult. You can waste a lot of instructions (ONLY up to 256, although you can DMA new opcodes) with condition testing, program control flow, subprograms...with everything that is not multiply accumulate.

If it would run at full speed (not half), would have more instruction storage (not just 256) and feature a division unit, then it would be a beast.

I've been thinking (concerning the position: between A, B and CPU bus) that some on-the-fly data conversion, like audio/data decompression would fit quite perfectly. For streaming and processing data from CD directly into sound RAM or video RAM.

 CyberWarriorX Jan 10, 2007

Runik said:
Just a remark : be careful with DSP docs as they're full of mistakes and typos (like every Sega doc translated from japanese to english )


Indeed. They're also horribly wrong in some areas. There's also a few undocumented behaviors not in the docs.

 antime Jan 10, 2007

RockinB said:
DSPSIM.EXE and DSPASM.EXE. There is even a homebrew disassembler out there..



Fun (if pointless) fact: Dennis Caswell who presumably wrote the DSP assembler and simulator (his name is in the "Manual Addenda") also wrote Mission Impossible for the C64. (The disassembler was written by me. Unfortunately I was too lazy to follow up with an assembler.)

 ob1 Jan 10, 2007
mission impossible : "another visitor, stay it well, stay forever ah ah ah ah"

 CyberWarriorX Jan 10, 2007
There's also a complete disassembler in yabause as well if you need any reference code.

 < Prev  1  2