Last active
October 19, 2025 03:28
-
-
Save bsmt/e07167916a258ff988a0145f815f5e4a to your computer and use it in GitHub Desktop.
Revisions
-
bsmt revised this gist
Sep 19, 2021 . 1 changed file with 100 additions and 45 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,107 +1,162 @@ # Half-done definition for XGPro's ULI/UDC files. # These let users add support for new flash chips, provided there is an # existing "reference" chip that is similar enough. # The XGPro software does not allow users to change the size of the chip, however. # So, XGPro will not let you add chip that is bigger than everything else it supports. # This is currently incomplete and cannot be used to create a definition from scratch. meta: id: xgpro_uli file-extension: uli, udc endian: le seq: - id: magic contents: [0xff, 0x97, 0x68, 0xff] - id: version type: u4 doc: Currently always 1 - id: header_padding type: str size: 24 encoding: UTF-8 doc: Zero padding for header. - id: unk1_memory_type type: u4 doc: | Unknown value. Might be memory type? Need to figure out enum if so. 0x3 = flash, probably. - id: unk2 type: u4 doc: Unknown value. - id: unk3 type: u4 doc: Unknown value. - id: flash_model_full type: str encoding: UTF-8 size: 40 doc: | This contains the flash model and the "@ package" part. For instance: "W25Q01JV@ SOIC16" - id: unk4 type: u4 doc: Unknown value. - id: flash_size type: u4 doc: | Size, in bytes, of the flash. - id: unk5 type: u4 - id: unk6 type: u4 - id: unk7 type: u4 - id: unk8 type: u4 - id: unk9 type: u4 - id: unk10 type: u4 - id: unk11 type: u4 - id: unk12 type: u4 - id: device_id_1 type: u4be doc: | Expected device ID of the flash, big endian. For instance: 0xef402100 For some reason this is repeated a few times. - id: unk16 type: u4 - id: unk17 type: u4 - id: unk13 type: u4 - id: unk14 type: u4 - id: unk15 type: u4 - id: flash_reference type: str encoding: UTF-8 size: 40 doc: | Name of the reference flash model. For instance: "W25Q256JV" "Reference" in XGPro GUI. - id: package type: str encoding: UTF-8 size: 32 doc: | Package name. For instance: "SOIC16" "Package" in XGPro GUI. - id: size_str type: str encoding: UTF-8 size: 32 doc: | Human-readable size. For instance: " 128 MB". For some reason this always starts with a space. "MemorySize" in XGPro GUI. - id: supported_by type: str encoding: UTF-8 size: 32 doc: | Model name of the XGecu programmer supported. For instance: " XGecu T56 / TL866II Plus" For some reason this always starts with a space. "SupportedBy" in XGPro GUI. - id: model type: str encoding: UTF-8 size: 40 doc: | Model name of the flash. For instance: "W25Q01JV" "Model" in XGPro GUI - id: manufacturer type: str encoding: UTF-8 size: 32 doc: | Manufacturer name of the flash chip. For instance: "Winbond" "Manufacture" in XGPro GUI - id: device_id_2 type: u4be doc: | Expected device ID of the flash, big endian. For instance: 0xef402100 For some reason this is repeated a few times. - id: device_id_3 type: u4be doc: | Expected device ID of the flash, packed into big endian dword. For instance: 0xef402100 For some reason this is repeated a few times. - id: unk18 type: u4 - id: unk19 type: u4 - id: username type: str encoding: UTF-8 size: 32 doc: | User name. "UserName" in XGPro GUI - id: notes type: str encoding: UTF-8 size: 136 doc: | Notes. "Notes" in XGPro GUI - id: checksum type: u4 doc: | Custom checksum. It is computed with data from 0x20 - 0x21b. -
bsmt created this gist
Sep 17, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,107 @@ # Half-done definition for XGPro's ULI files. # These let users add support for new flash chips, provided there is an # existing "reference" chip that is similar enough. # The XGPro software does not allow users to change the size of the chip, however. # So, XGPro will not let you add chip that is bigger than everything else it supports. # This is currently incomplete and cannot be used to create a definition from scratch. meta: id: xgpro_uli file-extension: uli endian: le seq: - id: magic contents: [0xff, 0x97, 0x68, 0xff] - id: version type: u4 doc: unsure of this instances: flash_size: pos: 0x58 type: u4 doc: Size, in bytes, of the flash. flash_model_full: pos: 0x2c type: str encoding: UTF-8 size: 40 doc: This contains the flash model and the "@ package" part. For instance: "W25Q01JV@ SOIC16" flash_reference: pos: 0x94 type: str encoding: UTF-8 size: 40 doc: Name of the reference flash model. For instance: "W25Q256JV" "Reference" in XGPro GUI. package: pos: 0xbc type: str encoding: UTF-8 size: 32 doc: Package name. For instance: "SOIC16" "Package" in XGPro GUI. size_str: pos: 0xdc type: str encoding: UTF-8 size: 32 doc: Human-readable size. For instance: " 128 MB". For some reason this always starts with a space. "MemorySize" in XGPro GUI. supported_by: pos: 0xfc type: str encoding: UTF-8 size: 32 doc: Model name of the XGecu programmer supported. For instance: " XGecu T56 / TL866II Plus" For some reason this always starts with a space. "SupportedBy" in XGPro GUI. model: pos: 0x11c type: str encoding: UTF-8 size: 40 doc: Model name of the flash. For instance: "W25Q01JV" "Model" in XGPro GUI vendor: pos: 0x144 type: str encoding: UTF-8 size: 32 doc: Manufacturer name of the flash chip. For instance: "Winbond" "Manufacture" in XGPro GUI device_id_1: pos: 0x164 type: u4be doc: Expected device ID of the flash, big endian. For instance: 0xef402100 For some reason this is repeated twice. device_id_2: pos: 0x168 type: u4be doc: Expected device ID of the flash, packed into big endian dword. For instance: 0xef402100 For some reason this is repeated twice. username: pos: 0x174 type: str encoding: UTF-8 size: 32 doc: User name. "UserName" in XGPro GUI notes: pos: 0x194 type: str encoding: UTF-8 size: 136 doc: Notes. "Notes" in XGPro GUI checksum: pos: 0x21c type: u4 doc: Custom checksum. It is computed with data from 0x20 - 0x21b.