[#1] odczyt stanu joysticka - funkcja ReadJoyPort() zżera fpsy
cześć,
w pętli głownej odczytuje stan joystika za pomocą funkcji z lowlevel.library
ale ewidentnie zarówno na winuae jak i na A1200 z v1200
fps zmniejsza się ok. 1.5 klatki.
Bez tego kodu fps wzrasta z powrotem o ok. 1.5
Podczas testu wyłączam WaitTOF() zeby nieczekać i policzyć max fps, może to jest przyczyną?
1.5 fps, to sporo, jak na taką funkcyjkę...

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;



W jaki sposób odczytać stan joya, kierunki, fire 1 i fire 2 samemu z rejestrów?
bo troche to namieszane, w C najlepiej. Tylko tu znonu nie wiem czy to dobry pomysl,
bo czy na amigo-podobnych systemach to zadziała w porowniau do funkcji systemowej.

Ps.
Oprócz tej funkcji jest też jakis gameport device tez do obsługi Joya, jest jakaś różnica?


Ostatnia aktualizacja: 15.09.2025 23:12:02 przez mateusz_s

Ostatnia aktualizacja: 15.09.2025 23:41:54 przez mateusz_s
[#2] Re: odczyt stanu joysticka - funkcja ReadJoyPort() zżera fpsy

@mateusz_s, post #1

Co do odczytu stanu joya mozna skozystac ze gameport.device.
W tym przypadku moge Cie odeslac do artykulow Asmana: "Jak napisac wlsana gre".

Mozna tez jechac po rejestrach: dla kierunkow z 0x00DFF00C.
Wartosc z tego rejestru nalezy potraktowac ANDem z 0x0303
I jesli wyniki sa nastepujace:

0x0300 - w lewo
0x0003 - w prawo
0x0100 - do przodu
0x0001 - do tylu

A dla fire z: 0x00BFE001.
Jesli 7 bit jest == 0 to wcisnieto Fire 1.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem