XP

XP Format is a file encoding format developed by MT Technologies XP and is most commonly used to store memory information in digital entities, although the format has been adapted to be used for other types of data, such as T2X extraction archives, XTT objects, LEVEL world data files, and ATLX databases.

Software/Programs

 * 1) XP Editor: The XP Editor is the official free HTML-based program for visually editing the contents of XP files.

Trivia

 * The XP format was originally used to define the values of combinations of different colored concrete blocks used in solid state redstone-based ROM readers in Minecraft, and has since been modified to suit the core data format requirements needed today.

Format (XP 2) *(DISCONTINUED)
NOTE: This encoding guide is copied from the *original* document used to define the functions of each byte.

Please note that a newer version of XP has replaced this version, and will be used for all files from now on. 0000: code: ablock {thin}

0001: code: bblock {thick}

0002: code: cblock {tlc}

0003: code: dblock {diamond}

0004: code: nullupdate

0005: code: nullupdate

0006: code: atlx_a

0007: code: atlx_b

0008: code: atlx_c

0009: code: atlx_d

000A: IC-A

000B: IC-B

000C: IC-C

000D: IC-D

000E: IC-E

000F: IC-F

0010: IP-0

0011: IP-1

0012: IP-2

0013: IP-3

0014: IP-4

0015: IP-5

0016: IP-6

0017: IP-7

0018: IP-8

0019: IP-9

001A: IP-A

001B: IP-B

001C: IP-C

001D: IP-D

001E: IP-E

001F: IP-F

0020: SPACE0

0021: !

0022: "

0023: #

0024: $

0025: %

0026: &

0027: '

0028: (

0029: )

002A: *

002B: +

002C: ,

002D: -

002E:.

002F: /

0030: 0

0031: 1

0032: 2

0033: 3

0034: 4

0035: 5

0036: 6

0037: 7

0038: 8

0039: 9

003A: :

003B: ;

003C: <

003D: =

003E: >

003F: ?

0040: @

0041: A

0042: B

0043: C

0044: D

0045: E

0046: F

0047: G

0048: H

0049: I

004A: J

004B: K

004C: L

004D: M

004E: N

004F: O

0050: P

0051: Q

0052: R

0053: S

0054: T

0055: U

0056: V

0057: W

0058: X

0059: Y

005A: Z

005B: [

005C: \

005D: ]

005E: ^

005F: _

0060: `

0061: a

0062: b

0063: c

0064: d

0065: e

0066: f

0067: g

0068: h

0069: i

006A: j

006B: k

006C: l

006D: m

006E: n

006F: o

0070: p

0071: q

0072: r

0073: s

0074: t

0075: u

0076: v

0077: w

0078: x

0079: y

007A: z

007B: {

007C: |

007D: }

007E: ~

007F: cx+-

0080: atl00

0081: atl01

0082: atl02

0083: atl03

0084: atl04

0085: atl05

0086: atl06

0087: atl07

0088: atl08

0089: atl09

008A: atl0A

008B: atl0B

008C: atl0C

008D: atl0D

008E: atl0E

008F: atl0F

0090: section start

0091: section end

0092: section type: package

0093: section type: ATLX code controller

0094: section type: ATLX RUNDLER

0095: section type: ATLX IMAGEPLEX

0096: section type: ATLX AUDIOPLEX

0097: section type: ATLX INSTANCE

0098: section type: ATLX DATABASE

0099: section type: ATLX TEXTPLEX

009A: section type: ATLX EXPERIENCE

009B: section type: ATLX SENSEPLEX_SC

009C: section type: Anatlex Root Package

009D: section type: ATLX SENSEPLEX_TC

009E: tab

009F: divider

00A0: null byte

00A1: ¢

00A2: ®

00A3: ©

00A4: ™

00A5: ≡

00A6: ≈

00A7: ≠

00A8: ≤

00A9: ≥

00AA: §

00AB: «

00AC: »

00AD: ½

00AE: ¼

00AF: ¾

00B0: µ

00B1: Æ

00B2: Œ

00B3: RECTO

00B4: PICTO

00B5: MECTO

00B6: SICTO

00B7: DECTO

00B8: PECTO

00B9: HICTO

00BA: XECTO

00BB: °

00BC: ±

00BD: ¡

00BE: ¿

00BF: ·

00C0: MEDIACODE 0

00C1: MEDIACODE 1

00C2: MEDIACODE 2

00C3: MEDIACODE 3

00C4: MEDIACODE 4

00C5: MEDIACODE 5

00C6: MEDIACODE 6

00C7: MEDIACODE 7

00C8: MEDIACODE 8

00C9: MEDIACODE 9

00CA: MEDIACODE A

00CB: MEDIACODE B

00CC: MEDIACODE C

00CD: MEDIACODE D

00CE: MEDIACODE E

00CF: MEDIACODE F

00D0: ÷

00D1: ß

00D2: Γ

00D3: Δ

00D4: Θ

00D5: Λ

00D6: Ξ

00D7: Π

00D8: Σ

00D9: ▒

00DA: █

00DB: ♀

00DC: ♂

00DD: ◊

00DE: ♪

00DF: ♫

00E0: ♯

00E1: ✶

00E2: ■

00E3: □

00E4: ╱

00E5: ╲

00E6: ╳

00E7: PGREG

00E8: ‰

00E9: †

00EA: ‡

00EB: ‽

00EC: ⌂

00ED: music_b

00EE: 4_dots

00EF: CSRT

00F0: ifo_1

00F1: ifo_2

00F2: ♠

00F3: ♣

00F4: ♥

00F5: ♦

00F6: txt_custom1

00F7: txt_custom2

00F8: txt_custom3

00F9: txt_custom4

00FA: ˥

00FB: ˦

00FC: ˧

00FD: ˨

00FE: ˩

00FF: ÿ

Encoding
Please note that all encoding information is based on XP 3, and that XP 2 is only shown for reference.

Header
All XP files start with a header, which contains the name of the subformat/filetype, but is otherwise the same for all files. 00 00 58 50 33 30 30 FF 01 99 $$ $$ $$ $$ $$ 3E 00 $$ $$ $$ $$ $$ is replaced with the hexadecimal string for the subformat. - XP // 58 50

- LEVEL // 4C 45 56 45 4C

- ATLX // 41 54 4C 58

- XTT / 58 54 54

Package Layout
All XP formats and subformats use 3-Key Package Structure, where there are 3 bytes used to define each package.

Type Byte: Bytes 92-9F are used to define the package's type.

Start Byte: Byte 90 defines the start of the package's data.

End Byte: Byte 91 defines the end of the package's data.

The name (in text) of the package is placed between the Type Byte and the Start Byte.

The data (more packages, if folder [92], or data, if any other [93-9F]) is placed between the Start Byte and the End Byte.