define INPUT = 0xbffe; define SCREEN = 0xbfff; main() { loop { slp; erase(); update(); draw(); } } update() { input_update(); => player_update(); } erase() => player_erase(); draw() => player_draw(); global input_left; global input_right; global input_up; global input_down; input_update() { local input = [INPUT]; input_up = (input & 0x10) != 0; input_down = (input & 0x20) != 0; input_left = (input & 0x40) != 0; input_right = (input & 0x80) != 0; } global player_x = 64; global player_y = 64; player_update() { player_x = player_x + input_right - input_left; player_y = player_y + input_down - input_up; } player_erase() => pset(player_x, player_y, 0x1111); player_draw() => pset(player_x, player_y, 0xffff); pset(x, y, c) { [SCREEN + (x & 127) + (y & 127) * 128] = c; }