Rev 4886 | Rev 4889 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4886 | Rev 4888 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | COLOR_TXT_NORMAL = 0xffffff |
27 | COLOR_TXT_NORMAL = 0xffffff |
28 | COLOR_TXT_INACTIVE = 0x8f7948 |
28 | COLOR_TXT_INACTIVE = 0x8f7948 |
29 | COLOR_TXT_CHANGED = 0xec9300 |
29 | COLOR_TXT_CHANGED = 0xec9300 |
30 | COLOR_TXT_LABEL = 0x22b14c |
30 | COLOR_TXT_LABEL = 0x22b14c |
31 | COLOR_TXT_SELECTED = 0x1d272f |
31 | COLOR_TXT_SELECTED = 0x1d272f |
32 | COLOR_TXT_ADDR = 0xec9300 |
32 | COLOR_TXT_HEX = 0xec9300 |
33 | COLOR_TXT_BREAKPOINT = 0xec9300 |
33 | COLOR_TXT_BREAKPOINT = 0xec9300 |
Line 34... | Line 34... | ||
34 | 34 | ||
Line 35... | Line 35... | ||
35 | else if COLOR_THEME eq WHITE_ON_BLACK |
35 | else if COLOR_THEME eq WHITE_ON_BLACK |
Line 41... | Line 41... | ||
41 | COLOR_TXT_NORMAL = 0xFFFFFF ; white |
41 | COLOR_TXT_NORMAL = 0xFFFFFF ; white |
42 | COLOR_TXT_INACTIVE = 0x808080 ; grey |
42 | COLOR_TXT_INACTIVE = 0x808080 ; grey |
43 | COLOR_TXT_CHANGED = 0x00AA00 ; green |
43 | COLOR_TXT_CHANGED = 0x00AA00 ; green |
44 | COLOR_TXT_LABEL = COLOR_TXT_NORMAL |
44 | COLOR_TXT_LABEL = COLOR_TXT_NORMAL |
45 | COLOR_TXT_SELECTED = 0xFFFFFF ; white |
45 | COLOR_TXT_SELECTED = 0xFFFFFF ; white |
46 | COLOR_TXT_ADDR = COLOR_TXT_NORMAL |
46 | COLOR_TXT_HEX = COLOR_TXT_NORMAL |
47 | COLOR_TXT_BREAKPOINT = COLOR_TXT_NORMAL |
47 | COLOR_TXT_BREAKPOINT = COLOR_TXT_NORMAL |
Line 48... | Line 48... | ||
48 | 48 | ||
Line 49... | Line 49... | ||
49 | else ; BLACK ON WHITE |
49 | else ; BLACK ON WHITE |
Line 55... | Line 55... | ||
55 | COLOR_TXT_NORMAL = 0x000000 ; black |
55 | COLOR_TXT_NORMAL = 0x000000 ; black |
56 | COLOR_TXT_INACTIVE = 0x808080 ; grey |
56 | COLOR_TXT_INACTIVE = 0x808080 ; grey |
57 | COLOR_TXT_CHANGED = 0x00AA00 ; green |
57 | COLOR_TXT_CHANGED = 0x00AA00 ; green |
58 | COLOR_TXT_LABEL = COLOR_TXT_NORMAL |
58 | COLOR_TXT_LABEL = COLOR_TXT_NORMAL |
59 | COLOR_TXT_SELECTED = 0xFFFFFF ; white |
59 | COLOR_TXT_SELECTED = 0xFFFFFF ; white |
60 | COLOR_TXT_ADDR = COLOR_TXT_NORMAL |
60 | COLOR_TXT_HEX = COLOR_TXT_NORMAL |
61 | COLOR_TXT_BREAKPOINT = COLOR_TXT_NORMAL |
61 | COLOR_TXT_BREAKPOINT = COLOR_TXT_NORMAL |
Line 62... | Line 62... | ||
62 | 62 | ||
Line 63... | Line 63... | ||
63 | end if |
63 | end if |
Line 553... | Line 553... | ||
553 | ;----------------------------------------------------------------------------- |
553 | ;----------------------------------------------------------------------------- |
554 | ; Show/hide cursor in command line |
554 | ; Show/hide cursor in command line |
Line 555... | Line 555... | ||
555 | 555 | ||
556 | ; TODO: make it cursor.draw and cursor.hide ??? |
556 | ; TODO: make it cursor.draw and cursor.hide ??? |
557 | draw_cursor: |
- | |
558 | ;push 38 |
- | |
559 | ;pop eax |
557 | draw_cursor: |
560 | mov ecx, cmdline_y_pos*10001h+cmdline_y_size-1 |
558 | mov ecx, cmdline_y_pos*10001h+cmdline_y_size-1 |
561 | mov ebx, [cmdline_pos] |
559 | mov ebx, [cmdline_pos] |
562 | imul ebx, 6 |
560 | imul ebx, 6 |
563 | add ebx, cmdline_x_pos |
561 | add ebx, cmdline_x_pos |
564 | mov edx, ebx |
562 | mov edx, ebx |
565 | shl ebx, 16 |
563 | shl ebx, 16 |
566 | or ebx, edx |
- | |
567 | ; setting line color |
- | |
568 | ; was 'xor edx, edx' - black |
564 | or ebx, edx |
569 | mov edx, COLOR_LINE |
565 | mov edx, COLOR_TXT_NORMAL |
570 | ; draw line, color in edx |
566 | ; draw line |
571 | mcall 38 |
567 | mcall 38 |
Line 572... | Line 568... | ||
572 | ret |
568 | ret |
573 | 569 | ||
574 | hide_cursor: |
- | |
575 | mov ebx, [cmdline_pos] |
- | |
576 | ;push 13 |
570 | hide_cursor: |
577 | ;pop eax |
571 | mov ebx, [cmdline_pos] |
578 | imul ebx, 6 |
572 | imul ebx, 6 |
579 | add ebx, cmdline_x_pos |
573 | add ebx, cmdline_x_pos |
580 | shl ebx, 16 |
574 | shl ebx, 16 |
581 | inc ebx |
- | |
582 | mov ecx, cmdline_y_pos*10000h + cmdline_y_size |
- | |
583 | ; setting up rectangle color |
575 | inc ebx |
584 | ; was 0xFFFFFF |
576 | mov ecx, cmdline_y_pos*10000h + cmdline_y_size |
585 | mov edx, COLOR_BG_NORMAL |
577 | mov edx, COLOR_BG_NORMAL |
586 | ; draw container rectangle/box |
578 | ; draw container rectangle/box |
587 | mcall 13 |
579 | mcall 13 |
588 | mov ebx, [cmdline_pos] |
580 | mov ebx, [cmdline_pos] |
589 | cmp ebx, [cmdline_len] |
- | |
590 | jae .ret |
581 | cmp ebx, [cmdline_len] |
591 | ;mov al, 4 |
- | |
592 | ; setting up text color scheme and attributes |
582 | jae .ret |
593 | ;was 'xor ecx, ecx' |
583 | ; setting up text color scheme and attributes |
594 | mov ecx, COLOR_TXT_NORMAL |
584 | mov ecx, COLOR_TXT_NORMAL |
595 | lea edx, [cmdline+ebx] |
585 | lea edx, [cmdline+ebx] |
596 | imul ebx, 6 |
586 | imul ebx, 6 |
Line 913... | Line 903... | ||
913 | ;----------------------------------------------------------------------------- |
903 | ;----------------------------------------------------------------------------- |
914 | ; Draw registers frame title |
904 | ; Draw registers frame title |
Line 915... | Line 905... | ||
915 | 905 | ||
916 | ; Also show current register set (common + MMX, SSE or AVX) |
906 | ; Also show current register set (common + MMX, SSE or AVX) |
917 | draw_reg_title: |
- | |
918 | ;push 4 |
- | |
919 | ;pop eax |
- | |
920 | ; setting up text backround color |
- | |
921 | ; was 0xFFFFFF - white |
907 | draw_reg_title: |
922 | mov edi, COLOR_BG_NORMAL |
- | |
923 | ; setting up text color |
- | |
924 | ; can be usual and inactive |
- | |
925 | ; normal color |
- | |
926 | ; was 0x40000000 - black |
908 | mov edi, COLOR_BG_NORMAL |
927 | mov ecx, (COLOR_TXT_NORMAL or 0x40000000) |
909 | mov ecx, (COLOR_TXT_NORMAL or 0x40000000) |
928 | mov esi, 7 |
910 | mov esi, 7 |
929 | cmp [reg_mode], REG_MODE_CPU |
911 | cmp [reg_mode], REG_MODE_CPU |
930 | jz @f |
- | |
931 | ; inactive color |
- | |
932 | ; was 0x40808080 - grey |
912 | jz @f |
933 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
- | |
934 | 913 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
|
935 | @@: |
914 | @@: |
936 | mov edx, aMain |
- | |
937 | ;mov ebx, (registers_x_pos+4)*10000h + registers_y_pos+2 |
915 | mov edx, aMain |
938 | ; draw a text string in the window |
916 | ; draw a text string in the window |
- | 917 | mcall 4, (registers_x_pos+4)*10000h+registers_y_pos+2 |
|
939 | mcall 4, (registers_x_pos+4)*10000h+registers_y_pos+2 |
918 | |
940 | cmp [reg_mode], REG_MODE_SSE |
919 | cmp [reg_mode], REG_MODE_SSE |
941 | jz @f |
- | |
942 | ; inactive color |
- | |
943 | ; was 0x40808080 - grey |
920 | jz @f |
944 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
- | |
945 | 921 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
|
946 | @@: |
922 | @@: |
947 | mov edx, aSSE |
- | |
948 | ;mov ebx, (registers_x_pos+46)*10000h + registers_y_pos+2 |
923 | mov edx, aSSE |
949 | ; draw a text string in the window |
924 | ; draw a text string in the window |
- | 925 | mcall 4, (registers_x_pos+46)*10000h+registers_y_pos+2 |
|
950 | mcall 4, (registers_x_pos+46)*10000h+registers_y_pos+2 |
926 | |
951 | cmp [reg_mode], REG_MODE_AVX |
927 | cmp [reg_mode], REG_MODE_AVX |
952 | jz @f |
- | |
953 | ; inactive color |
- | |
954 | ; was 0x40808080 - grey |
928 | jz @f |
955 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
- | |
956 | 929 | mov ecx, (COLOR_TXT_INACTIVE or 0x40000000) |
|
957 | @@: |
930 | @@: |
958 | mov edx, aAVX |
- | |
959 | ;mov ebx, (registers_x_pos+88)*10000h + registers_y_pos+2 |
931 | mov edx, aAVX |
960 | ; draw a text string in the window |
932 | ; draw a text string in the window |
961 | mcall 4, (registers_x_pos+88)*10000h+registers_y_pos+2 |
933 | mcall 4, (registers_x_pos+88)*10000h+registers_y_pos+2 |
Line 962... | Line 934... | ||
962 | ret |
934 | ret |
963 | 935 | ||
Line 964... | Line 936... | ||
964 | ;----------------------------------------------------------------------------- |
936 | ;----------------------------------------------------------------------------- |
965 | ; Display common registers set + MMX + FPU |
- | |
966 | - | ||
967 | draw_main_registers: |
- | |
968 | ;push 13 |
- | |
969 | ;pop eax |
- | |
970 | ;mov edx, 0xFFFFFF |
- | |
971 | ;mov ebx, (registers_x_pos-1)*10000h + (registers_x_size+2) |
- | |
972 | ;mov ecx, (registers_y_pos-1)*10000h + (registers_y_size+2) |
- | |
973 | ; draw container rectangle/box with COLOR_BG_NORMAL |
- | |
974 | ; color in edx, was 0xFFFFFF - white |
937 | ; Display common registers set + MMX + FPU |
975 | mcall 13, (registers_x_pos-1)*10000h+(registers_x_size+2), (registers_y_pos-1)*10000h+(registers_y_size+2), COLOR_BG_NORMAL |
- | |
976 | - | ||
977 | ; TODO: add support for FPU ST0-ST7 registers |
- | |
978 | .redraw: |
938 | |
979 | ; setting up background color for text and numbers output |
939 | draw_main_registers: |
980 | ; was 0xFFFFFF - white |
940 | ; TODO: add support for FPU ST0-ST7 registers |
981 | mov edi, COLOR_BG_NORMAL |
941 | mov edi, COLOR_BG_NORMAL |
982 | mov esi, _eax |
942 | mov esi, _eax |
Line 1073... | Line 1033... | ||
1073 | 1033 | ||
1074 | ;----------------------------------------------------------------------------- |
1034 | ;----------------------------------------------------------------------------- |
Line 1075... | Line 1035... | ||
1075 | ; Draw SSE registers set |
1035 | ; Draw SSE registers set |
1076 | 1036 | ||
1077 | draw_sse_registers: |
1037 | draw_sse_registers: |
Line 1078... | Line 1038... | ||
1078 | .redraw: |
1038 | |
1079 | ret |
1039 | ret |
Line 1080... | Line 1040... | ||
1080 | 1040 | ||
1081 | ;----------------------------------------------------------------------------- |
1041 | ;----------------------------------------------------------------------------- |
1082 | ; Draw AVX registers set |
1042 | ; Draw AVX registers set |
Line 1083... | Line 1043... | ||
1083 | 1043 | ||
1084 | draw_avx_registers: |
1044 | draw_avx_registers: |
1085 | .redraw: |
1045 | |
- | 1046 | ret |
|
- | 1047 | ||
- | 1048 | ;----------------------------------------------------------------------------- |
|
1086 | ret |
1049 | ; Draw all registers sets |
- | 1050 | draw_registers: |
|
- | 1051 | ||
1087 | 1052 | ; draw container rectangle/box with COLOR_BG_NORMAL |
|
1088 | ;----------------------------------------------------------------------------- |
1053 | mcall 13, (registers_x_pos-1)*10000h+(registers_x_size+2), (registers_y_pos-1)*10000h+(registers_y_size+2), COLOR_BG_NORMAL |
1089 | ; Draw all registers sets |
1054 | call draw_reg_title |
1090 | draw_registers: |
1055 | |
Line 1102... | Line 1067... | ||
1102 | 1067 | ||
1103 | @@: |
1068 | @@: |
1104 | call draw_avx_registers |
1069 | call draw_avx_registers |
Line 1105... | Line -... | ||
1105 | ret |
- | |
1106 | - | ||
1107 | .redraw: |
- | |
1108 | call draw_reg_title |
- | |
1109 | cmp [reg_mode], REG_MODE_CPU |
- | |
1110 | jnz @f |
- | |
1111 | call draw_main_registers.redraw |
- | |
1112 | ret |
- | |
1113 | - | ||
1114 | @@: |
- | |
1115 | cmp [reg_mode], REG_MODE_SSE |
- | |
1116 | jnz @f |
- | |
1117 | call draw_sse_registers.redraw |
- | |
1118 | ret |
- | |
1119 | - | ||
1120 | @@: |
- | |
1121 | call draw_avx_registers.redraw |
- | |
1122 | ret |
1070 | ret |
1123 | 1071 | ||
Line 1124... | Line 1072... | ||
1124 | ;----------------------------------------------------------------------------- |
1072 | ;----------------------------------------------------------------------------- |
1125 | ; Display memory dump |
- | |
1126 | - | ||
1127 | draw_dump: |
- | |
1128 | ;push 13 |
- | |
1129 | ;pop eax |
- | |
1130 | ;mov edx, 0xFFFFFF |
1073 | ; Display memory dump |
1131 | ;mov ebx, data_x_pos*10000h + data_x_size |
- | |
1132 | ;mov ecx, dump_y_pos*10000h + dump_y_size |
1074 | |
Line 1133... | Line 1075... | ||
1133 | ; draw container rectangle/box in the window |
1075 | draw_dump: |
1134 | ; with color in COLOR_BG_NORMAL (was 0xFFFFFF - white) |
1076 | ; draw container rectangle/box in the window |
1135 | mcall 13, data_x_pos*10000h+data_x_size, dump_y_pos*10000h+dump_y_size, COLOR_BG_NORMAL |
- | |
1136 | 1077 | mcall 13, data_x_pos*10000h+data_x_size, dump_y_pos*10000h+dump_y_size, COLOR_BG_NORMAL |
|
1137 | .redraw: |
1078 | |
1138 | ; addresses |
1079 | .redraw: |
1139 | ;mov al, 47 |
- | |
1140 | mov ebx, 80100h |
- | |
1141 | mov edx, data_x_pos*10000h + dump_y_pos |
1080 | ; addresses |
1142 | mov ecx, [dumppos] |
- | |
1143 | ; background color for text string |
- | |
1144 | ; was 0xFFFFFF - white |
1081 | mov ebx, 80100h |
1145 | mov edi, COLOR_BG_NORMAL |
1082 | mov edx, data_x_pos*10000h + dump_y_pos |
1146 | ; inactive color |
1083 | mov ecx, [dumppos] |
1147 | ; was 0x40808080 - grey |
1084 | mov edi, COLOR_BG_NORMAL |
1148 | mov esi, (COLOR_TXT_INACTIVE or 0x40000000) |
1085 | mov esi, (COLOR_TXT_INACTIVE or 0x40000000) |
1149 | cmp [debuggee_pid], 0 |
- | |
1150 | jz @f |
- | |
1151 | cmp [bSuspended], 0 |
1086 | cmp [debuggee_pid], 0 |
1152 | jz @f |
- | |
1153 | ; normal color |
1087 | jz @f |
1154 | ; was 0x40000000 - black |
1088 | cmp [bSuspended], 0 |
1155 | mov esi, (COLOR_TXT_NORMAL or 0x40000000) |
1089 | jz @f |
1156 | 1090 | mov esi, (COLOR_TXT_NORMAL or 0x40000000) |
|
1157 | @@: |
1091 | @@: |
1158 | ; draw a number in the window, color in esi |
1092 | ; draw a number in the window |
1159 | mcall 47 |
1093 | mcall 47 |
Line 1170... | Line 1104... | ||
1170 | jz .hexdumpdone1 |
1104 | jz .hexdumpdone1 |
Line 1171... | Line 1105... | ||
1171 | 1105 | ||
1172 | .hexdumploop1: |
1106 | .hexdumploop1: |
1173 | push ebx |
1107 | push ebx |
1174 | mov ebx, 20101h |
1108 | mov ebx, 20101h |
1175 | ; draw a number in the window, color in esi |
1109 | ; draw a number in the window |
1176 | mcall |
1110 | mcall |
1177 | pop ebx |
1111 | pop ebx |
1178 | add edx, 3*6*10000h |
1112 | add edx, 3*6*10000h |
1179 | inc ecx |
1113 | inc ecx |
Line 1393... | Line 1327... | ||
1393 | lea edx, [ebx+2*6*10000h] |
1327 | lea edx, [ebx+2*6*10000h] |
1394 | mov ecx, ebp |
1328 | mov ecx, ebp |
1395 | sub ecx, [disasm_start_pos] |
1329 | sub ecx, [disasm_start_pos] |
1396 | add ecx, disasm_buffer |
1330 | add ecx, disasm_buffer |
Line 1397... | Line 1331... | ||
1397 | 1331 | ||
1398 | mov esi, COLOR_TXT_ADDR |
1332 | mov esi, COLOR_TXT_HEX |
1399 | mov eax, [_eip] |
1333 | mov eax, [_eip] |
1400 | cmp eax, ebp |
1334 | cmp eax, ebp |
1401 | jnz @f |
1335 | jnz @f |
1402 | mov esi, COLOR_TXT_SELECTED |
1336 | mov esi, COLOR_TXT_SELECTED |