summaryrefslogtreecommitdiff
path: root/nandgame/Vcomputer__main.cpp
diff options
context:
space:
mode:
authoruvok2026-01-07 18:41:04 +0100
committeruvok2026-01-07 18:41:39 +0100
commit9e31c197d825663dbc86877622f1b94638d6ed27 (patch)
tree6c931a8deacbf02b1977ee875d8982808032d1b2 /nandgame/Vcomputer__main.cpp
parent7d9daab3cd540991784109fc660b663d476e606f (diff)
Use gen'ed disaas
Diffstat (limited to 'nandgame/Vcomputer__main.cpp')
-rw-r--r--nandgame/Vcomputer__main.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/nandgame/Vcomputer__main.cpp b/nandgame/Vcomputer__main.cpp
index 5b71221..79137c6 100644
--- a/nandgame/Vcomputer__main.cpp
+++ b/nandgame/Vcomputer__main.cpp
@@ -1,7 +1,6 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: main() simulation loop, created with --main
-// Edited and completed to view contents.
#include "Vcomputer___024root.h"
#include "Vcomputer_computer.h"
#include "Vcomputer_my_mem__D10_DB10000.h"
@@ -12,6 +11,8 @@
#include <cstdio>
#include <sched.h>
+#include "../assembler/disas.h"
+
//======================
int main(int argc, char** argv, char**) {
@@ -65,6 +66,7 @@ int main(int argc, char** argv, char**) {
opcode
);
// This is fucking dirty
+#ifdef POPEN_PY
{
char command[128];
snprintf(command, sizeof(command) - 1, "python3 ../assembler/disas_ins.py %04X", opcode);
@@ -81,6 +83,13 @@ int main(int argc, char** argv, char**) {
(void) pclose(pipe);
}
+#else
+ {
+ auto insline = print_decoded(opcode, true);
+ printf(" %s\n", insline.c_str());
+ }
+#endif
+
printf(
" A: 0x%04X, D: 0x%04X, M: 0x%04X, RES: 0x%04X\n",