DSPSymbols: remove unused ReadAnnotatedAssembly

It's unused, and it used a weird format, something like:

```
void label_name() {
   asm $REG1, $REG2
   // etc
}
```
This commit is contained in:
Michael M 2017-06-23 22:39:52 -07:00
parent ed56f319b5
commit 1ba43e6c27
2 changed files with 0 additions and 136 deletions

View File

@ -78,141 +78,6 @@ Symbol* DSPSymbolDB::GetSymbolFromAddr(u32 addr)
return nullptr;
}
bool ReadAnnotatedAssembly(const std::string& filename)
{
File::IOFile f(filename, "r");
if (!f)
return false;
char line[512];
int last_addr = 0;
lines.reserve(3000);
// Symbol generation
int brace_count = 0;
bool symbol_in_progress = false;
int symbol_count = 0;
Symbol current_symbol;
while (fgets(line, 512, f.GetHandle()))
{
// Scan string for the first 4-digit hex string.
size_t len = strlen(line);
int first_hex = -1;
bool hex_found = false;
for (unsigned int i = 0; i < strlen(line); i++)
{
const char c = line[i];
if (isxdigit(c))
{
if (first_hex == -1)
{
first_hex = i;
}
else
{
// Remove hex notation
if ((int)i == first_hex + 3 && (first_hex == 0 || line[first_hex - 1] != 'x') &&
(i >= len - 1 || line[i + 1] == ' '))
{
hex_found = true;
break;
}
}
}
else
{
if (i - first_hex < 3)
{
first_hex = -1;
}
if (isalpha(c))
break;
}
}
// Scan for function starts
if (!memcmp(line, "void", 4))
{
char temp[256];
for (size_t i = 6; i < len; i++)
{
if (line[i] == '(')
{
// Yep, got one.
memcpy(temp, line + 5, i - 5);
temp[i - 5] = 0;
// Mark symbol so the next hex sets the address
current_symbol.Rename(temp);
current_symbol.address = 0xFFFF;
current_symbol.index = symbol_count++;
symbol_in_progress = true;
// Reset brace count.
brace_count = 0;
}
}
}
// Scan for braces
for (size_t i = 0; i < len; i++)
{
if (line[i] == '{')
brace_count++;
if (line[i] == '}')
{
brace_count--;
if (brace_count == 0 && symbol_in_progress)
{
// Commit this symbol.
current_symbol.size = last_addr - current_symbol.address + 1;
g_dsp_symbol_db.AddCompleteSymbol(current_symbol);
current_symbol.address = 0xFFFF;
symbol_in_progress = false;
}
}
}
if (hex_found)
{
int hex = 0;
sscanf(line + first_hex, "%04x", &hex);
// Sanity check
if (hex > last_addr + 3 || hex < last_addr - 3)
{
static int errors = 0;
INFO_LOG(DSPLLE, "Got Insane Hex Digit %04x (%04x) from %s", hex, last_addr, line);
errors++;
if (errors > 10)
{
return false;
}
}
else
{
// if (line_counter >= 200 && line_counter <= 220)
// NOTICE_LOG(DSPLLE, "Got Hex Digit %04x from %s, line %i", hex, line, line_counter);
if (symbol_in_progress && current_symbol.address == 0xFFFF)
current_symbol.address = hex;
line_to_addr[line_counter] = hex;
addr_to_line[hex] = line_counter;
last_addr = hex;
}
}
lines.push_back(TabsToSpaces(4, line));
line_counter++;
}
return true;
}
void AutoDisassembly(u16 start_addr, u16 end_addr)
{
AssemblerSettings settings;

View File

@ -23,7 +23,6 @@ public:
extern DSPSymbolDB g_dsp_symbol_db;
bool ReadAnnotatedAssembly(const std::string& filename);
void AutoDisassembly(u16 start_addr, u16 end_addr);
void Clear();