# Taitools common configuration settings This file describes configuration settings for Taitools that are common to all games. Keyboard binding settings use [Virtual-Key Codes](https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes). ## `[aimeio]` Controls the card reader driver. ### `path` Specify a path for a third-party card reader driver DLL. Default is empty (use built-in emulation based on text files and keyboard input). In previous versions of Taitools this was accomplished by replacing the AIMEIO.DLL file that came with Taitools. Taitools no longer ships with a separate AIMEIO.DLL file (its functionality is now built into the various hook DLLs). ## `[aime]` Controls emulation of the Aime card reader assembly. ### `enable` Default: `1` Enable Aime card reader assembly emulation. Disable to use a real SEGA Aime reader (COM port number varies by game). ### `aimePath` Default: `DEVICE\aime.txt` Path to a text file containing a classic Nesica IC card ID. **This does not currently work**. ### `felicaPath` Default: `DEVICE\felica.txt` Path to a text file containing a FeliCa e-cash card IDm serial number. ### `felicaGen` Default: `1` Whether to generate a random FeliCa ID if the file at `felicaPath` does not exist. ### `scan` Default: `0x0D` (`VK_RETURN`) Virtual-key code. If this button is **held** then the emulated IC card reader emulates an IC card in its proximity. A variety of different IC cards can be emulated; the exact choice of card that is emulated depends on the presence or absence of the configured card ID files. ## `[clock]` Controls hooks for Windows time-of-day APIs. ### `timezone` Default: `1` Make the system time zone appear to be JST. SEGA games malfunction in strange ways if the system time zone is not JST. There should not be any reason to disable this hook other than possible implementation bugs, but the option is provided if you need it. ### `timewarp` Default: `0` Experimental time-of-day warping hook that skips over the hardcoded server maintenance period. Causes an incorrect in-game time-of-day to be reported. Better solutions for this problem exist and this feature will probably be removed soon. ### `writeable` Default: `0` Allow game to adjust system clock and time zone settings. This should normally be left at `0`, but the option is provided if you need it. ## `[dns]` Controls redirection of network server hostname lookups ### `default` Default: `localhost` Controls hostname of all of the common network services servers, unless overriden by a specific setting below. Most users will only need to change this setting. Also, loopback addresses are specifically checked for and rejected by the games themselves; this needs to be a LAN or WAN IP (or a hostname that resolves to one). ### `router` Default: Empty string (i.e. use value from `default` setting) Overrides the target of the `tenporouter.loc` and `bbrouter.loc` hostname lookups. ### `startup` Default: Empty string (i.e. use value from `default` setting) Overrides the target of the `naominet.jp` host lookup. ### `billing` Default: Empty string (i.e. use value from `default` setting) Overrides the target of the `ib.naominet.jp` host lookup. ### `aimedb` Default: Empty string (i.e. use value from `default` setting) Overrides the target of the `aime.naominet.jp` host lookup. ## `[jvs]` Configure emulation of the AMEX PCIe JVS *controller* (not IO board!) ### `enable` Default `1` Enable JVS port emulation. Disable to use the JVS port on a real AMEX. ## `[netenv]` Configure network environment virtualization. This module helps bypass various restrictions placed upon the game's LAN environment. ### `enable` Default `1` Enable network environment virtualization. You may need to disable this if you want to do any head-to-head play on your LAN. Note: The virtualized LAN IP range is taken from the emulated keychip's `subnet` setting. ### `addrSuffix` Default: `11` The final octet of the local host's IP address on the virtualized subnet (so, if the keychip subnet is `192.168.32.0` and this value is set to `11`, then the local host's virtualized LAN IP is `192.168.32.11`). ### `routerSuffix` Default: `1` The final octet of the default gateway's IP address on the virtualized subnet. ### `macAddr` Default: `01:02:03:04:05:06` The MAC address of the virtualized Ethernet adapter. Used in nesica auth. ## `[vfs]` Configure Windows path redirection hooks. ### `enable` Default: `1` Enable path redirection. ### `amfs` Default: Empty string (causes a startup error) Configure the location of the SEGA AMFS volume. Stored on the `E` partition on real hardware. ### `appdata` Default: Empty string (causes a startup error) Configure the location of the SEGA "APPDATA" volume (nothing to do with the Windows user's `%APPDATA%` directory). Stored on the `Y` partition on real hardware. ### `option` Default: Empty string Configure the location of the "Option" data mount point. This mount point is optional (hence the name, probably) and contains directories which contain minor over-the-air content updates. ## `[idmac]` ### `dipsw_override` Default: 0 Weather the value of `dipsw` will override the dipswitch value set by the DLL. Only useful for debugging. Leave disabled. ### `dipsw` Default: 0 Controls the value of the 4-switch dipswitch on the DMAC's daughter board. Each bit is one of the switches, with LSB being switch 1. Ignored if `dipsw_override` is 0. ### `hook_dll` Default: 0 If 1, hook the iDmacDrvxx.dll functions, otherwise create a fake device. Set to 1 if you're using the stub included with this hook as a substitute for the real DLL. Both hooking methods lead to the same place, so it doesn't matter too much what you use. ## `[cert]` ### `enable` Default: 1 If 1, hooks functions related to server and client certificate processing. ### `server_cert` Default: `cert/Server.pfx` Location of the PKCS #12 file containing the certificates used to verify the server ### `client_cert` Default: `` Location of the PKCS #12 containing the certificates used by the client to do mTLS. If your data already came with a cert and the server you're connecting to doesn't use mTLS you can leave this blank to let the game use it's own (TODO verify) ### `insecure` Default: 0 If 1, overrides `WinHttpSetOption`s `WINHTTP_OPTION_SECURITY_FLAGS` behavior to ignore almost all SSL errors. Useful for testing or if your server sysadmin is lazy. Should be disabled otherwise.