two-torial/docs/errorcodes/sega.md

9.7 KiB

SEGA Error Codes

!!! warning "Before reading"

This section contains various gamecode errors that a user may run across. There is an innumerable amount of these and I sometimes wonder if it's truly possible to have them all listed. 
Nonetheless, dozens, if not hundreds are currently missing. This list is a massive work in progress and will be updated with time.

Furthermore, not every solution listed can be the definitive solution to your error, sometimes various odd software and hardware nuances occur to create yet unseen issues.

Universal Game Error Codes

0000

!!! tip "Unexpected Error Occured"

This error occurs when the data is horribly corrupt, incomplete, or modified
incorrectly. Please redownload your data from a reliable source.

0032

!!! tip "Unexpected Error Occured"

Generic network error with multiple symptoms, the most typical of which being enabling
DHCP in Windows while the game expects a static IP. Try adding this to
`config_hook.json`:

```json
{
    "network": {
        "property": {
            "dhcp": true
        }
    }
}
```

!!! tip

If you're copying into an existing `config_hook.json`, remove the outer braces and
add a comma to the previous item, like so:

```json
{
    "emoney": {
        "enable": false
    },// (1)!
    "network": {
        "property": {
            "dhcp": true
        }
    }
}
```

1. Notice the comma here.

!!! tip

If your game files does not include `config_hook.json`, it is OK to create a new
file, then edit the launch script (usually `start.bat`) to tell the game about it:

```
amdaemon.exe -f -c config_common.json config_server.json config_client.json {++config_hook.json++}
```

0800

!!! tip "Unknown Error"

Generic network error usually thrown because the game is not able to connect to a server.

Make sure that you have correctly entered your network's address in `segatools.ini` under
the `[dns]` section:
```ini
[dns]
; Can also be an IP address:
; default=192.168.34.23
default=example.com
```

0919

!!! tip "DVD Drive Remain Error"

This error occurs if the game detects an enabled DVD drive on the system. To
resolve, either disable your computer's DVD drive, or enable DVD drive emulation in
`segatools.ini`:

```ini hl_lines="2"
[dvd]
enable=1
```

0949

!!! tip "Keychip Not Found"

Enable keychip emulation in `segatools.ini`:

```ini hl_lines="2"
[keychip]
enable=1
```

If on a real cabinet using a real keychip, confirm that the keychip is connected
properly and working.

4104

!!! tip "Unexpected Error Occured"

Make sure that the game files are not on the `E:` or `Y:` drive. If that is already the case,
check if the config files passed to AM Daemon exists and are valid JSON files:

```hl_lines="5"
Runtime exception occurred.
File: D:\Jenkins\workspace\amdaemon_all_build\libs\amdproc\src\ConfigFileLoader.cpp
Line: 79
Function: enum amdaemon::process::ConfigFileLoader::Result __cdecl `anonymous-namespace'::parse(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class picojson::value &)
Message: Cannot open "config_nonexistent.json".
```

```hl_lines="5 6"
Runtime exception occurred.
File: D:\Jenkins\workspace\amdaemon_all_build\libs\amdproc\src\ConfigFileLoader.cpp
Line: 89
Function: enum amdaemon::process::ConfigFileLoader::Result __cdecl `anonymous-namespace'::parse(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class picojson::value &)
Message: Cannot parse ".\config_hook.json".
syntax error at line 6 near: }
```

4105

!!! tip "Unexpected Error Occured"

Check the AM Daemon window for any "runtime exception" messages, such as

```hl_lines="6"
amsGfetcherThreadContextInit: Line1345  Error: load Icf failed.
Runtime exception occurred.
File: D:\Jenkins\workspace\amdaemon_all_build\libs\libamw\src\amw_netdeliver_context.cpp
Line: 91
Function: enum am::util::ModuleContext<3>::Status __cdecl am::netdeliver::Context::initialize(void)
Message: amGfetcherInit(). ErrCode -1.
```

