summaryrefslogtreecommitdiff
path: root/nandgame
diff options
context:
space:
mode:
Diffstat (limited to 'nandgame')
-rw-r--r--nandgame/cpp/simpc_ui.cpp24
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");