1
0
mirror of https://github.com/pumpitupdev/pumptools.git synced 2024-11-30 17:24:30 +01:00
Commit Graph

49 Commits

Author SHA1 Message Date
icex2
94529e1e04 Code format 2023-03-02 19:16:06 +01:00
BatteryShark
6a411cf37a bugfix due to stupidity on my end 2023-03-02 00:25:25 -05:00
BatteryShark
9f82f28fc1 Added additional notes for colormap patch and proper naming of value. 2023-03-02 00:15:27 -05:00
Cube
d8a745d6e3 piubtn: Fix order in process outputs 2022-06-22 23:53:10 +02:00
Cube
8968725a4b io/util/usb: Add interrupt_transfer function
set_configuration was moved after the kernel_driver_active
check otherwise lxio device will fail to set config.
2022-06-22 23:53:10 +02:00
Cube
d129b53561 LXIO Support:
This is mostly Din's work.

piuio and piubtn are both included in the piuio/lxio lib
To use in games which contain a button board specify the same
module for both piuio and piubtn configs.
2022-06-22 23:53:10 +02:00
Cube
bae69dc090 hooklib: usb-emu fix 2022-06-22 23:53:10 +02:00
Cube
00d3f5a8ad Pro/Pro2: piuio-exit patch fix 2022-05-18 23:40:32 +02:00
icex2
395c52a3b0 hook/nxa: Add dongle keys and hdd raw area 2021-04-12 22:11:48 +02:00
icex2
e7ea388dc0 hook: Classic piu games, do not utilize io poll delay
Not required for classic piu games, disable
2021-04-12 22:05:23 +02:00
icex2
614f8ff2db patch/pro 1 and 2: Delay polls to ctrl endpoint for 1 ms each
Fixes high CPU load issues with IO threads
2021-04-12 22:04:51 +02:00
icex2
24d5cfc647 patch/piuio/piubtn: Add option to delay polling on ctrl msgs
The PRO games do not have proper CPU load limiting on their
IO threads which results in very high CPU load when using
the emulation subsystem.
2021-04-12 22:03:24 +02:00
icex2
c4feccf2d6 patch/net-profile: Bugfix, incorrect reference to virtual profile file
This didn't work with NXA because some parts were always pointing at
the NX2 data
2021-04-07 10:20:30 +02:00
icex2
0c472b8adc pumpnet/client: Add missing nxa support 2021-04-07 10:19:42 +02:00
icex2
b2bbf8981d nxahook: Support pumpnet 2021-04-07 08:41:36 +02:00
icex2
7d03f6b7dc asset/nxa: Add sizes of usbprofile files 2021-04-07 08:40:35 +02:00
icex2
b4587985f6 Support redacted options by adding a "is_secret_data" flag for options
Use this to flag options as "secrets" allowing the debug log output
to not print them to the console/logs.
2021-04-01 23:36:03 +02:00
icex2
8eaac347f0 Redact any refID and machineID info from logging of pumpnet modules
That information wasn't really valuable on most debugging efforts
so far and just leaked as sensitive information with any bug
report.
2021-04-01 23:17:04 +02:00
icex2
26edf1107f Temporarily remove gfx scaling feature
Remove for now as the implementation causes issues on some setups
when loading libGL.so (cannot be found). For details, see:

https://dev.s-ul.net/hackitup/pumptools/-/issues/27
2021-03-31 21:37:38 +02:00
icex2
47a6c145b4 Add missing prefix "patch" to all option keys for gfx.scaling_mode 2021-03-20 11:40:08 +01:00
icex2
083505abd9 hook/other classic piu: Add gfx scaling feature
Support every game except for mk3 ports and pro series. Pro series
can do scaling etc by game configuration and mk3 has a different
gfx backend setup
2021-03-20 11:35:31 +01:00
icex2
e86742b03c hook/nx2: Add option to enable gfx scaling 2021-03-20 11:12:33 +01:00
icex2
517adc153a patch/gfx: Implement scaling using different screen and viewport resolutions
Define a set of fixed modes covering our use-cases to allow rendering
4:3 games to a pillarbox on widescreen monitors.
2021-03-20 11:12:31 +01:00
icex2
8bb157c206 patch/piuio: Bugfix, p1 input mapped also to p2 2021-03-19 21:50:11 +01:00
icex2
078a382ba6 hook/zero: Remove non working window mode option 2021-03-19 16:28:15 +01:00
icex2
81bdf49af2 hook/x2: Remove non working window mode option 2021-03-19 16:28:03 +01:00
icex2
672622ecbc hook/pri: Remove non working window mode option 2021-03-19 16:27:50 +01:00
icex2
aa8e30af34 hook/nxa: Remove non working window mode option 2021-03-19 16:27:38 +01:00
icex2
7ef3581493 hook/nx2: Remove non working window mode option 2021-03-19 16:27:24 +01:00
icex2
f844c28bd3 hook/nx: Remove non working window mode option 2021-03-19 16:27:07 +01:00
icex2
09586bc574 hook/fst: Remove non working window mode option 2021-03-19 16:26:55 +01:00
icex2
eb54cd96e3 hook/fex: Remove non working window mode option 2021-03-19 16:26:43 +01:00
icex2
f6708adb38 hook/f2: Remove non working window mode option 2021-03-19 16:26:23 +01:00
icex2
9d715476d1 hook/exc: Remove non working window mode option 2021-03-19 16:25:53 +01:00
icex2
e265c048d5 patch/gfx: Remove non working window mode feature
This wasn't worked as intended since the beginning. There was also
an issue that actually raised a discussion about this and clarified
that it's not that easy under linux unfortunately.
2021-03-19 16:23:50 +01:00
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
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
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
6492e4df1a capnhook/result: Extend error code list 2020-12-31 19:54:59 +01:00
icex2
762bf140c0 Version 1.08 with public source code release. 2020-10-03 20:56:55 +02:00