@@ -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" address , bookmark->name );
317+             snprintf (label, sizeof (label) , " $%04X: %s" 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" address );
511+             snprintf (brk_address_cpu,  sizeof (brk_address_cpu) , " %04X" address );
512512
513513        ImGui::PushItemWidth (70 );
514514        if  (ImGui::InputTextWithHint (" ##add_breakpoint_cpu" " XXXX" 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" 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" 
839841
840842    ImGui::NextColumn ();
841843    ImGui::TextColored (cyan, "  F" ImGui::SameLine ();
842844    ImGui::Text ("  $%02X" 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" 
844847
845848    ImGui::NextColumn ();
846849    ImGui::Separator ();
847850    ImGui::TextColored (cyan, "  A'" ImGui::SameLine ();
848851    ImGui::Text (" $%02X" 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" 
850854
851855    ImGui::NextColumn ();
852856    ImGui::TextColored (cyan, "  F'" ImGui::SameLine ();
853857    ImGui::Text (" $%02X" 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" 
855860
856861    ImGui::NextColumn ();
857862    ImGui::Separator ();
858863    ImGui::TextColored (cyan, "  B" ImGui::SameLine ();
859864    ImGui::Text ("  $%02X" 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" 
861867
862868    ImGui::NextColumn ();
863869    ImGui::TextColored (cyan, "  C" ImGui::SameLine ();
864870    ImGui::Text ("  $%02X" 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" 
866873
867874    ImGui::NextColumn ();
868875    ImGui::Separator ();
869876    ImGui::TextColored (cyan, "  B'" ImGui::SameLine ();
870877    ImGui::Text (" $%02X" 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" 
872880
873881    ImGui::NextColumn ();
874882    ImGui::TextColored (cyan, "  C'" ImGui::SameLine ();
875883    ImGui::Text (" $%02X" 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" 
877886
878887    ImGui::NextColumn ();
879888    ImGui::Separator ();
880889    ImGui::TextColored (cyan, "  D" ImGui::SameLine ();
881890    ImGui::Text ("  $%02X" 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" 
883893
884894    ImGui::NextColumn ();
885895    ImGui::TextColored (cyan, "  E" ImGui::SameLine ();
886896    ImGui::Text ("  $%02X" 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" 
888899
889900    ImGui::NextColumn ();
890901    ImGui::Separator ();
891902    ImGui::TextColored (cyan, "  D'" ImGui::SameLine ();
892903    ImGui::Text (" $%02X" 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" 
894906
895907    ImGui::NextColumn ();
896908    ImGui::TextColored (cyan, "  E'" ImGui::SameLine ();
897909    ImGui::Text (" $%02X" 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" 
899912
900913    ImGui::NextColumn ();
901914    ImGui::Separator ();
902915    ImGui::TextColored (cyan, "  H" ImGui::SameLine ();
903916    ImGui::Text ("  $%02X" 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" 
905919
906920    ImGui::NextColumn ();
907921    ImGui::TextColored (cyan, "  L" ImGui::SameLine ();
908922    ImGui::Text ("  $%02X" 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" 
910925
911926    ImGui::NextColumn ();
912927    ImGui::Separator ();
913928    ImGui::TextColored (cyan, "  H'" ImGui::SameLine ();
914929    ImGui::Text (" $%02X" 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" 
916932
917933    ImGui::NextColumn ();
918934    ImGui::TextColored (cyan, "  L'" ImGui::SameLine ();
919935    ImGui::Text (" $%02X" 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" 
921938
922939    ImGui::NextColumn ();
923940    ImGui::Separator ();
924941    ImGui::TextColored (cyan, "  I" ImGui::SameLine ();
925942    ImGui::Text ("  $%02X" 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" 
927945
928946    ImGui::NextColumn ();
929947    ImGui::TextColored (cyan, "  R" ImGui::SameLine ();
930948    ImGui::Text ("  $%02X" 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" 
932951
933952    ImGui::NextColumn ();
934953    ImGui::Columns (1 );
935954
936955    ImGui::Separator ();
937956    ImGui::TextColored (yellow, "     IX" ImGui::SameLine ();
938957    ImGui::Text (" = $%04X" IX ->GetValue ());
939-     ImGui::Text (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 (proc_state->IX ->GetHigh ()), BYTE_TO_BINARY (proc_state->IX ->GetLow ()));
959+     ImGui::Text (" %s" 
940960
941961    ImGui::Separator ();
942962    ImGui::TextColored (yellow, "     IY" ImGui::SameLine ();
943963    ImGui::Text (" = $%04X" IY ->GetValue ());
944-     ImGui::Text (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 (proc_state->IY ->GetHigh ()), BYTE_TO_BINARY (proc_state->IY ->GetLow ()));
965+     ImGui::Text (" %s" 
945966
946967    ImGui::Separator ();
947968    ImGui::TextColored (yellow, "     WZ" ImGui::SameLine ();
948969    ImGui::Text (" = $%04X" WZ ->GetValue ());
949-     ImGui::Text (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 (proc_state->WZ ->GetHigh ()), BYTE_TO_BINARY (proc_state->WZ ->GetLow ()));
971+     ImGui::Text (" %s" 
950972
951973    ImGui::Separator ();
952974    ImGui::TextColored (yellow, "     SP" ImGui::SameLine ();
953975    ImGui::Text (" = $%04X" SP ->GetValue ());
954-     ImGui::Text (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 (proc_state->SP ->GetHigh ()), BYTE_TO_BINARY (proc_state->SP ->GetLow ()));
977+     ImGui::Text (" %s" 
955978
956979    ImGui::Separator ();
957980    ImGui::TextColored (yellow, "     PC" ImGui::SameLine ();
958981    ImGui::Text (" = $%04X" PC ->GetValue ());
959-     ImGui::Text (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 (proc_state->PC ->GetHigh ()), BYTE_TO_BINARY (proc_state->PC ->GetLow ()));
983+     ImGui::Text (" %s" 
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