diff options
author | Ben Bridle <ben@derelict.engineering> | 2025-07-03 21:56:47 +1200 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2025-07-03 21:56:47 +1200 |
commit | 4a8b247ac90aab7c870ea0d814d322a86b957dad (patch) | |
tree | 3032c7ad1687e89c41c1e10bd432b1392c35276d | |
parent | 667734aa76f9194d4a8627a94c23598303cc7521 (diff) | |
download | bedrock-js-4a8b247ac90aab7c870ea0d814d322a86b957dad.zip |
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.
-rw-r--r-- | bedrock.js | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; |