runtime progress

This commit is contained in:
2026-03-21 09:49:42 -06:00
parent 5a4eb66c78
commit 9feef38410
10 changed files with 488 additions and 13 deletions
+86
View File
@@ -0,0 +1,86 @@
#include "LiveDebug.hpp"
#include <spider/runtime/Runtime.hpp>
#include <spider/runtime/util/Terminal.hpp>
#include <vector>
#include <string>
namespace spider {
void drawHead(Terminal& t) {
t.move(1, 1)
.style(Terminal::RESET)
.print(" Spider Runtime Live Debug ")
.style(Terminal::RESET).print(" | ")
.style(Terminal::FG_CYAN).print(" Sintek Analytics @ 2026 ")
.style(Terminal::RESET).print(" | ")
.style(Terminal::FG_B_BLACK).print("Press ESC to exit")
.style(Terminal::FG_BLACK)
.style(Terminal::BG_YELLOW)
.move(3, 1).print(" || __ ||").print(" ")
.move(4, 1).print(" \\\\( )//").print(" SPIDER v0.1 ")
.move(5, 1).print(" //()\\\\ ").print(" alpha ")
.move(6, 1).print(" || || ").print(" ")
.style(Terminal::RESET)
;
}
void drawCPUTempl(Terminal& t, CPU& cpu) {
i32 r = 7, c = 1;
t.drawBox(r, c, 35, 18, "CPU");
const std::string regs[] = {
"RA", "RB", "RC", "RD",
"RX", "RY", "R0", "R1",
"R2", "R3", "R4", "R5",
"R6", "R7", "R8", "R9",
"RF", "RI", "RS", "RZ",
"RE", "RN", "RV", "RM"
};
r++;
c++;
for(i32 i = 0; i < 8; i++) {
t.move(r + i * 2, c);
t.print(regs[i * 2]);
t.move(r + i * 2, c + 17);
t.print(regs[i * 2 + 1]);
}
}
int liveDebugMain() {
Terminal t;
Runtime runtime(1024);
t.println("Starting Spider live debug...");
t.altbuff(true).cursor(false);
drawHead(t);
drawCPUTempl(t, runtime.cpu);
bool running = true;
int c = 1;
while (running) {
// Handle Input
u8 k = t.getKey();
switch (k) {
case Terminal::ESC:
running = false;
break;
default:
t.move(5, c++);
t.print("A");
t.flush();
break;
}
}
t.altbuff(false).println("Stopped Spider live debug.").flush();
return 0;
}
}