Commit Graph
40 Commits
Author SHA1 Message Date
icex2 eafb2909d1 Appl new code style on whole code base
Use a similar code style to bemanitools though reduce indentation
to 2 spaces. Also some other tweaks to be more similar to google
style.
2021-03-19 15:52:34 +01:00
icex2 b493b4983a Overhaul makefile, cleanup and structured output of targets 2021-03-19 15:50:45 +01:00
icex2 a483b32d48 doc/dev: Add architecture documentation about usb hooking and dispatching 2021-03-19 15:39:00 +01:00
icex2 7907206e1b doc/prohook: Update section relevant to the kernel hack 2021-03-19 15:05:23 +01:00
icex2 b165a4cf86 hook/pro2: Fix order of setting up usb hooks
The khack one is actually low level and must come before the
emulation layer which abstracts the libusb0.1 stuff
2021-03-19 15:02:16 +01:00
icex2 7f1a0b075b patch/piuio: Re-write emulation layer, usb_ctrl -> piuio API
Aside not being well written code, it did not consider that the
pumptools's piuio API is abstracting any kind of sensor multiplexing
to hardware.

With the game still calling the libusb API like usual, which is
8 calls (4 ins and 4 outs) for a single IO state update, this layer
issued 4 times as many calls to any pumptools piuio API implementation.

When using the piuio-real wrapper impl. this means that the real IO
hardware was polled 4 times as often as the game actually intended to
do.

That might have also lead to rather high CPU load on older hardware,
e.g. stock MK6/9 builds.
2021-03-19 14:57:52 +01:00
icex2 956a322013 hook/pro: Fix order of setting up usb hooks
The khack one is actually low level and must come before the
emulation layer which abstracts the libusb0.1 stuff
2021-03-19 13:54:18 +01:00
icex2 c2ee8c0583 patch/piuio-exit: Bugfix when using with more usb devices than just piuio
If you also have the piubtn connected, it will be opened as well, hitting
the open section in the module. It did forward everything correctly, but
the warning didn't make any sense because the same device was not opened
again. Re-work the code to create a meaningful flow. Also return the open
handle if it ever happens that the device gets re-opened without being
closed.
2021-03-19 12:43:19 +01:00
icex2 36736c8a7c patch/piuio: Remove kernel hack handling code
The piuio-khack module is responsible for transparently handling
piuio ITG 2 kernel hack requests now.
2021-03-19 12:43:19 +01:00
icex2 5ced30c2ed hook/pro2: Rework IO hooking, same as pro in previous commit 2021-03-19 12:43:19 +01:00
icex2 df135a19b0 hook/pro: Cleanup IO hooking and use new piuio-khack module
See the comment in the code for details and reasoning.
2021-03-19 12:43:19 +01:00
icex2 0a01503227 capnhook/usbhook: Add invoce next function that resets next handlers
Required for piuio-khack which needs to convert a single libusb
call into 8 separate calls. In that case, we want to advance the
handlers downstream but reset it once we go back up to the invocation
which needs to scatter to multiple calls. As stated by the documentation,
state handling of the irp is not taken care of. This is fine, since
at this point, we don't know what the function is and the caller needs
to take care of regarding saving and recovering any state in the irp.
2021-03-19 12:43:19 +01:00
icex2 5a2c8b5104 patch: Add piuio-khack module
This module takes care of emulating the ITG 2 piuio kernel driver
hack. As a separate module, this can be hooked into any chain of
existing hooks providing a greater level of flexibility and
transparency.
2021-03-19 12:43:17 +01:00
icex2 f4e01e2320 Fix broken reference in readme (part 2) 2021-03-18 21:04:39 +00:00
icex2 891251f53b Fix broken reference in doc 2021-03-18 21:03:58 +00:00
icex2 35e117cf90 Bump version to 1.10 2021-03-14 17:24:01 +01:00
icex2 3de8f507c4 Update changelog for 1.09 release 1.09 2021-03-14 16:34:37 +01:00
icex2 87bcba00c0 Package: Add Pro 2 files to release packaging 2021-03-14 16:34:15 +01:00
icex2 1410409d57 README: Promote pro2 to available 2021-03-14 16:33:56 +01:00
icex2 bf452468e4 doc: Minor fix, prohook, missing dependency 2021-03-14 16:33:40 +01:00
icex2 ed42df3a26 doc/game: Add pro2 game doc 2021-03-14 16:33:26 +01:00
icex2 a6f4657658 doc: Update pro2hook doc for release
Still old doc that wasn't updated so far.
2021-03-14 16:33:02 +01:00
icex2 708db4331a doc/game/pro: Add easter egg codes 2021-03-14 16:22:41 +01:00
icex2 cfcea514a2 Package: Include pro into public release 2021-03-14 13:17:47 +01:00
icex2 ad5aaac8c0 README: Add pro to list of available games 2021-03-14 13:01:36 +01:00
icex2 d9f4650a5c doc: Add pro game documentation 2021-03-14 13:00:52 +01:00
Cube f0040e5a1a Microdog 4.0 Emulator: Standalone 2021-01-14 14:19:44 -08:00
Cube a26830219e added microdog4.0 dog check op code
0x0 reponse is all that is required for dogcheck
Used by PIU Infinity
2021-01-06 20:55:48 +00:00
icex2 8c66e6b763 piubtn real: Add missing library on linking 2020-12-31 19:55:24 +01:00
icex2 6492e4df1a capnhook/result: Extend error code list 2020-12-31 19:54:59 +01:00
icex2 fb69d87c15 doc: Add doc for hooks regarding dependencies 2020-10-25 16:19:42 +01:00
icex2 9c75c248a5 Update README.md, add pipeline status 2020-10-03 20:38:39 +00:00
icex2 e7d05acb82 doc/pro1,pro2: Window/fullscreen mode instructions 2020-10-03 22:34:05 +02:00
icex2 db364d2796 Add gitlab ci script 2020-10-03 21:19:13 +02:00
icex2 4ad43a06b6 Version bump to 1.09 2020-10-03 20:58:39 +02:00
icex2 762bf140c0 Version 1.08 with public source code release. 1.08 2020-10-03 20:56:55 +02:00
icex2 656148121d Update Bug.md, add checklist with further things to test 2020-05-09 22:22:15 +00:00
icex2 9b633f647d Update Bug.md 2020-04-21 19:43:33 +00:00
icex2 1889aef5b6 Add gitlab templates for issues and merge requests 2019-12-20 14:04:09 +01:00
icex2 64da029351 Add README.md 2019-12-20 12:53:35 +00:00