From c34140540340c571311871cc182f534855f15e14 Mon Sep 17 00:00:00 2001 From: stopnoanime Date: Sun, 20 Oct 2024 14:06:51 +0200 Subject: [PATCH] Add LED register display --- src/app/cpu-status/cpu-status.component.html | 7 +++++++ src/app/cpu-status/cpu-status.component.ts | 5 +++++ src/app/sim.service.ts | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/app/cpu-status/cpu-status.component.html b/src/app/cpu-status/cpu-status.component.html index 353d42d..5254b49 100644 --- a/src/app/cpu-status/cpu-status.component.html +++ b/src/app/cpu-status/cpu-status.component.html @@ -5,4 +5,11 @@
Stack Pointer: {{ toHex(simProp.stackPointer) }}
Carry Flag: {{ simProp.carry ? "True" : "False" }}
Zero Flag: {{ simProp.zero ? "True" : "False" }}
+
+ LED: +
+
diff --git a/src/app/cpu-status/cpu-status.component.ts b/src/app/cpu-status/cpu-status.component.ts index 8324587..c74e25e 100644 --- a/src/app/cpu-status/cpu-status.component.ts +++ b/src/app/cpu-status/cpu-status.component.ts @@ -9,5 +9,10 @@ import { toHex } from '../toHex'; export class CpuStatusComponent { toHex = toHex; + public get ledRGB(): string { + const v = this.simProp.led; + return `rgb(${(v & 4) * 255} ${(v & 2) * 255} ${(v & 1) * 255})`; + } + @Input() simProp!: simPropType; } diff --git a/src/app/sim.service.ts b/src/app/sim.service.ts index 4c46426..4460794 100644 --- a/src/app/sim.service.ts +++ b/src/app/sim.service.ts @@ -56,6 +56,7 @@ export class SimService { memory: this.sim.memory, stack: this.sim.stack, stackPointer: this.sim.stackPointer, + led: this.sim.led, }; } @@ -206,4 +207,5 @@ export type simPropType = { memory: Uint16Array; stack: Uint16Array; stackPointer: number; + led: number; };