Various bugfixes and features for the upcoming iidx multidisk release #236

Merged
icex2 merged 38 commits from timebase-tool into master 2023-04-06 16:39:53 +03:00
icex2 commented 2023-03-20 22:37:36 +03:00 (Migrated from github.com)

As the title implies, this PR is a mixed bag of various things that I had to look into while working on my "iidx multidisk" that is planned to be released once I wrapped up all the work around that and got it tested.

See individual commits as changes are broken down into more digestable and scoped chunks accordingly.

For IO misfiring fix

I went through the entire code base and checked every game and IO hw emulation combination bemanitools supports right now. Here is a exhaustive list of what's affected and what's not affected (and why):

  • bst/kfca: NOT affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management.
  • ddr/p3io: NOT affected. State reads/writes are atomic or by value and not byte buffer.
  • iidx/ezusb: AFFECTED. Probably the most well known case, see https://github.com/djhackersdev/bemanitools/issues/89
  • iidx/ezusb2: AFFECTED. Same as ezusb.
  • iidx/bio2: NOT affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management.
  • jb/p3io: AFFECTED. See https://github.com/djhackersdev/bemanitools/issues/92
  • jb/p4io: AFFECTED. Same as jb/p3io
  • pnm/ezusb2: AFFECTED. Very similar to iidx/ezusb because of same ezusb hardware and interfaces
  • sdvx/kfca: NOT affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management.
  • sdvx/bio2: NOT affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management.
As the title implies, this PR is a mixed bag of various things that I had to look into while working on my "iidx multidisk" that is planned to be released once I wrapped up all the work around that and got it tested. See individual commits as changes are broken down into more digestable and scoped chunks accordingly. # For IO misfiring fix I went through the entire code base and checked every game and IO hw emulation combination bemanitools supports right now. Here is a exhaustive list of what's affected and what's not affected (and why): * bst/kfca: **NOT** affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management. * ddr/p3io: **NOT** affected. State reads/writes are atomic or by value and not byte buffer. * iidx/ezusb: **AFFECTED**. Probably the most well known case, see https://github.com/djhackersdev/bemanitools/issues/89 * iidx/ezusb2: **AFFECTED**. Same as ezusb. * iidx/bio2: **NOT** affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management. * jb/p3io: **AFFECTED**. See https://github.com/djhackersdev/bemanitools/issues/92 * jb/p4io: **AFFECTED**. Same as jb/p3io * pnm/ezusb2: **AFFECTED**. Very similar to iidx/ezusb because of same ezusb hardware and interfaces * sdvx/kfca: **NOT** affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management. * sdvx/bio2: **NOT** affected. Uses ACIO bus which correctly handles buffering data it's internal buffer management.
willxinc (Migrated from github.com) approved these changes 2023-03-21 02:27:51 +03:00
Sign in to join this conversation.