@@ -314,7 +314,7 @@ static void memory_editor_menu(void)
314314 MemEditor::Bookmark* bookmark = &(*bookmarks)[i];
315315
316316 char label[80 ];
317- snprintf (label, 80 , " $%04X: %s" , bookmark->address , bookmark->name );
317+ snprintf (label, sizeof (label) , " $%04X: %s" , bookmark->address , bookmark->name );
318318
319319 if (ImGui::MenuItem (label))
320320 {
@@ -508,7 +508,7 @@ static void debug_window_disassembler(void)
508508 ImGui::Separator ();
509509
510510 if (IsValidPointer (selected_record))
511- sprintf (brk_address_cpu, " %04X" , selected_record->address );
511+ snprintf (brk_address_cpu, sizeof (brk_address_cpu) , " %04X" , selected_record->address );
512512
513513 ImGui::PushItemWidth (70 );
514514 if (ImGui::InputTextWithHint (" ##add_breakpoint_cpu" , " XXXX" , brk_address_cpu, IM_ARRAYSIZE (brk_address_cpu), ImGuiInputTextFlags_AutoSelectAll | ImGuiInputTextFlags_EnterReturnsTrue))
@@ -835,128 +835,152 @@ static void debug_window_processor(void)
835835 ImGui::Separator ();
836836 ImGui::TextColored (cyan, " A" ); ImGui::SameLine ();
837837 ImGui::Text (" $%02X" , proc_state->AF ->GetHigh ());
838- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF ->GetHigh ()));
838+ char buffer[20 ];
839+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF ->GetHigh ()));
840+ ImGui::Text (" %s" , buffer);
839841
840842 ImGui::NextColumn ();
841843 ImGui::TextColored (cyan, " F" ); ImGui::SameLine ();
842844 ImGui::Text (" $%02X" , proc_state->AF ->GetLow ());
843- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF ->GetLow ()));
845+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF ->GetLow ()));
846+ ImGui::Text (" %s" , buffer);
844847
845848 ImGui::NextColumn ();
846849 ImGui::Separator ();
847850 ImGui::TextColored (cyan, " A'" ); ImGui::SameLine ();
848851 ImGui::Text (" $%02X" , proc_state->AF2 ->GetHigh ());
849- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF2 ->GetHigh ()));
852+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF2 ->GetHigh ()));
853+ ImGui::Text (" %s" , buffer);
850854
851855 ImGui::NextColumn ();
852856 ImGui::TextColored (cyan, " F'" ); ImGui::SameLine ();
853857 ImGui::Text (" $%02X" , proc_state->AF2 ->GetLow ());
854- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF2 ->GetLow ()));
858+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->AF2 ->GetLow ()));
859+ ImGui::Text (" %s" , buffer);
855860
856861 ImGui::NextColumn ();
857862 ImGui::Separator ();
858863 ImGui::TextColored (cyan, " B" ); ImGui::SameLine ();
859864 ImGui::Text (" $%02X" , proc_state->BC ->GetHigh ());
860- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC ->GetHigh ()));
865+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC ->GetHigh ()));
866+ ImGui::Text (" %s" , buffer);
861867
862868 ImGui::NextColumn ();
863869 ImGui::TextColored (cyan, " C" ); ImGui::SameLine ();
864870 ImGui::Text (" $%02X" , proc_state->BC ->GetLow ());
865- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC ->GetLow ()));
871+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC ->GetLow ()));
872+ ImGui::Text (" %s" , buffer);
866873
867874 ImGui::NextColumn ();
868875 ImGui::Separator ();
869876 ImGui::TextColored (cyan, " B'" ); ImGui::SameLine ();
870877 ImGui::Text (" $%02X" , proc_state->BC2 ->GetHigh ());
871- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC2 ->GetHigh ()));
878+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC2 ->GetHigh ()));
879+ ImGui::Text (" %s" , buffer);
872880
873881 ImGui::NextColumn ();
874882 ImGui::TextColored (cyan, " C'" ); ImGui::SameLine ();
875883 ImGui::Text (" $%02X" , proc_state->BC2 ->GetLow ());
876- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC2 ->GetLow ()));
884+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->BC2 ->GetLow ()));
885+ ImGui::Text (" %s" , buffer);
877886
878887 ImGui::NextColumn ();
879888 ImGui::Separator ();
880889 ImGui::TextColored (cyan, " D" ); ImGui::SameLine ();
881890 ImGui::Text (" $%02X" , proc_state->DE ->GetHigh ());
882- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE ->GetHigh ()));
891+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE ->GetHigh ()));
892+ ImGui::Text (" %s" , buffer);
883893
884894 ImGui::NextColumn ();
885895 ImGui::TextColored (cyan, " E" ); ImGui::SameLine ();
886896 ImGui::Text (" $%02X" , proc_state->DE ->GetLow ());
887- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE ->GetLow ()));
897+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE ->GetLow ()));
898+ ImGui::Text (" %s" , buffer);
888899
889900 ImGui::NextColumn ();
890901 ImGui::Separator ();
891902 ImGui::TextColored (cyan, " D'" ); ImGui::SameLine ();
892903 ImGui::Text (" $%02X" , proc_state->DE2 ->GetHigh ());
893- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE2 ->GetHigh ()));
904+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE2 ->GetHigh ()));
905+ ImGui::Text (" %s" , buffer);
894906
895907 ImGui::NextColumn ();
896908 ImGui::TextColored (cyan, " E'" ); ImGui::SameLine ();
897909 ImGui::Text (" $%02X" , proc_state->DE2 ->GetLow ());
898- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE2 ->GetLow ()));
910+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->DE2 ->GetLow ()));
911+ ImGui::Text (" %s" , buffer);
899912
900913 ImGui::NextColumn ();
901914 ImGui::Separator ();
902915 ImGui::TextColored (cyan, " H" ); ImGui::SameLine ();
903916 ImGui::Text (" $%02X" , proc_state->HL ->GetHigh ());
904- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL ->GetHigh ()));
917+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL ->GetHigh ()));
918+ ImGui::Text (" %s" , buffer);
905919
906920 ImGui::NextColumn ();
907921 ImGui::TextColored (cyan, " L" ); ImGui::SameLine ();
908922 ImGui::Text (" $%02X" , proc_state->HL ->GetLow ());
909- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL ->GetLow ()));
923+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL ->GetLow ()));
924+ ImGui::Text (" %s" , buffer);
910925
911926 ImGui::NextColumn ();
912927 ImGui::Separator ();
913928 ImGui::TextColored (cyan, " H'" ); ImGui::SameLine ();
914929 ImGui::Text (" $%02X" , proc_state->HL2 ->GetHigh ());
915- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL2 ->GetHigh ()));
930+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL2 ->GetHigh ()));
931+ ImGui::Text (" %s" , buffer);
916932
917933 ImGui::NextColumn ();
918934 ImGui::TextColored (cyan, " L'" ); ImGui::SameLine ();
919935 ImGui::Text (" $%02X" , proc_state->HL2 ->GetLow ());
920- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL2 ->GetLow ()));
936+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->HL2 ->GetLow ()));
937+ ImGui::Text (" %s" , buffer);
921938
922939 ImGui::NextColumn ();
923940 ImGui::Separator ();
924941 ImGui::TextColored (cyan, " I" ); ImGui::SameLine ();
925942 ImGui::Text (" $%02X" , *proc_state->I );
926- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (*proc_state->I ));
943+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (*proc_state->I ));
944+ ImGui::Text (" %s" , buffer);
927945
928946 ImGui::NextColumn ();
929947 ImGui::TextColored (cyan, " R" ); ImGui::SameLine ();
930948 ImGui::Text (" $%02X" , *proc_state->R );
931- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (*proc_state->R ));
949+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (*proc_state->R ));
950+ ImGui::Text (" %s" , buffer);
932951
933952 ImGui::NextColumn ();
934953 ImGui::Columns (1 );
935954
936955 ImGui::Separator ();
937956 ImGui::TextColored (yellow, " IX" ); ImGui::SameLine ();
938957 ImGui::Text (" = $%04X" , proc_state->IX ->GetValue ());
939- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->IX ->GetHigh ()), BYTE_TO_BINARY (proc_state->IX ->GetLow ()));
958+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->IX ->GetHigh ()), BYTE_TO_BINARY (proc_state->IX ->GetLow ()));
959+ ImGui::Text (" %s" , buffer);
940960
941961 ImGui::Separator ();
942962 ImGui::TextColored (yellow, " IY" ); ImGui::SameLine ();
943963 ImGui::Text (" = $%04X" , proc_state->IY ->GetValue ());
944- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->IY ->GetHigh ()), BYTE_TO_BINARY (proc_state->IY ->GetLow ()));
964+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->IY ->GetHigh ()), BYTE_TO_BINARY (proc_state->IY ->GetLow ()));
965+ ImGui::Text (" %s" , buffer);
945966
946967 ImGui::Separator ();
947968 ImGui::TextColored (yellow, " WZ" ); ImGui::SameLine ();
948969 ImGui::Text (" = $%04X" , proc_state->WZ ->GetValue ());
949- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->WZ ->GetHigh ()), BYTE_TO_BINARY (proc_state->WZ ->GetLow ()));
970+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->WZ ->GetHigh ()), BYTE_TO_BINARY (proc_state->WZ ->GetLow ()));
971+ ImGui::Text (" %s" , buffer);
950972
951973 ImGui::Separator ();
952974 ImGui::TextColored (yellow, " SP" ); ImGui::SameLine ();
953975 ImGui::Text (" = $%04X" , proc_state->SP ->GetValue ());
954- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->SP ->GetHigh ()), BYTE_TO_BINARY (proc_state->SP ->GetLow ()));
976+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->SP ->GetHigh ()), BYTE_TO_BINARY (proc_state->SP ->GetLow ()));
977+ ImGui::Text (" %s" , buffer);
955978
956979 ImGui::Separator ();
957980 ImGui::TextColored (yellow, " PC" ); ImGui::SameLine ();
958981 ImGui::Text (" = $%04X" , proc_state->PC ->GetValue ());
959- ImGui::Text (BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->PC ->GetHigh ()), BYTE_TO_BINARY (proc_state->PC ->GetLow ()));
982+ snprintf (buffer, sizeof (buffer), BYTE_TO_BINARY_PATTERN_SPACED " " BYTE_TO_BINARY_PATTERN_SPACED, BYTE_TO_BINARY (proc_state->PC ->GetHigh ()), BYTE_TO_BINARY (proc_state->PC ->GetLow ()));
983+ ImGui::Text (" %s" , buffer);
960984
961985 ImGui::Separator ();
962986
@@ -1518,7 +1542,6 @@ static void add_breakpoint_cpu(void)
15181542{
15191543 int input_len = (int )strlen (brk_address_cpu);
15201544 u16 target_address = 0 ;
1521- int target_bank = 0 ;
15221545
15231546 try
15241547 {
@@ -1530,14 +1553,10 @@ static void add_breakpoint_cpu(void)
15301553 if (separator != std::string::npos)
15311554 {
15321555 target_address = (u16 )std::stoul (str.substr (separator + 1 , std::string::npos), 0 , 16 );
1533-
1534- target_bank = std::stoul (str.substr (0 , separator), 0 , 16 );
1535- target_bank &= 0xFF ;
15361556 }
15371557 }
15381558 else if (input_len == 4 )
15391559 {
1540- target_bank = 0 ;
15411560 target_address = (u16 )std::stoul (brk_address_cpu, 0 , 16 );
15421561 }
15431562 else
0 commit comments