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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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):