M src/main.c => src/main.c +13 -13
@@ 342,42 342,42 @@ handle_input(Uxn *u) {
// TODO: We don't need ifs if we use KEY_INPUTS directly and mayvbe just
// swap some things if needed.
u8 *flag = &devctrl->dat[2];
- if (key_pressed(KEY_A)) {
+ if (key_tap(KEY_A)) {
*flag |= 0x01;
} else {
*flag &= ~0x01;
}
- if (key_pressed(KEY_B)) {
+ if (key_tap(KEY_B)) {
*flag |= 0x02;
} else {
*flag &= ~0x02;
}
- if (key_pressed(KEY_L)) {
+ if (key_tap(KEY_L)) {
*flag |= 0x04;
} else {
*flag &= ~0x04;
}
- if (key_pressed(KEY_R)) {
+ if (key_tap(KEY_R)) {
*flag |= 0x08;
} else {
*flag &= ~0x08;
}
- if (key_pressed(KEY_UP)) {
+ if (key_tap(KEY_UP)) {
*flag |= 0x10;
} else {
*flag &= ~0x10;
}
- if (key_pressed(KEY_DOWN)) {
+ if (key_tap(KEY_DOWN)) {
*flag |= 0x20;
} else {
*flag &= ~0x20;
}
- if (key_pressed(KEY_LEFT)) {
+ if (key_tap(KEY_LEFT)) {
*flag |= 0x40;
} else {
*flag &= ~0x40;
}
- if (key_pressed(KEY_RIGHT)) {
+ if (key_tap(KEY_RIGHT)) {
*flag |= 0x80;
} else {
*flag &= ~0x80;
@@ 409,14 409,14 @@ handle_input(Uxn *u) {
}
// Detect mouse movement.
- if (key_pressed(KEY_UP)) {
+ if (key_tap(KEY_UP)) {
mouse.y = CLAMP(mouse.y - MOUSE_DELTA, 0, SCREEN_HEIGHT - 8);
- } else if (key_pressed(KEY_DOWN)) {
+ } else if (key_tap(KEY_DOWN)) {
mouse.y = CLAMP(mouse.y + MOUSE_DELTA, 0, SCREEN_HEIGHT - 8);
}
- if (key_pressed(KEY_LEFT)) {
+ if (key_tap(KEY_LEFT)) {
mouse.x = CLAMP(mouse.x - MOUSE_DELTA, 0, SCREEN_WIDTH - 8);
- } else if (key_pressed(KEY_RIGHT)) {
+ } else if (key_tap(KEY_RIGHT)) {
mouse.x = CLAMP(mouse.x + MOUSE_DELTA, 0, SCREEN_WIDTH - 8);
}
@@ 475,7 475,7 @@ handle_input(Uxn *u) {
static Uxn u;
EWRAM_BSS
-static u8 umem[KB(65)];
+static u8 umem[KB(64)];
int main(void) {
// Adjust system wait times.
M src/ppu.c => src/ppu.c +1 -1
@@ 169,7 169,7 @@ putcolors(u8 *addr) {
IWRAM_CODE
void
ppu_pixel(u32 *layer, u16 x, u16 y, u8 color) {
- if (x >= SCREEN_WIDTH || y >= SCREEN_HEIGHT) return;
+ if (x > SCREEN_WIDTH || y > SCREEN_HEIGHT) return;
size_t tile_x = x / 8;
size_t tile_y = y / 8;
size_t start_col = x % 8;