From 4a8b247ac90aab7c870ea0d814d322a86b957dad Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Thu, 3 Jul 2025 21:56:47 +1200 Subject: Fix error with wide mode conditional jump instructions Wide-mode conditional jump instructions were reading t as a byte value instead of as a double value. --- bedrock.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bedrock.js b/bedrock.js index 1b47b63..4f1bd12 100644 --- a/bedrock.js +++ b/bedrock.js @@ -1306,8 +1306,8 @@ function Bedrock(e) { /* ROT */ case 0x07: z=wpopx(); y=wpopx(); x=wpopx(); wpshx(y); wpshx(z); wpshx(x); break; /* JMP */ case 0x08: a=wpop2(); this.p = a; break; /* JMS */ case 0x09: a=wpop2(); rpsh2(this.p); this.p = a; break; - /* JCN */ case 0x0A: a=wpop2(); t=wpop1(); if (t) { this.p = a; } break; - /* JCS */ case 0x0B: a=wpop2(); t=wpop1(); if (t) { rpsh2(this.p); this.p = a; } break; + /* JCN */ case 0x0A: a=wpop2(); t=wpopx(); if (t) { this.p = a; } break; + /* JCS */ case 0x0B: a=wpop2(); t=wpopx(); if (t) { rpsh2(this.p); this.p = a; } break; /* LDA */ case 0x0C: a=wpop2(); v=mgetx(a); wpshx(v); break; /* STA */ case 0x0D: a=wpop2(); v=wpopx(); msetx(a,v); break; /* LDD */ case 0x0E: p=wpop1(); v=dgetx(p); wpshx(v); break; -- cgit v1.2.3-70-g09d2