static void yui_scudsp_update_codelist( YuiScudsp *scudsp, u32 addr) { /* refresh the assembler view. <addr> points the line to be highlighted. */ int i; static char tagPC[] = "<span foreground=\"red\">"; static char tagEnd[] = "</span>\n"; char buf[100*24+40]; char *curs = buf; char lineBuf[100]; u32 offset; if ( addr - scudsp->lastCode >= 20 ) offset = addr - 8; else offset = scudsp->lastCode; scudsp->lastCode = offset; for (i=0; i < 24; i++) { if ( offset + i == addr ) { strcpy( curs, tagPC ); curs += strlen(tagPC); } ScuDspDisasm(offset+i, lineBuf); strcpy( curs, lineBuf ); curs += strlen(lineBuf); if ( offset + i == addr ) { strcpy( curs, tagEnd ); curs += strlen(tagEnd); } else { strcpy( curs, "\n" ); curs += 1;} } *curs = 0; gtk_label_set_markup( GTK_LABEL(scudsp->uLabel), buf ); }
int SCUDSPDis(u32 addr, char *string) { ScuDspDisasm((u8)addr, string); return 1; }
int SCUDSPDis(void *context, u32 addr, char *string) { ScuDspDisasm((u8)addr, string); return 1; }