diff options
| -rw-r--r-- | nandgame/cpp/simpc_ui.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/nandgame/cpp/simpc_ui.cpp b/nandgame/cpp/simpc_ui.cpp index 02d4cf0..31566ad 100644 --- a/nandgame/cpp/simpc_ui.cpp +++ b/nandgame/cpp/simpc_ui.cpp @@ -33,11 +33,9 @@ #include "Vcomputer.h" #include "Vcomputer___024root.h" -#include "Vcomputer_alu.h" #include "Vcomputer_computer.h" -#include "Vcomputer_instruction_decode.h" +#include "Vcomputer_my_mem__D10_DB10000.h" #include "verilated.h" -#include <cinttypes> #include <cstdint> #include <cstdio> #include <sched.h> @@ -69,10 +67,22 @@ void simpc_ui_write(const std::unique_ptr<Vcomputer> &topp, uint64_t &i, topp->computer->store_to_D_int ? '*' : ' ', topp->computer->reg_D_int, topp->computer->store_to_pA_int ? '*' : ' ', topp->computer->reg_pA_int, topp->computer->result_int); - PRINT_ME(7 + NCUR_OFFSET, NCUR_X, "ALU"); - PRINT_ME(8 + NCUR_OFFSET, NCUR_X, "X: %5d\tY: %5d", - topp->computer->CPU->my_alu->int_op_x, - topp->computer->CPU->my_alu->int_op_y); + + PRINT_ME(10, NCUR_X, "--- ROM ---"); + for (int i = -1; i <= 1; i++) { + const char *prefix = i == 0 ? "> " : " "; + uint16_t curadr = topp->computer->PC_addr_int + i; + const uint16_t p = curadr; + const uint16_t program_op_code = topp->computer->ROM->r_datastore[p]; + auto disas_code = print_decoded(program_op_code, true); + PRINT_ME(12 + i, NCUR_X, "%04X %s%04X %-30s", curadr, prefix, + program_op_code, disas_code.c_str()); + } + // PRINT_ME(7 + NCUR_OFFSET, NCUR_X, "ALU"); + // PRINT_ME(8 + NCUR_OFFSET, NCUR_X, "X: %5d\tY: %5d", + // topp->computer->CPU->my_alu->int_op_x, + // topp->computer->CPU->my_alu->int_op_y); + PRINT_ME(getmaxy(stdscr) - 1, 1, "q - Quit; p - (Un)pause; any key in pause - step"); |
