Mercurial > repos > blastem
comparison blastem.c @ 195:c615061f7914
Fix 6-button controller emulation
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 16 Jan 2013 22:50:02 -0800 |
parents | 02e25abe2dcd |
children | 7c227a8ec53d |
comparison
equal
deleted
inserted
replaced
194:811163790e6c | 195:c615061f7914 |
---|---|
274 } | 274 } |
275 /*if (pad->input[GAMEPAD_TH0] || pad->input[GAMEPAD_TH1]) { | 275 /*if (pad->input[GAMEPAD_TH0] || pad->input[GAMEPAD_TH1]) { |
276 printf("io_data_read | control: %X, TH: %X, GAMEPAD_TH0: %X, GAMEPAD_TH1: %X, TH Counter: %d, Timeout: %d, Cycle: %d\n", control, th, pad->input[GAMEPAD_TH0], pad->input[GAMEPAD_TH1], pad->th_counter,pad->timeout_cycle, context->current_cycle); | 276 printf("io_data_read | control: %X, TH: %X, GAMEPAD_TH0: %X, GAMEPAD_TH1: %X, TH Counter: %d, Timeout: %d, Cycle: %d\n", control, th, pad->input[GAMEPAD_TH0], pad->input[GAMEPAD_TH1], pad->th_counter,pad->timeout_cycle, context->current_cycle); |
277 }*/ | 277 }*/ |
278 if (th) { | 278 if (th) { |
279 if (pad->th_counter == 2) { | 279 if (pad->th_counter == 3) { |
280 input = pad->input[GAMEPAD_EXTRA]; | 280 input = pad->input[GAMEPAD_EXTRA]; |
281 } else { | 281 } else { |
282 input = pad->input[GAMEPAD_TH1]; | 282 input = pad->input[GAMEPAD_TH1]; |
283 } | 283 } |
284 } else { | 284 } else { |
285 if (pad->th_counter == 2) { | 285 if (pad->th_counter == 3) { |
286 input = pad->input[GAMEPAD_TH0] | 0xF; | 286 input = pad->input[GAMEPAD_TH0] | 0xF; |
287 } else if(pad->th_counter == 3) { | 287 } else if(pad->th_counter == 4) { |
288 input = pad->input[GAMEPAD_TH0] & 0x30; | 288 input = pad->input[GAMEPAD_TH0] & 0x30; |
289 } else { | 289 } else { |
290 input = pad->input[GAMEPAD_TH0] | 0xC; | 290 input = pad->input[GAMEPAD_TH0] | 0xC; |
291 } | 291 } |
292 } | 292 } |