ULONG joy_port_state = ReadJoyPort(1); ENGINE_io__input.joy_left = joy_port_state & JPF_JOY_LEFT; ENGINE_io__input.joy_right = joy_port_state & JPF_JOY_RIGHT; ENGINE_io__input.joy_up = joy_port_state & JPF_JOY_UP; ENGINE_io__input.joy_down = joy_port_state & JPF_JOY_DOWN; ENGINE_io__input.joy_button_1 = joy_port_state & JPF_BUTTON_RED; ENGINE_io__input.joy_button_2 = joy_port_state & JPF_BUTTON_BLUE;
@mateusz_s, post #1
@mateusz_s, post #1
@asman, post #3
@mateusz_s, post #4
if (GetMsg(system__gameport_mp) != NULL) { switch(system__gameport_ie.ie_Code) { case IECODE_LBUTTON: ENGINE_io__input.joy_button_1 = 1; break; case (IECODE_LBUTTON | IECODE_UP_PREFIX): ENGINE_io__input.joy_button_1 = 0; break; default: break; } // Send read request system__gameport_io->io_Command = GPD_READEVENT; // to read events system__gameport_io->io_Length = sizeof (struct InputEvent); system__gameport_io->io_Data = (APTR)&system__gameport_ie; // put results into system__gameport_ie SendIO((struct IORequest *)system__gameport_io); // asynchronous }
@asman, post #6
@mateusz_s, post #7
-----------------------------------------------winuae v1200 ------------------------------------------------------------------------------- bez rysowania, samo c2p i bez czytania stanu joysticka i obsługi wejścia 63/64 (OK!) ~70 (OK!) ------------------------------------------------------------------------------- rysowanie (manager+bg+player+osd) bez czytania stanu joystika 58.3 65/66 ------------------------------------------------------------------------------- rysowanie (manager+bg+player+osd) joystik ReadJoyPort() 57.3 (!!!) 65/66 ------------------------------------------------------------------------------- rysowanie (manager+bg+player+osd) joystik gameport.device 58.3 (OK!) 65/66
@mateusz_s, post #8