diff options
Diffstat (limited to 'apps/plugins/rockboy/debug.c')
-rw-r--r-- | apps/plugins/rockboy/debug.c | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/apps/plugins/rockboy/debug.c b/apps/plugins/rockboy/debug.c index a829b98799..8dc7320035 100644 --- a/apps/plugins/rockboy/debug.c +++ b/apps/plugins/rockboy/debug.c | |||
@@ -571,7 +571,7 @@ void debug_disassemble(addr a, int c) | |||
571 | static int opaddr; | 571 | static int opaddr; |
572 | static char mnemonic[256]; | 572 | static char mnemonic[256]; |
573 | static char *pattern; | 573 | static char *pattern; |
574 | char meow[500],buf[300]; | 574 | char ops_str[300]; |
575 | if(!debug_trace) return; | 575 | if(!debug_trace) return; |
576 | 576 | ||
577 | while (c > 0) | 577 | while (c > 0) |
@@ -600,8 +600,7 @@ void debug_disassemble(addr a, int c) | |||
600 | case 'B': | 600 | case 'B': |
601 | case 'b': | 601 | case 'b': |
602 | ops[k] = readb(a); a++; | 602 | ops[k] = readb(a); a++; |
603 | j += snprintf(mnemonic + j,255-j, | 603 | j += snprintf(mnemonic + j,255-j, "%02Xh", ops[k++]); |
604 | "%02Xh", ops[k++]); | ||
605 | break; | 604 | break; |
606 | case 'W': | 605 | case 'W': |
607 | case 'w': | 606 | case 'w': |
@@ -614,8 +613,7 @@ void debug_disassemble(addr a, int c) | |||
614 | case 'O': | 613 | case 'O': |
615 | case 'o': | 614 | case 'o': |
616 | ops[k] = readb(a); a++; | 615 | ops[k] = readb(a); a++; |
617 | j += snprintf(mnemonic + j, 255-j,"%+d", | 616 | j += snprintf(mnemonic + j, 255-j,"%+d", (n8)(ops[k++])); |
618 | (n8)(ops[k++])); | ||
619 | break; | 617 | break; |
620 | } | 618 | } |
621 | i++; | 619 | i++; |
@@ -626,52 +624,19 @@ void debug_disassemble(addr a, int c) | |||
626 | } | 624 | } |
627 | } | 625 | } |
628 | mnemonic[j] = 0; | 626 | mnemonic[j] = 0; |
629 | snprintf(buf,299,"%04X ", opaddr); | ||
630 | strcpy(meow,buf); | ||
631 | switch (operand_count[ops[0]]) { | 627 | switch (operand_count[ops[0]]) { |
632 | case 1: | 628 | case 1: |
633 | snprintf(buf,299,"%02X ", ops[0]); | 629 | snprintf(ops_str,sizeof(ops_str),"%02X ", ops[0]); |
634 | strcat(meow,buf); | ||
635 | break; | 630 | break; |
636 | case 2: | 631 | case 2: |
637 | snprintf(buf,299,"%02X %02X ", ops[0], ops[1]); | 632 | snprintf(ops_str,sizeof(ops_str),"%02X %02X ", ops[0], ops[1]); |
638 | strcat(meow,buf); | ||
639 | break; | 633 | break; |
640 | case 3: | 634 | case 3: |
641 | snprintf(buf,299,"%02X %02X %02X ", ops[0], ops[1], ops[2]); | 635 | snprintf(ops_str,sizeof(ops_str),"%02X %02X %02X", ops[0], ops[1], ops[2]); |
642 | strcat(meow,buf); | ||
643 | break; | 636 | break; |
644 | } | 637 | } |
645 | snprintf(buf,"%-16.16s", mnemonic); | 638 | rb->lcd_putsxyf(0,0,"%04X %s %-16.16s", opaddr, ops_str, mnemonic); |
646 | strcat(meow,buf); | ||
647 | rb->lcd_putsxy(0,0,meow); | ||
648 | rb->lcd_update(); | 639 | rb->lcd_update(); |
649 | c--; | 640 | c--; |
650 | } | 641 | } |
651 | } | 642 | } |
652 | |||
653 | |||
654 | |||
655 | |||
656 | |||
657 | |||
658 | |||
659 | |||
660 | |||
661 | |||
662 | |||
663 | |||
664 | |||
665 | |||
666 | |||
667 | |||
668 | |||
669 | |||
670 | |||
671 | |||
672 | |||
673 | |||
674 | |||
675 | |||
676 | |||
677 | |||