Commit Graph

115 Commits

Author SHA1 Message Date
Dniel97
ec00a83d6b
[apm3] hook video loading, bug fixes 2025-07-27 19:20:36 +02:00
Dniel97
bb01e131e9
[epay]: hook enabled by default 2025-07-27 18:06:58 +02:00
Dniel97
0006731536
[apm3] fix led hook, fix blocked reboot 2025-07-21 21:09:24 +02:00
Dniel97
e974a76fe6
[apm3] add DInput and XInput support 2025-07-20 18:13:29 +02:00
kyoubate-haruka
e2e4b37e3f APMv3: add hook (#73)
This adds support for APMv3 I/O, menus and the launcher.

* Added a apm3hook dll and I/O based on the usual layout.
* Added C:\Mount\Apm to vfs.
* Added the relevant .dlls to unityhook.
* Added a hook for apmmount.dll that uses `CreateDosDevice` to mount decrypted data to the locations the launcher and games expect files to be. This will conflict with anything that is already at W:\ and X:\, but I do not have better solutions for this.
* `launch.bat` is a bit more involved as it simulates the launcher loop. It can be broken by alt+f4ing or closing the launcher with "X".
* An extra export was added, so rundll32 can be used to get rid of the dosdevices after the launcher was killed.
* Since all the games do everything via `X:\lib\apm.dll`, no game hooks were needed in testing, therefore, `game.bat` files can be used as is.
* Path hooks are applied correctly, so you can go correctly between games, launcher, sub system test mode and game test modes.

A setup guide (some stuff specific to my server) can be found here:
https://gmg.hopto.org:82/gmg/wiki/index.php/All.Net_P-ras_Multi_Menu

Tested with the 2 APM sample apps, Blazblue, Puyo, Guilty Gear and some weird unity puzzle game whose name I forgot.

![Apmv3System_yLRityJVpm.png](/attachments/3d645e71-81e6-42e6-acd4-63c537cda59e)
![puyoe_hJNhnJGFnd.png](/attachments/01664049-71fe-4c38-9c99-39649ab21e56)

Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/73
Co-authored-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
Co-committed-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
2025-07-20 09:43:56 +00:00
Dniel97
03513e7b0c
add aime scan button to default segatools.ini 2025-07-16 15:44:05 +02:00
Dniel97
cdb6815c5a
add keychip id and pcbid to default segatools.ini 2025-06-19 19:28:10 +02:00
Dniel97
ae3dd666f4
refactor all common parts and games 2025-04-17 19:40:40 +02:00
kyoubate-haruka
39711a994a FGO: add keyboard input (#61)
Probably self-explanatory :p

Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/61
Co-authored-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
Co-committed-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
2025-04-05 15:22:14 +00:00
kyoubate-haruka
61f95c3f2e GFX: add dpi-awareness switch for all games (#64)
Pretty simple, adds a new config setting to the gfx category, which defaults to enabled to disable DPI scaling if a scale higher than 100% is used, causing game windows to appear stretched and blurry.

Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/64
Co-authored-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
Co-committed-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
2025-03-14 11:53:31 +00:00
Dniel97
e850346b79
renamed start.bat to launch.bat 2025-03-02 00:25:15 +01:00
Dniel97
4d0ef54279
system: add dip switch label configurations 2025-03-02 00:23:53 +01:00
Dniel97
b8af67377c
Merge branch 'feature/mai2-touch-led' into develop 2025-03-02 00:04:00 +01:00
Dniel97
4cb76dd1ee
mai2: update all LED boards to use two boards 2025-03-02 00:01:45 +01:00
Hay1tsme
004a2f6dcd docs: fix playformID and billingType config docs 2025-02-21 19:37:54 -05:00
Mahuyo
a1611afffc Mai2: Add touch and led15070 hook (#55)
In this PR, I have added the `mai2` touch and `led15070` hooks to provide an example for handling custom peripherals. This change allows users to implement the touch and `led15070` logic by writing appropriate `mai2io` scripts.

#### **Touch Hook**:
- The touch hook simulates touch points based on keyboard combinations. For example, to trigger the A1 touch point, the user must press the A and 1 keys on the keyboard. Input for the 1p requires Caps Lock to be off, while 2p requires Caps Lock to be on.
- The hook allows for independent control of whether device simulation is enabled for "1p" and "2p" and whether keyboard input mapping is enabled.
- **Note**: The current touch hook is not yet functional as it requires modifications to the `capnhook` for proper completion of the `sinmai` hook.

#### **LED15070 Hook**:
- This hook implements basic device simulation. Peripherals requiring lighting data should complete the logic as needed.
- **Note**: The LED data refresh can flood the console logs, so I’ve added a `DEBUG` flag to control whether the debug logging is enabled or not.

#### **Other Changes**:
- In certain versions of `sinmai`, key inputs for 1p and 2p can be directly read from the keyboard without requiring simulation via the `amdaemon io4` hook. I’ve added a switch to control this behavior to prevent redundant input.
- **Benefit**: This ensures that key input is only read when `sinmai` is in the foreground.

If you'd like to learn more about the touch and `led15070` features, my research findings are available here:
[Mai2Touch](https://github.com/Sucareto/Mai2Touch)

Co-authored-by: Sucareto <28331534+Sucareto@users.noreply.github.com>
Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/55
Co-authored-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe>
Co-committed-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe>
2025-02-16 12:49:58 +00:00
Dniel97
8fc24503c8
diva, fgo: added gfx, close #46 2024-11-03 23:00:43 +01:00
Dniel97
892eb2b859
idz, idac, swdc: fixed rumble effect 2024-10-29 22:06:07 +01:00
kyoubate-haruka
3bb9404a38 printer: add the default waitTime setting to config 2024-10-04 11:43:34 +02:00
Dniel97
259b763a13
idz: add ffb and led emulation 2024-09-30 23:10:16 +02:00
Dniel97
2251585ef0
swdc: add ffb and led emulation 2024-09-30 20:23:28 +02:00
Dniel97
c06bb408e7
idac: add ffb emulation 2024-09-30 18:50:46 +02:00
Dniel97
bb773a63ce Merge pull request 'Kemono Friends support / 32-bit CHC300 support' (#36) from Haruka/segatools:kemonofr into develop
Reviewed-on: https://gitea.tendokyu.moe/Dniel97/segatools/pulls/36
2024-09-21 15:12:05 +00:00
kyoubate-haruka
86556ed2c8 kemono: Update start.bat 2024-09-16 14:29:49 +02:00
kyoubate-haruka
96bdacfa7c kemono: remove old amdaemon workaround 2024-09-12 12:40:57 +02:00
kyoubate-haruka
d4bb7b6e0e kemono: correct keychip IP range 2024-09-12 12:40:10 +02:00
kyoubate-haruka
068651b6fa kemono: add support 2024-09-11 13:31:23 +02:00
kyoubate-haruka
26624f25b1 hide default vfd ports from configs 2024-08-24 11:14:13 +02:00
kyoubate-haruka
54cbbffae9 add almost full vfd implementation 2024-08-23 16:30:22 +02:00
Dniel97
ac0f9f0587
aime firmware fix, mu3 keybinding fix 2024-08-21 15:13:09 +02:00
Dniel97
c535f18e40
added support for tokyo 2024-08-20 13:32:35 +02:00
Dniel97
c91c7db3c7
renamed [gpio] dipsw settings to [system] 2024-08-20 10:48:08 +02:00
d4nin3u
37c26ecadb chuniio: Add OpeNITHM LED protocol support (#26)
This commit basically copy-pastes the last commits from https://dev.s-ul.net/VeroxZik/segatools/-/commits/master to add OpenITHM LED support. Doesn't need to edit segatools.ini because the relevant config lines are already there for some reason.

Tested with my OpenITHM controller and behaves exactly like the other fork.

Reviewed-on: https://gitea.tendokyu.moe/Dniel97/segatools/pulls/26
Co-authored-by: d4nin3u <d4nin3u@gmail.com>
Co-committed-by: d4nin3u <d4nin3u@gmail.com>
2024-08-06 21:35:51 +00:00
Dniel97
5abc593b46
cm: added printer support 2024-08-05 20:53:56 +02:00
Dniel97
965126c68a
idac: improved compatibility with newer versions 2024-06-30 14:23:20 +02:00
Dniel97
7e5e0f132e
idac: 837-15070 board implementation 2024-06-23 21:21:57 +02:00
Dniel97
4e58d3b9a2
added game specific devices documentation 2024-06-23 21:04:08 +02:00
Dniel97
3bfb046afc
mu3, chusan: improved library doc 2024-05-15 21:42:15 +02:00
Dniel97
9fe98b227b
mu3: added lights hook 2024-05-12 22:06:37 +02:00
Dniel97
517469a60c
switched to new capnhook, updated unityhook, added LED 15093 to MU3 2024-05-12 19:37:30 +02:00
Dniel97
eb1ec0e261
idac: updated start.bat script 2024-04-29 21:34:30 +02:00
beerpsi
4041844ea9 mai2/mu3/cm: Integrate UnityDoorstop with segatools (#11)
[UnityDoorstop](https://github.com/NeighTools/UnityDoorstop) is a tool to execute managed code (.NET DLLs) before Unity does, useful for modding frameworks such as BepInEx.

This PR integrates parts of its code into segatools, so loading BepInEx is as simple as adding 2 lines to `segatools.ini`:
```ini
[unity]
targetAssembly=BepInEx\core\BepInEx.Preloader.dll
```

This PR also factors out the Unity path redirection hooks to its own module.

Reviewed-on: https://gitea.tendokyu.moe/Dniel97/segatools/pulls/11
Co-authored-by: beerpsi <beerpsi@duck.com>
Co-committed-by: beerpsi <beerpsi@duck.com>
2024-04-15 19:30:28 +00:00
Dniel97
774a639bb7
cxb: fixed configs 2024-03-14 00:14:51 +01:00
Dniel97
097b74d849
cxb: server support added, bugfixes, thanks @Midorica 2024-03-13 21:40:25 +01:00
Dniel97
2590e749ca
config bugfixes 2024-03-07 15:46:43 +01:00
Dniel97
ca36a879cb
updated README and added "AM Daemon" window name 2024-02-22 19:12:18 +01:00
Dniel97
e40e1dffe3
improved all segatools.ini configs 2024-02-21 21:58:44 +01:00
Dniel97
56e971c6a4
changed default operator buttons to F1, F2 and F3 and fixed subnets 2024-02-06 13:01:26 +01:00
Dniel97
451a7ec49d
added VFD toggle to config 2024-02-06 12:34:11 +01:00
Dniel97
cc0b6b0953
swdc: fixed steering wheel buttons, improved start.bat 2024-01-16 17:56:24 +01:00