summaryrefslogtreecommitdiff
path: root/Source/Core/DSPCore/Src/DSPAnalyzer.cpp
diff options
context:
space:
mode:
authorMarko Pusljar <LM1234@gmail.com>2010-03-22 16:32:48 +0000
committerMarko Pusljar <LM1234@gmail.com>2010-03-22 16:32:48 +0000
commitcac8fa8afc246dafce5ef132bb9ce0fcb34483de (patch)
tree53059971b6c896b9a636cc64a5ec2106ea070487 /Source/Core/DSPCore/Src/DSPAnalyzer.cpp
parent11a215567b8b096b2e9c02c51d0b4b26d9316f9d (diff)
DSPLLE - small fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5221 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DSPCore/Src/DSPAnalyzer.cpp')
-rw-r--r--Source/Core/DSPCore/Src/DSPAnalyzer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/DSPCore/Src/DSPAnalyzer.cpp b/Source/Core/DSPCore/Src/DSPAnalyzer.cpp
index 2400f27274..80b86d728c 100644
--- a/Source/Core/DSPCore/Src/DSPAnalyzer.cpp
+++ b/Source/Core/DSPCore/Src/DSPAnalyzer.cpp
@@ -90,17 +90,18 @@ void AnalyzeRange(int start_addr, int end_addr)
continue;
}
code_flags[addr] |= CODE_START_OF_INST;
- addr += opcode->size;
-
- // Look for loops.
+ // Look for loops. (this is not used atm)
if ((inst.hex & 0xffe0) == 0x0060 || (inst.hex & 0xff00) == 0x1100) {
// BLOOP, BLOOPI
u16 loop_end = dsp_imem_read(addr + 1);
+ code_flags[addr] |= CODE_LOOP_START;
code_flags[loop_end] |= CODE_LOOP_END;
} else if ((inst.hex & 0xffe0) == 0x0040 || (inst.hex & 0xff00) == 0x1000) {
// LOOP, LOOPI
+ code_flags[addr] |= CODE_LOOP_START;
code_flags[addr + 1] |= CODE_LOOP_END;
}
+ addr += opcode->size;
}
// Next, we'll scan for potential idle skips.
@@ -122,7 +123,6 @@ void AnalyzeRange(int start_addr, int end_addr)
{
NOTICE_LOG(DSPLLE, "Idle skip location found at %02x", addr);
code_flags[addr] |= CODE_IDLE_SKIP;
- // TODO: actually use this flag somewhere.
}
}
}