added support for tokyo

This commit is contained in:
2024-08-20 13:30:51 +02:00
parent c91c7db3c7
commit c535f18e40
27 changed files with 1715 additions and 11 deletions

9
dist/tokyo/config_hook.json vendored Normal file
View File

@ -0,0 +1,9 @@
{
"network" :
{
"property" :
{
"dhcp" : true
}
}
}

199
dist/tokyo/segatools.ini vendored Normal file
View File

@ -0,0 +1,199 @@
; -----------------------------------------------------------------------------
; Path settings
; -----------------------------------------------------------------------------
[vfs]
; Insert the path to the game AMFS directory here (contains ICF1 and ICF2)
amfs=
; Insert the path to the game Option directory here (contains OPxx directories)
option=
; Create an empty directory somewhere and insert the path here.
; This directory may be shared between multiple SEGA games.
; NOTE: This has nothing to do with Windows %APPDATA%.
appdata=
; -----------------------------------------------------------------------------
; Network settings
; -----------------------------------------------------------------------------
[dns]
; Insert the hostname or IP address of the server you wish to use here.
; Note that 127.0.0.1, localhost etc are specifically rejected.
default=127.0.0.1
[netenv]
; Simulate an ideal LAN environment. This may interfere with head-to-head play.
; SEGA games are somewhat picky about their LAN environment, so leaving this
; setting enabled is recommended.
enable=1
; The final octet of the local host's IP address on the virtualized subnet (so,
; if the keychip subnet is `192.168.149.0` and this value is set to `205`, then the
; local host's virtualized LAN IP is `192.168.149.205`).
addrSuffix=205
; -----------------------------------------------------------------------------
; Board settings
; -----------------------------------------------------------------------------
[keychip]
; The /24 LAN subnet that the emulated keychip will tell the game to expect.
; If you disable netenv then you must set this to your LAN's IP subnet, and
; that subnet must start with 192.168.
subnet=192.168.149.0
; Override the keychip's region code.
; 1: JAPAN (ALL.Net, Japanese language, Option support enabled)
; 4: EXPORT (Local networking only, English language, No option support)
; 8: CHINA
;
; NOTE: Changing this setting causes a factory reset. The language can be
; changed in the game settings, so it's possible to run the JAPAN region
; with English language.
region=1
[system]
; Enable ALLS system settings.
enable=1
; Enable freeplay mode. This will disable the coin slot and set the game to
; freeplay. Keep in mind that some game modes (e.g. Freedom/Time Modes) will not
; allow you to start a game in freeplay mode.
freeplay=0
; For Mario & Sonic at the Tokyo 2020 Olympics Arcade, DipSw 1/2/3 must be set
; as the following:
; Cabinet ID 1 (Server): 1 0 0
; Cabinet ID 2 (Client): 0 1 0
; Cabinet ID 3 (Client): 0 0 1
; Cabinet ID 4 (Client): 0 1 1
dipsw1=1
dipsw2=0
dipsw3=0
; -----------------------------------------------------------------------------
; LED settings
; -----------------------------------------------------------------------------
[led15093]
; Enable emulation of the 15093-04 controlled lights, which handle the cabinet
; LEDs.
enable=1
; -----------------------------------------------------------------------------
; Misc. hook settings
; -----------------------------------------------------------------------------
[zinput]
; Disables the built-in DirectInput support, which is used to support a
; controller out of the box.
enable=1
; -----------------------------------------------------------------------------
; Custom IO settings
; -----------------------------------------------------------------------------
[tokyoio]
; To use a custom Mario & Sonic at the Tokyo 2020 Olympics Arcade IO DLL enter
; its path here. Leave empty if you want to use Segatools built-in keyboard/
; gamepad input.
path=
; -----------------------------------------------------------------------------
; Input settings
; -----------------------------------------------------------------------------
; Keyboard bindings are specified as hexadecimal (prefixed with 0x) or decimal
; (not prefixed with 0x) virtual-key codes, a list of which can be found here:
;
; https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
;
; This is, admittedly, not the most user-friendly configuration method in the
; world. An improved solution will be provided later.
[io4]
; Test button virtual-key code. Default is the F1 key.
test=0x70
; Service button virtual-key code. Default is the F2 key.
service=0x71
; Keyboard button to increment coin counter. Default is the F3 key.
coin=0x72
; Input API selection for IO4 input emulator.
; Set "xinput" to use a gamepad and "keyboard" to use a keyboard.
mode=xinput
; Mario & Sonic at the Tokyo 2020 Olympics Arcade Control Panel
;
; |--|------------------ Main-Assy ------------------|--|
; | | YELLOW | |
; | | --- | |
; | | ( O ) | |
; |--| BLUE --- RED |--|
; | | --- PUSH CENTER --- | |
; | | ( O ) /---------------\ ( O ) | |
; | | --- / \ --- | |
; | | PUSH LEFT / \ PUSH RIGHT| |
; |--|---------/ Floor Assy \---------|--|
; | | |JUMP SENSE JUMP SENSE| | |
; | | |1|---------------|-|-------------->|1| | |
; | | | | Foot Panel | | Foot Panel | | | |
; | | |2|<- - - - - - - |-| - - - - - - - |2| | |
; | | | | | | | | | |
; | | |3| -FOOT SENSE - |-| - FOOT SENSE->|3| | |
; | | | | L | | R | | | |
; | | |4|<- - - - - - - |-| - - - - - - - |4| | |
; | | | | | | | | | |
; | | |5| - - - - - - - |-| - - - - - - ->|5| | |
; | | | | | | | | | |
; | | |6|<--------------|-|---------------|6| | |
; | | | | | |
; | | | | | |
; |--|----|-------------------------------------|----|--|
;
; XInput bindings
;
; X Push Left Blue
; Y Push Center Yellow
; B Push Right Red
; D-Pad Left Push Left Blue
; D-Pad Right Push Right Red
; Left Trigger Foot Sense L/Jump Sense
; Right Trigger Foot Sense R/Jump Sense
[keyboard]
; Keyboard bindings
; Keyoard: Push button settings
; PUSH LEFT (BLUE) button virtual-key code. Default is the A key.
leftBlue=0x41
; PUSH CENTER (YELLOW) button virtual-key code. Default is the S key.
centerYellow=0x53
; PUSH RIGHT (RED) button virtual-key code. Default is the D key.
rightRed=0x44
; Keyboard: Sensor settings
; FOOT SENSE L (LEFT) button virtual-key code. Default is the Left Arrow key.
footLeft=0x25
; FOOT SENSE R (RIGHT) button virtual-key code. Default is the Right Arrow key.
footRight=0x27
; Keyboard: Jump sensor settings
; All jump sensors will also trigger the FOOT SENSE L and FOOT SENSE R buttons.
; JUMP SENSOR 1 button virtual-key code. Default is the Z key.
jump1=0x5A
; JUMP SENSOR 2 button virtual-key code. Default is the X key.
jump2=0x58
; JUMP SENSOR 3 button virtual-key code. Default is the C key.
jump3=0x43
; JUMP SENSOR 4 button virtual-key code. Default is the B key.
jump4=0x42
; JUMP SENSOR 5 button virtual-key code. Default is the N key.
jump5=0x4E
; JUMP SENSOR 6 button virtual-key code. Default is the M key.
jump6=0x4D
; Virtual-key code for all jump sensors. Default is the Space key.
jumpAll=0x20

