forked from TeamTofuShop/segatools
a1611afffcdbb3e83e920a870c0fe719c61be985
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: TeamTofuShop/segatools#55 Co-authored-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe> Co-committed-by: Mahuyo <mahuyo@noreply.gitea.tendokyu.moe>
Segatools
Version: 2024-09-30
Loaders and hardware emulators for SEGA games that run on the Nu and ALLS platforms.
List of supported games
- Card Maker
- starting from Card Maker
- CHUNITHM
- up to CHUNITHM PARADISE LOST
- starting from CHUNITHM NEW!!
- crossbeats REV.
- up to crossbeats REV. SUNRISE
- Fate/Grand Order
- Fate/Grand Order Arcade
- Hatsune Miku: Project DIVA Arcade
- up to Future Tone
- Initial D
- Initial D Arcade Stage Zero
- Initial D THE ARCADE
- maimai DX
- starting from maimai DX
- Mario & Sonic
- Mario & Sonic at the Tokyo 2020 Olympics Arcade
- O.N.G.E.K.I.
- starting from O.N.G.E.K.I.
- SEGA World Drivers Championship
- SEGA World Drivers Championship 2019
- WACCA
- starting from WACCA
- Kemono Friends
- Kemono Friends 3: Planet Tours
End-users
For setup and configuration guides, refer to the dedicated documents available for each game, see the links in the previous section.
Contributors
If you are/want to be a contributor of any kind, e.g. new features, bug fixes, documentation improvements, ..., please read the contributing documentation, first.
Developers
For development setup and instructions how to build the project, refer to the dedicated development documentation.
Description
Languages
C
96.5%
Meson
2%
Makefile
0.9%
Batchfile
0.3%
PowerShell
0.2%
Other
0.1%