- if (all_acts & 0x200) { // B turbo
- turbo_rate_cnt_b += Settings.turbo_rate_add;
- JSreturn |= (turbo_rate_cnt_b >> 23) & 2;
+
+ // player 1
+ JSreturn |= all_acts[0] & 0xff;
+ if (all_acts[0] & 0x100) { // A turbo
+ turbo_rate_cnt_a[0] += Settings.turbo_rate_add;
+ JSreturn |= (turbo_rate_cnt_a[0] >> 24) & 1;
+ }
+ if (all_acts[0] & 0x200) { // B turbo
+ turbo_rate_cnt_b[0] += Settings.turbo_rate_add;
+ JSreturn |= (turbo_rate_cnt_b[0] >> 23) & 2;
+ }
+
+ // player 2
+ JSreturn |= (all_acts[1] & 0xff) << 16;
+ if (all_acts[1] & 0x100) { // A turbo
+ turbo_rate_cnt_a[1] += Settings.turbo_rate_add;
+ JSreturn |= (turbo_rate_cnt_a[1] >> 8) & 0x10000;
+ }
+ if (all_acts[1] & 0x200) { // B turbo
+ turbo_rate_cnt_b[1] += Settings.turbo_rate_add;
+ JSreturn |= (turbo_rate_cnt_b[1] >> 7) & 0x20000;