57
dist/tokyo/start.bat vendored Normal file
View File

@ -0,0 +1,57 @@
@echo off
pushd %~dp0
set DAEMON_WAIT_SECONDS=5
set AMDAEMON_CFG=config_common.json ^
config_ch.json ^
config_ex.json ^
config_jp.json ^
config_st1_ch.json ^
config_st1_ex.json ^
config_st1_jp.json ^
config_st2_ch.json ^
config_st2_ex.json ^
config_st2_jp.json ^
config_st3_ch.json ^
config_st3_ex.json ^
config_st3_jp.json ^
config_st4_ch.json ^
config_st4_ex.json ^
config_st4_jp.json ^
config_laninstall_server_ch.json ^
config_laninstall_client1_ch.json ^
config_laninstall_client2_ch.json ^
config_laninstall_client3_ch.json ^
config_laninstall_server_ex.json ^
config_laninstall_client1_ex.json ^
config_laninstall_client2_ex.json ^
config_laninstall_client3_ex.json ^
config_laninstall_server_jp.json ^
config_laninstall_client1_jp.json ^
config_laninstall_client2_jp.json ^
config_laninstall_client3_jp.json ^
config_hook.json
start /min "AM Daemon" inject -d -k tokyohook.dll amdaemon.exe -c %AMDAEMON_CFG%
timeout %DAEMON_WAIT_SECONDS% > nul 2>&1
REM ---------------------------------------------------------------------------
REM Set configuration
REM ---------------------------------------------------------------------------
REM Configuration values to be passed to the game executable.
REM All known values:
REM -forceapi:11
REM -forcehal
REM -forcevsync:0/1
REM -fullscreen
REM -windowed
REM Note: -windowed is recommended as the game looks sharper in windowed mode.
inject -d -k tokyohook.dll app.exe -windowed
taskkill /f /im amdaemon.exe > nul 2>&1
echo.
echo Game processes have terminated
pause