summary refs log tree commit diff
path: root/eater.ts
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2025-04-05 15:51:22 +0300
committerWlodekM <[email protected]>2025-04-05 15:51:22 +0300
commitfd53ef569512f657fef6ae6bdca51bfea777478d (patch)
tree87a490a2093579b58f419992411fe9fc7d4be8fd /eater.ts
parenta3dc6ddf93f0789636ea7064844ab696e819955d (diff)
uuh i forgor HEAD master
Diffstat (limited to 'eater.ts')
-rw-r--r--eater.ts10
1 files changed, 7 insertions, 3 deletions
diff --git a/eater.ts b/eater.ts
index 20af12a..683b23a 100644
--- a/eater.ts
+++ b/eater.ts
@@ -1,6 +1,7 @@
 // deno-lint-ignore-file no-process-globals
 import The65c02 from "./65c02.ts";
 import matrix from "./opcode_matrix.json" with { type: "json" };
+import { type Buffer } from "node:buffer";
 // eater.ts
 // a runtime meant to mimic ben eater's 65c02 computer
 
@@ -30,6 +31,8 @@ const binStart = 0;
 
 await cpu.loadInstructions()
 
+cpu.stackPointer.set(0xff)
+
 const code = Deno.readFileSync('a.out')
 
 // mem address $0000
@@ -52,13 +55,11 @@ cpu.io.reset.HI()
 
 let running = true;
 
-process.stdin.on('data', (data) => {
+process.stdin.on('data', (data: Buffer) => {
     if (data[0] == 3)
         return running = false;
-    // console.log(`uh`, data[0], data[0].toString(16))
     ram[0x5000] = data[0];
     ram[0x5001] = 0x08;
-    // cpu.io.interruptRequest.HI();
 })
 
 // repeat until the cpu requests an interrupt
@@ -81,6 +82,9 @@ const clock = setInterval(() => {
         throw 'oh no';
     }
     const instr = goog;
+    console.log(`\
+       PC  AC XR YR SP NV-BDIZC
+6502: ${cpu.programCounter.num().toString(16).padStart(4, '0')} ${cpu.regA.num().toString(16).padStart(2, '0')} ${cpu.regX.num().toString(16).padStart(2, '0')} ${cpu.regY.num().toString(16).padStart(2, '0')} ${cpu.stackPointer.num().toString(16).padStart(2, '0')} ${cpu.stackPointer.num().toString(2).padStart(8, '0')}`)
     console.debug(cpu.programCounter.num().toString(16).padStart(4, '0'),instr.mnemonic, instr.mode)
     cpu.cycle();
 // 1MHz i think