| 1663 | } |
| 1664 | |
| 1665 | static void disassemble_wait (FILE *file, unsigned long insn) |
| 1666 | { |
| 1667 | int vp, hp, ve, he, bfd, v_mask, h_mask; |
| 1668 | int doout = 0; |
| 1669 | |
| 1670 | vp = (insn & 0xff000000) >> 24; |
| 1671 | hp = (insn & 0x00fe0000) >> 16; |
| 1672 | ve = (insn & 0x00007f00) >> 8; |
| 1673 | he = (insn & 0x000000fe); |
| 1674 | bfd = (insn & 0x00008000) >> 15; |
| 1675 | |
| 1676 | /* bit15 can never be masked out*/ |
| 1677 | v_mask = vp & (ve | 0x80); |
| 1678 | h_mask = hp & he; |
| 1679 | if (v_mask > 0) { |
| 1680 | doout = 1; |
| 1681 | console_out (_T("vpos ")); |
| 1682 | if (ve != 0x7f) { |
| 1683 | console_out_f (_T("& 0x%02x "), ve); |
| 1684 | } |
| 1685 | console_out_f (_T(">= 0x%02x"), v_mask); |
| 1686 | } |
| 1687 | if (he > 0) { |
| 1688 | if (v_mask > 0) { |
| 1689 | console_out (_T(" and")); |
| 1690 | } |
| 1691 | console_out (_T(" hpos ")); |
| 1692 | if (he != 0xfe) { |
| 1693 | console_out_f (_T("& 0x%02x "), he); |
| 1694 | } |
| 1695 | console_out_f (_T(">= 0x%02x"), h_mask); |
| 1696 | } else { |
| 1697 | if (doout) |
| 1698 | console_out (_T(", ")); |
| 1699 | console_out (_T(", ignore horizontal")); |
| 1700 | } |
| 1701 | |
| 1702 | console_out_f (_T("\n \t; VP %02x, VE %02x; HP %02x, HE %02x; BFD %d\n"), |
| 1703 | vp, ve, hp, he, bfd); |
| 1704 | } |
| 1705 | |
| 1706 | #define NR_COPPER_RECORDS 100000 |
| 1707 | /* Record copper activity for the debugger. */ |
no test coverage detected