IKBD Keyboard Joystick trouble

All 680x0 related coding posts in this section please.

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

Zamuel_a
Atari God
Atari God
Posts: 1235
Joined: Wed Dec 19, 2007 8:36 pm
Location: Sweden

Re: IKBD Keyboard Joystick trouble

Postby Zamuel_a » Tue Jul 23, 2013 7:02 pm

Mine is working more or less in the same way, except that I didn't care about the mouse, so only keyboard and joystick.

Do you have a way of making it work together with time critical code like border removal? I implemented my new routine into my Pacmania game to see if it was better than the original one. It is definetly faster, but still it doesn't prevent the screen from jumping sometimes then a IKBD interrupt occures at a bad time. I tried to enable / disable the IKBD during the border removal part, but it didn't help 100%.
ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe

Dio
Captain Atari
Captain Atari
Posts: 451
Joined: Thu Feb 28, 2008 3:51 pm

Re: IKBD Keyboard Joystick trouble

Postby Dio » Tue Jul 23, 2013 10:35 pm

With the interrupt re-enable code right at the start, the worst case Timer B interrupt latency should increase by about 60 cycles.

Zamuel_a
Atari God
Atari God
Posts: 1235
Joined: Wed Dec 19, 2007 8:36 pm
Location: Sweden

Re: IKBD Keyboard Joystick trouble

Postby Zamuel_a » Wed Jul 24, 2013 8:36 am

In Pacmania I use Timer A to kill the top border and Timer B for the bottom. I tried to enable the IKBD after the top border is gone and the Timer B is setup for the bottom one. I also tried to disable the IKBD before the Timer B should kick in, but it didn't solve the problem 100%. What it did do was that the joystick and keyboard hang up rather easily if I made several movements in a short time. I had to disconnect the keyboard and plug it back in again to reset the IKBD (easy to do on my Mega STE).
I saw that there is some kind of polling mode for the joysticks instead of it sending interrupts. That might be better to use.
ST / STFM / STE / Mega STE / Falcon / TT030 / Portfolio / 2600 / 7800 / Jaguar / 600xl / 130xe

Dio
Captain Atari
Captain Atari
Posts: 451
Joined: Thu Feb 28, 2008 3:51 pm

Re: IKBD Keyboard Joystick trouble

Postby Dio » Wed Jul 24, 2013 10:32 am

If you're disabling transfer to protect an event, you need to disable the transfer at least 1ms before the event occurs or a byte may already be in flight.


Social Media

     

Return to “680x0”

Who is online

Users browsing this forum: No registered users and 2 guests