Browse Source

Update behavior of 'Q'

master
cancel 6 years ago
parent
commit
52cad242f9
  1. 8
      sim.c

8
sim.c

@ -780,8 +780,8 @@ BEGIN_DUAL_PHASE_0(query)
PORT(0, -1, IN | HASTE); // len PORT(0, -1, IN | HASTE); // len
I32 in_x = data[0] + 1; I32 in_x = data[0] + 1;
I32 in_y = data[1]; I32 in_y = data[1];
I32 len = data[2]; I32 len = data[2] + 1;
I32 out_x = -len + 1; I32 out_x = 1 - len;
// todo direct buffer manip // todo direct buffer manip
for (I32 i = 0; i < len; ++i) { for (I32 i = 0; i < len; ++i) {
PORT(in_y, in_x + i, IN); PORT(in_y, in_x + i, IN);
@ -798,8 +798,8 @@ BEGIN_DUAL_PHASE_1(query)
if (LOAD(data)) { if (LOAD(data)) {
I32 in_x = data[0] + 1; I32 in_x = data[0] + 1;
I32 in_y = data[1]; I32 in_y = data[1];
I32 len = data[2]; I32 len = data[2] + 1;
I32 out_x = -len + 1; I32 out_x = 1 - len;
for (I32 i = 0; i < len; ++i) { for (I32 i = 0; i < len; ++i) {
Glyph g = PEEK(in_y, in_x + i); Glyph g = PEEK(in_y, in_x + i);
POKE(1, out_x + i, g); POKE(1, out_x + i, g);

Loading…
Cancel
Save