Browse Source

Update behavior of `I`

master
cancel 6 years ago
parent
commit
03172f6c60
  1. 20
      sim.c

20
sim.c

@ -489,14 +489,22 @@ BEGIN_OPERATOR(increment)
PORT(0, 1, IN); PORT(0, 1, IN);
PORT(0, 2, IN); PORT(0, 2, IN);
PORT(1, 0, IN | OUT); PORT(1, 0, IN | OUT);
Usz min = index_of(PEEK(0, 1)); Usz a = index_of(PEEK(0, 1));
Usz max = index_of(PEEK(0, 2)); Usz b = index_of(PEEK(0, 2));
Usz val = index_of(PEEK(1, 0)); Usz val = index_of(PEEK(1, 0));
if (a < b) {
if (val < a || val >= b - 1)
val = a;
else
++val; ++val;
if (max == 0) } else if (a > b) {
max = 10; if (val <= b || val > a)
if (val >= max) val = a - 1;
val = min; else
--val;
} else {
return;
}
POKE(1, 0, glyph_of(val)); POKE(1, 0, glyph_of(val));
END_OPERATOR END_OPERATOR

Loading…
Cancel
Save