# HG changeset patch # User Michael Pavone # Date 1449369634 28800 # Node ID c030e4af32b7d17d83121228421a23e965c27f46 # Parent e60eb88d7b09fc509cd02a094cd1d1cd2ed228c8 Mouse X and Y are 9-bit 2's complement not 8-bit magnitude + sign bit like I thought. Fixed mouse Y direction. diff -r e60eb88d7b09 -r c030e4af32b7 io.c --- a/io.c Sat Dec 05 00:17:15 2015 -0800 +++ b/io.c Sat Dec 05 18:40:34 2015 -0800 @@ -1229,7 +1229,7 @@ //it would be unfortunate if our event handler updated cur_x or cur_y in the middle //of the mouse poll sequence, so we save the delta here port->device.mouse.delta_x = port->device.mouse.cur_x - port->device.mouse.last_read_x; - port->device.mouse.delta_y = port->device.mouse.cur_y - port->device.mouse.last_read_y; + port->device.mouse.delta_y = port->device.mouse.last_read_y - port->device.mouse.cur_y; if (port->device.mouse.delta_y > 255 || port->device.mouse.delta_y < -255) { input |= 8; } @@ -1247,16 +1247,16 @@ input = port->input[0]; break; case 5: - input = abs(port->device.mouse.delta_x) >> 4 & 0xF; + input = port->device.mouse.delta_x >> 4 & 0xF; break; case 6: - input = abs(port->device.mouse.delta_x) & 0xF; + input = port->device.mouse.delta_x & 0xF; break; case 7: - input = abs(port->device.mouse.delta_y) >> 4 & 0xF; + input = port->device.mouse.delta_y >> 4 & 0xF; break; case 8: - input = abs(port->device.mouse.delta_y) & 0xF; + input = port->device.mouse.delta_y & 0xF; //need to figure out when this actually happens port->device.mouse.last_read_x = port->device.mouse.cur_x; port->device.mouse.last_read_y = port->device.mouse.cur_y; diff -r e60eb88d7b09 -r c030e4af32b7 menu.s68 --- a/menu.s68 Sat Dec 05 00:17:15 2015 -0800 +++ b/menu.s68 Sat Dec 05 18:40:34 2015 -0800 @@ -364,6 +364,7 @@ move.b #1, mouse_shown.w .skip_show_check + neg.w d1 move.l mouse_sprite.w, a2 add.w d1, (a2) add.w d0, mouse_x.w @@ -505,11 +506,11 @@ btst #4, d3 beq xpos - neg.w d0 + or.w #$FF00, d0 xpos btst #5, d3 beq ypos - neg.w d1 + or.w #$FF00, d1 ypos ;set port config back to normal controller mode move.b #$40, (PAD1_CTRL-PAD1_DATA, a2)