|
@ -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 |
|
|
|
|
|
|
|
|