Then continue by checking [AMDaemon error codes](#amdaemon-error-codes).

6401

!!! tip "I/O board is not connected to main board"

This error occurs when the game times out trying to communicate with the I/O board.

When using segatools, this happens because I/O emulation took too long, which is
usually caused by long-running background tasks (e.g. Windows Defender, Windows
Update, file-syncing software). Try to see if this can be fixed by setting the game
process and/or `amdaemon.exe` to high/realtime priority.

6501

!!! tip "Aime Card Reader Not Found"

This error occurs when an Aime card reader is not found. Make sure you enabled Aime
card reader emulation in `segatools.ini` if you don't have a physical reader connected:

```ini
[aime]
enable=1
```

6503

!!! tip "Failed to read Aime card"

This error occurs when the Aime card cannot be read. Make sure your connection to the
ALL.Net server is good (the network icon in the bottom corner is green).

8114

!!! tip "ALL.Net System error (RTC)"

Make sure you're connected to an ALL.Net server for the first boot, or disable
accounting by editing `config_hook.json`:

```json
{
    "allnet_accounting": {
        "enable": false
    }
}
```

!!! tip

If you're copying into an existing `config_hook.json`, remove the outer braces and
add a comma to the previous item, like so:

```json
{
    "emoney": {
        "enable": false
    },// (1)!
    "allnet_accounting": {
        "enable": false
    }
}
```

1. Notice the comma here.

!!! tip

If your game files does not include `config_hook.json`, it is OK to create a new
file, then edit the launch script (usually `start.bat`) to tell the game about it:

```
amdaemon.exe -f -c config_common.json config_server.json config_client.json {++config_hook.json++}
```

CHUNITHM Error Codes

3101

!!! tip "An unexpected error has occurred with the main device"

This error occurs when the game fails to communicate with the controller. Check
if your controller is connected properly and if ChuniIO DLLs are working.

3102

!!! tip "Initialization failure with the main device"

This error occurs when the game fails to communicate with the controller. Check
if your controller is connected properly and if IO DLLs are working.

3201, 3202, 3203, 3204, 3205, 3206

!!! tip "Cannot confirm the connection with the side device sensor 1/2/3/4/5/6"

This error occurs if the air sensors are not functional or blocked during system test.
To resolve this, enter and exit Test mode by pressing the F1 key (or 1 on older segatools)
then stay clear of your controller. If the error still happens, your air sensors may be faulty.

3300

!!! tip "Duplicate servers in the same network"

If multiple CHUNITHM machines are on the same LAN network, only one of them can be the server
(dip switch 1 ON). Set all other machines to dip switch 1 OFF:

```ini hl_lines="2"
[gpio]
dipsw1=0
```

3301

!!! tip "Duplicate STANDARD in the same group"

If multiple CHUNITHM machines are on the same LAN network and cabinet group (A/B/C/D), one of them
should set reference machine settings to STANDARD and the rest to FOLLOW THE STANDARD. Change this
by going to Test menu -> Game Settings (4th option) -> Reference machine settings (2nd option).

3400

!!! tip "Monitor Not Supported 120fps"

This error occurs if you're running the game in SP mode but the monitor is not
`1920x1080@120Hz` in 32-bit color mode. Adjust display settings and try again.

3401

!!! tip "Machine Not Supported 120fps"

This error occurs if you're running the game in CVT mode at 120fps. Use SP mode (dip
switch 3 OFF) to run the game in 120fps. In `segatools.ini` this would be:

```ini
[gpio]
dipsw3=0
```

AMDaemon Error Codes

ampdGd1232a01aInit(). ErrCode -4

!!! tip ""

This error occurs because of a VFD port number mismatch. Update segatools, or if you're
using a real VFD, confirm that the VFD uses the same port as specified in
`config_common.json` or `config_sp.json` (CHUNITHM) under `emoney.display_port`:

```json
"emoney" :
{        
    "display_port" : 2 // (1)!
}
```

1. This should match the COM port that your real VFD is connected to.

amAppImageInit(). ErrCode -5

!!! tip ""

Path to the configured AMFS directory is too long. Ensure that the path is shorter than
16 characters (32 bytes).

RegCreateKeyExW(). ErrorCode -5

!!! tip ""

This error occurs because the Windows registry cannot be written to as a normal user.
Start the game as administrator **once**, or update segatools.

amSysFileInitEx(). ErrCode -5

!!! tip ""

The AMFS folder is read only. Uncheck the read only property in File Explorer for the
AMFS folder.

amGfetcherInit(). ErrCode -1

!!! tip ""

ICF1 is missing in the configured AMFS directory. Get the correct ICF for your game (the
game ID in the ICF must be correct).