summaryrefslogtreecommitdiff
path: root/src/constants.ts
blob: 906a73b6f2324138a6178cf607bb93ba88bad4e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

export const PACKET_TYPES = {
  // General Keys
  "CONSOLE_TYPE":              0x0001,
  "CONSOLE_REGION":            0x0002,
  "GAME_TITLE":                0x0003,
  "ROM_NAME":                  0x0004,
  "ATTRIBUTION":               0x0005,
  "CATEGORY":                  0x0006,
  "EMULATOR_NAME":             0x0007,
  "EMULATOR_VERSION":          0x0008,
  "EMULATOR_CORE":             0x0009,
  "TAS_LAST_MODIFIED":         0x000A,
  "DUMP_CREATED":              0x000B,
  "DUMP_LAST_MODIFIED":        0x000C,
  "TOTAL_FRAMES":              0x000D,
  "RERECORDS":                 0x000E,
  "SOURCE_LINK":               0x000F,
  "BLANK_FRAMES":              0x0010,
  "VERIFIED":                  0x0011,
  "MEMORY_INIT":               0x0012,
  "GAME_IDENTIFIER":           0x0013,
  "MOVIE_LICENSE":             0x0014,
  "MOVIE_FILE":                0x0015,
  "PORT_CONTROLLER":           0x00F0,
  "PORT_OVERREAD":             0x00F1,
  // NES Specific Keys
  "NES_LATCH_FILTER":          0x0101,
  "NES_CLOCK_FILTER":          0x0102,
  "NES_GAME_GENIE_CODE":       0x0104,
  // SNES Specific Keys
  "SNES_LATCH_FILTER":         0x0201,
  "SNES_CLOCK_FILTER":         0x0202,
  "SNES_GAME_GENIE_CODE":      0x0204,
  "SNES_LATCH_TRAIN":          0x0205,
  // Genesis Specific Keys
  "GENESIS_GAME_GENIE_CODE":   0x0804,
  // Input Frame/Timing Keys
  "INPUT_CHUNK":               0xFE01,
  "INPUT_MOMENT":              0xFE02,
  "TRANSITION":                0xFE03,
  "LAG_FRAME_CHUNK":           0xFE04,
  "MOVIE_TRANSITION":          0xFE05,
  // Extraneous Keys
  "COMMENT":                   0xFF01,
  "EXPERIMENTAL":              0xFFFE,
  "UNSPECIFIED":               0xFFFF,
} as const;
export function packetName(key: number) {
  for (const name of Object.keys(PACKET_TYPES)) {
    if (PACKET_TYPES[name as keyof typeof PACKET_TYPES] === key) return name;
  }
  return "Unknown Packet " + key.toString(16).toUpperCase();
}