diff options
| author | uvok | 2026-01-11 12:14:43 +0100 |
|---|---|---|
| committer | uvok | 2026-01-11 12:14:43 +0100 |
| commit | 7cfefff02ac4f7bdfddeac490e9eb12b6ec82d04 (patch) | |
| tree | f61b3d993067e271301ae7d2b26ae6a1c8e07280 /nandgame/cpp/simpc_ui.cpp | |
| parent | fa340ee32daf9ce6d3b4f4f5b39ec2fc4b0a6239 (diff) | |
Show ROM, hide ALU
Diffstat (limited to 'nandgame/cpp/simpc_ui.cpp')
| -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"); |
