ref: 52cad242f914804dd9e5fa47432ef65e304d5ee3
parent: 5c297ab94c2b4a0a296ecd7dfd9f1f6fc6b46523
author: cancel <cancel@cancel.fm>
date: Wed Dec 19 01:39:52 EST 2018
Update behavior of 'Q'
--- a/sim.c
+++ b/sim.c
@@ -780,8 +780,8 @@
PORT(0, -1, IN | HASTE); // len
I32 in_x = data[0] + 1;
I32 in_y = data[1];
- I32 len = data[2];
- I32 out_x = -len + 1;
+ I32 len = data[2] + 1;
+ I32 out_x = 1 - len;
// todo direct buffer manip
for (I32 i = 0; i < len; ++i) {
PORT(in_y, in_x + i, IN);
@@ -798,8 +798,8 @@
if (LOAD(data)) {
I32 in_x = data[0] + 1;
I32 in_y = data[1];
- I32 len = data[2];
- I32 out_x = -len + 1;
+ I32 len = data[2] + 1;
+ I32 out_x = 1 - len;
for (I32 i = 0; i < len; ++i) {
Glyph g = PEEK(in_y, in_x + i);
POKE(1, out_x + i, g);