diff options
Diffstat (limited to 'tasd/packets/general.py')
| -rw-r--r-- | tasd/packets/general.py | 406 |
1 files changed, 406 insertions, 0 deletions
diff --git a/tasd/packets/general.py b/tasd/packets/general.py new file mode 100644 index 0000000..d643324 --- /dev/null +++ b/tasd/packets/general.py @@ -0,0 +1,406 @@ +from tasd.packet import _TASDPacketFactory as _TASD_PF, _VariableType as _VType, _VariableDefinition as _VDef, _EnumDefinition as _EDef +from tasd.constants import PacketType + +''' + 4.3.1.1. CONSOLE_TYPE Packet +''' + +class CONSOLE_TYPE(): + NES = 0x01 + SNES = 0x02 + N64 = 0x03 + GC = 0x04 + GB = 0x05 + GBC = 0x06 + GBA = 0x07 + GENESIS = 0x08 + A2600 = 0x09 + CUSTOM = 0xFF +ConsoleType = _TASD_PF( + "ConsoleType", + PacketType.CONSOLE_TYPE, + [ + _VDef("console", _VType.UINT_8, CONSOLE_TYPE.NES), + _VDef("name", _VType.STRING_EOP, "") + ], + [ + _EDef("CONSOLE_TYPE", CONSOLE_TYPE) + ] +) + +''' + 4.3.1.2. CONSOLE_REGION Packet +''' + +class CONSOLE_REGION(): + NTSC = 0x01 + PAL = 0x02 + OTHER = 0xFF +ConsoleRegion = _TASD_PF( + "ConsoleRegion", + PacketType.CONSOLE_REGION, + [ + _VDef("region", _VType.UINT_8, CONSOLE_REGION.NTSC) + ], + [ + _EDef("CONSOLE_REGION", CONSOLE_REGION) + ] +) + +''' + 4.3.1.3. GAME_TITLE Packet +''' + +GameTitle = _TASD_PF( + "GameTitle", + PacketType.GAME_TITLE, + [ + _VDef("title", _VType.STRING_EOP, "") + ] +) + + +''' + 4.3.1.4. ROM_NAME Packet +''' + +RomName = _TASD_PF( + "RomName", + PacketType.ROM_NAME, + [ + _VDef("name", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.5. ATTRIBUTION Packet +''' + +class ATTRIBUTION_TYPE(): + AUTHOR = 0x01 + VERIFIER = 0x02 + TASD_FILE_CREATOR = 0x03 + TASD_FILE_EDITOR = 0x04 + OTHER = 0xFF +Attribution = _TASD_PF( + "Attribution", + PacketType.ATTRIBUTION, + [ + _VDef("type", _VType.UINT_8, ATTRIBUTION_TYPE.AUTHOR), + _VDef("name", _VType.STRING_EOP, "") + ], + [ + _EDef("ATTRIBUTION_TYPE", ATTRIBUTION_TYPE) + ] +) + + +''' + 4.3.1.6. CATEGORY Packet +''' + +Category = _TASD_PF( + "Category", + PacketType.CATEGORY, + [ + _VDef("category", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.7. EMULATOR_NAME Packet +''' + +EmulatorName = _TASD_PF( + "EmulatorName", + PacketType.EMULATOR_NAME, + [ + _VDef("name", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.8. EMULATOR_VERSION Packet +''' + +EmulatorVersion = _TASD_PF( + "EmulatorVersion", + PacketType.EMULATOR_VERSION, + [ + _VDef("version", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.9. EMULATOR_CORE Packet +''' + +EmulatorCore = _TASD_PF( + "EmulatorCore", + PacketType.EMULATOR_CORE, + [ + _VDef("core", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.10. TAS_LAST_MODIFIED Packet +''' + +TASLastModified = _TASD_PF( + "TASLastModified", + PacketType.TAS_LAST_MODIFIED, + [ + _VDef("timestamp", _VType.INT_64, 0) + ] +) + +''' + 4.3.1.11. DUMP_CREATED Packet +''' + +DumpCreated = _TASD_PF( + "DumpCreated", + PacketType.DUMP_CREATED, + [ + _VDef("timestamp", _VType.INT_64, 0) + ] +) + +''' + 4.3.1.12. DUMP_LAST_MODIFIED Packet +''' + +DumpLastModified = _TASD_PF( + "DumpLastModified", + PacketType.DUMP_LAST_MODIFIED, + [ + _VDef("timestamp", _VType.INT_64, 0) + ] +) + +''' + 4.3.1.13. TOTAL_FRAMES Packet +''' + +TotalFrames = _TASD_PF( + "TotalFrames", + PacketType.TOTAL_FRAMES, + [ + _VDef("frames", _VType.UINT_32, 0) + ] +) + +''' + 4.3.1.14. RERECORDS Packet +''' + +Rerecords = _TASD_PF( + "Rerecords", + PacketType.RERECORDS, + [ + _VDef("rerecords", _VType.UINT_32, 0) + ] +) + +''' + 4.3.1.15. SOURCE_LINK Packet +''' + +SourceLink = _TASD_PF( + "SourceLink", + PacketType.SOURCE_LINK, + [ + _VDef("link", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.16. BLANK_FRAMES Packet +''' + +BlankFrames = _TASD_PF( + "BlankFrames", + PacketType.BLANK_FRAMES, + [ + _VDef("frames", _VType.INT_16, 0) + ] +) + +''' + 4.3.1.17. VERIFIED Packet +''' + +Verified = _TASD_PF( + "Verified", + PacketType.VERIFIED, + [ + _VDef("verified", _VType.BOOL, False) + ] +) + +''' + 4.3.1.18. MEMORY_INIT Packet +''' + +class MEMORY_INIT_TYPE(): + NONE = 0x01 + ALL_00 = 0x02 + ALL_FF = 0x03 + PATTERN_00000000FFFFFFFF = 0x04 + RANDOM = 0x05 + CUSTOM = 0xFF +class MEMORY_INIT_DEVICE(): + NES_CPU_RAM = 0x0101 + NES_CART_SRAM = 0x0102 + SNES_CPU_RAM = 0x0201 + SNES_CART_SRAM = 0x0202 + GB_CPU_RAM = 0x0501 + GB_CART_SRAM = 0x0502 + GBC_CPU_RAM = 0x0601 + GBC_CART_SRAM = 0x0602 + GBA_CPU_RAM = 0x0701 + GBA_CART_SRAM = 0x0702 + GENESIS_CPU_RAM = 0x0801 + GENESIS_CART_SRAM = 0x0802 + A2600_CPU_RAM = 0x0901 + A2600_CART_SRAM = 0x0902 + CUSTOM = 0xFFFF +MemoryInit = _TASD_PF( + "MemoryInit", + PacketType.MEMORY_INIT, + [ + _VDef("type", _VType.UINT_8, MEMORY_INIT_TYPE.NONE), + _VDef("device", _VType.UINT_16, MEMORY_INIT_DEVICE.NES_CPU_RAM), + _VDef("required", _VType.BOOL, False), + _VDef("name", _VType.STRING_PLEN, ""), + _VDef("data", _VType.BYTES_EOP, b"") + ], + [ + _EDef("MEMORY_INIT_TYPE", MEMORY_INIT_TYPE), + _EDef("MEMORY_INIT_DEVICE", MEMORY_INIT_DEVICE) + ] +) + +''' + 4.3.1.19. GAME_IDENTIFIER Packet +''' + +class GAME_IDENTIFIER_TYPE(): + MD5 = 0x01 + SHA1 = 0x02 + SHA224 = 0x03 + SHA256 = 0x04 + SHA384 = 0x05 + SHA512 = 0x06 + SHA512_224 = 0x07 + SHA512_256 = 0x08 + SHA3_224 = 0x09 + SHA3_256 = 0x0A + SHA3_384 = 0x0B + SHA3_512 = 0x0C + SHAKE_128 = 0x0D + SHAKE_256 = 0x0E + OTHER = 0xFF +class GAME_IDENTIFIER_BASE(): + RAW_BINARY = 0x01 + BASE16 = 0x02 + BASE32 = 0x03 + BASE64 = 0x04 + OTHER = 0xFF +GameIdentifier = _TASD_PF( + "GameIdentifier", + PacketType.GAME_IDENTIFIER, + [ + _VDef("type", _VType.UINT_8, GAME_IDENTIFIER_TYPE.MD5), + _VDef("encoding", _VType.UINT_8, GAME_IDENTIFIER_BASE.RAW_BINARY), + _VDef("name", _VType.STRING_PLEN, ""), + _VDef("identifier", _VType.BYTES_EOP, b"") + ], + [ + _EDef("GAME_IDENTIFIER_TYPE", GAME_IDENTIFIER_TYPE), + _EDef("GAME_IDENTIFIER_BASE", GAME_IDENTIFIER_BASE) + ]) + +''' + 4.3.1.20. MOVIE_LICENSE Packet +''' + +MovieLicense = _TASD_PF( + "MovieLicense", + PacketType.MOVIE_LICENSE, + [ + _VDef("link", _VType.STRING_EOP, "") + ] +) + +''' + 4.3.1.21. MOVIE_FILE Packet +''' + +MovieFile = _TASD_PF( + "MovieFile", + PacketType.MOVIE_FILE, + [ + _VDef("name", _VType.STRING_PLEN, ""), + _VDef("data", _VType.BYTES_EOP, b"") + ] +) + +''' + 4.3.1.22. PORT_CONTROLLER Packet +''' + +class CONTROLLER_TYPE(): + NES_STANDARD_CONTROLLER = 0x0101 + NES_FOUR_SCORE = 0x0102 + NES_ZAPPER = 0x0103 + NES_POWER_PAD = 0x0104 + FAMICOM_FAMILY_BASIC_KEYBOARD = 0x0105 + SNES_STANDARD_CONTROLLER = 0x0201 + SNES_SUPER_MULTITAP = 0x0202 + SNES_MOUSE = 0x0203 + SNES_SUPERSCOPE = 0x0204 + N64_STANDARD_CONTROLLER = 0x0301 + N64_STANDARD_CONTROLLER_WITH_RUMBLE_PAK = 0x0302 + N64_STANDARD_CONTROLLER_WITH_CONTROLLER_PAK = 0x0303 + N64_STANDARD_CONTROLLER_WITH_TRANSFER_PAK = 0x0304 + N64_MOUSE = 0x0305 + N64_VOICE_RECOGNITION_UNIT = 0x0306 + N64_RANDNET_KEYBOARD = 0x0307 + N64_DENSHA_DE_GO = 0x0308 + GC_STANDARD_CONTROLLER = 0x0401 + GC_KEYBOARD = 0x0402 + GB_GAMEPAD = 0x0501 + GBC_GAMEPAD = 0x0601 + GBA_GAMEPAD = 0x0701 + GENESIS_3BUTTON = 0x0801 + GENESIS_6BUTTON = 0x0802 + A2600_JOYSTICK = 0x0901 + A2600_PADDLE = 0x0902 + A2600_KEYBOARD_CONTROLLER = 0x0903 + OTHER_UNSPECIFIED = 0xFFFF +PortController = _TASD_PF( + "PortController", + PacketType.PORT_CONTROLLER, + [ + _VDef("port", _VType.UINT_8, 1), + _VDef("type", _VType.UINT_16, CONTROLLER_TYPE.NES_STANDARD_CONTROLLER) + ], + [ + _EDef("CONTROLLER_TYPE", CONTROLLER_TYPE) + ] +) + +''' + 4.3.1.23. PORT_OVERREAD Packet +''' + +PortOverread = _TASD_PF( + "PortOverread", + PacketType.PORT_OVERREAD, + [ + _VDef("port", _VType.UINT_8, 1), + _VDef("high", _VType.BOOL, False) + ] +) |
