kyoubate-haruka d29a3926ab apm: Fix distribution server handling, abaas log symlinks, add extra buttons for dinput (#123)
Requires https://gitea.tendokyu.moe/TeamTofuShop/capnhook/pulls/8

This adds the following:

1. Fixes `am::abaas::FileSearchSuite::isAvailableAbsolutePath: Line259  ERROR: folder is unavailable (Y:\SDEM\log\\SDFU)` by hooking `DeviceIoControl` with `FSCTL_SET_REPARSE_POINT`.

Sega decided to use the most bizzare way possible of creating symbolic links. These are created in the AbaaS log directory inside SDEM and point to the appdata directories for the sub-games.

Magic numbers have been taken from amdaemon decompilation. That whole API is very sparsely documented on the Microsoft side.

2. Fixes distribution server settings not applying.

Unlike most other games, the daemon config files do not have dipswitch filters in them. Instead the distribution setting is determined by running `hwvalue.exe` twice and checking it's exit code. This has been added to `launch.bat` and requires the linked addition for inject.

3. Implemented `get_opbtns` and added extra buttons for dinput.

* `get_opbtns` existed but was never implemented. Added the ability to bind dinput buttons for test/service.
* DirectInput is weird. The controller I'm using is sending directional keys as buttons rather than a D-Pad, so I was unable to bind it. These extra directional buttons can be bound in addition to the bindings that exist for a D-Pad.

4. Fixes audio in Rolling Gunner by setting the CWD to the root of the C:\ drive before starting a game.

lol. lmao even.

5. Add a `DefineDosDevice` for Y:\ to fix Blazblue crashing

They hardcoded the damn path to appdata instead of retrieving it from the apm.dll...

Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/123
Co-authored-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
Co-committed-by: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com>
2026-07-19 08:25:54 +00:00
2021-08-15 11:11:06 +02:00
2023-09-19 10:33:30 -04:00
2026-07-19 08:21:03 +00:00
2019-11-06 21:02:49 -05:00
2024-12-16 11:09:38 +08:00
2018-10-07 21:58:14 -04:00
2021-12-27 20:56:30 -05:00
2023-02-13 03:08:41 -05:00
2019-11-06 21:02:49 -05:00
2021-12-27 20:55:20 -05:00
2025-04-17 19:40:40 +02:00
2026-02-26 23:26:51 +01:00
2026-04-06 14:25:43 +02:00

Segatools

Version: 2026-04-06

Loaders and hardware emulators for SEGA games that run on the Nu and ALLS platforms.

List of supported games

  • ALL.Net P-ras MULTI Version 3
    • starting from ALL.Net P-ras MULTI Version 3 1.01
  • Card Maker
    • starting from Card Maker
  • CHUNITHM
  • crossbeats REV.
    • up to crossbeats REV. SUNRISE
  • Eiketsu Taisen (英傑大戦)
    • starting from Sanzensekai no Hadou (三千世界の波動)
  • Fate/Grand Order
    • Fate/Grand Order Arcade
  • Hatsune Miku: Project DIVA Arcade
    • up to Future Tone
  • Initial D
  • Kemono Friends
    • Kemono Friends 3: Planet Tours
  • 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.
  • Sangokushi Taisen (三国志大戦)
    • starting from 1.01
  • SEGA World Drivers Championship
    • SEGA World Drivers Championship 2019
  • WACCA
    • starting from WACCA

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.

S
Description
No description provided
Readme Unlicense
3.4 MiB
Languages
C 96.6%
Meson 1.8%
Makefile 0.8%
Python 0.3%
Batchfile 0.2%
Other 0.2%