DSM/Mitsubishi CAPS

From Jane Hacker Wiki
Jump to navigation Jump to search

Database Files

Filename Desc Translation Note
BUBAN_A.DAT Part Numbers A ぶばん 部番 (Part Number) Data
BUBAN_A.IDX Part Numbers A ぶばん 部番 (Part Number) Index
BUBAN_B.DAT Part Numbers B ぶばん 部番 (Part Number) Data
BUBAN_B.IDX Part Numbers B ぶばん 部番 (Part Number) Index
BUKYOU.DAT ぶきょう 武侠 (chivalry?) Data
BUKYOU.IDX ぶきょう 武侠 (chivalry?) Index
CD_ID.DAT
COLOUR.DAT Color?
HLP_MDL.DAT Help Modal?
HLP_MDL.IDX Help Modal?
HLP_RUI.DAT Help User Interface?
HLP_RUI.IDX Help User Interface?
HLP_TOK.DAT Help Token?
HLP_TOK.IDX Help Token?
HLP_TOKC.DAT Help Token C?
HLP_TOKC.IDX Help Token C?
ILLUST.IMG Illustrations? Image?
ILLUSTX.DAT Illustrations X? Data
ILLUSTX.IDX Illustrations X? Index
ILST_NWS.IMG Illustration Something?? Image?
KATARUI.DAT かた 語る (word class? Construction class?) Data
KATARUI.IDX かた 語る (word class? Construction class?) Index
KAT_SEQ.DAT (Construction sequence?) Data
KAT_SEQ.IDX (Construction sequence?) Index
KIGOD.DAT
KIGOE.DAT
KIGOF.DAT
KIGOG.DAT
KIGOP.DAT
KIGOS.DAT
KIGOU.DAT
KOYUU.DAT Public?
KOYUU.IDX Public?
NAMSEQD.DAT
NAMSEQD.IDX
NAMSEQE.DAT
NAMSEQE.IDX
NAMSEQF.DAT
NAMSEQF.IDX
NAMSEQG.DAT
NAMSEQG.IDX
NAMSEQP.DAT
NAMSEQP.IDX
NAMSEQS.DAT
NAMSEQS.IDX
NAMSEQU.DAT
NAMSEQU.IDX
NAM_KATA.DAT
NAM_KATA.IDX
NAM_RUI.DAT
NAM_RUI.IDX
OPC.DAT
OPC.IDX
OPTION.DAT
OPTION.IDX
PN_KATA.DAT
PN_KATA.IDX
SEIBI.DAT
SEIBI.IDX
SEISAN.DAT
SEISAN.IDX
SEQ_KATA.DAT
SEQ_KATA.IDX
SHARYO.DAT しゃりょう 車両 (Car/Vehicle) Date
SHARYO.IDX Contains vehicle VIN as primary key しゃりょう 車両 (Car/Vehicle) Index
SIRYO.DAT
SPCNO.DAT
SPCNO.IDX
TANGO2D.DAT
TANGO2D.IDX
TANGO2E.DAT
TANGO2E.IDX
TANGO2F.DAT
TANGO2F.IDX
TANGO2G.DAT
TANGO2G.IDX
TANGO2P.DAT
TANGO2P.IDX
TANGO2S.DAT
TANGO2S.IDX
TANGO2U.DAT
TANGO2U.IDX
TANGOD.DAT
TANGOD.IDX
TANGOE.DAT
TANGOE.IDX
TANGOF.DAT
TANGOF.IDX
TANGOG.DAT
TANGOG.IDX
TANGOP.DAT
TANGOP.IDX
TANGOS.DAT
TANGOS.IDX
TANGOU.DAT
TANGOU.IDX
TANPNC2D.DAT
TANPNC2D.IDX
TANPNC2E.DAT
TANPNC2E.IDX
TANPNC2F.DAT
TANPNC2F.IDX
TANPNC2G.DAT
TANPNC2G.IDX
TANPNC2P.DAT
TANPNC2P.IDX
TANPNC2S.DAT
TANPNC2S.IDX
TANPNC2U.DAT
TANPNC2U.IDX
TANPNCD.DAT
TANPNCD.IDX
TANPNCE.DAT
TANPNCE.IDX
TANPNCF.DAT
TANPNCF.IDX
TANPNCG.DAT
TANPNCG.IDX
TANPNCP.DAT
TANPNCP.IDX
TANPNCS.DAT
TANPNCS.IDX
TANPNCU.DAT
TANPNCU.IDX
TOKTBL.DAT
TOKTBL.IDX
UNKATA.DAT
UNKATA.IDX
YOUGO.DAT
YOUGO.IDX
YOUGOB.DAT
YOUGOB.IDX
YPCNO.DAT
YPCNO.IDX

File Formats

VIN Lookup

SHARYO.IDX Lookup:

Read start Bytes read
0 2048
4096 2048
229376 2048
229376 4096
21,833,728 2048
21,831,680 4096

SHARYO.DAT Lookup:

Read start Bytes read
35,073,568 2048
35,069,952 8192

IDX - Index

Index files are broken up into 2048 byte chunks, which I will refer to as "pages". Index file must be at least 1 page in size, meaning the smallest IDX file will be 2048 bytes, filled mostly with null bytes(00h) if it has 1 or 2 indexes (there are 60 indexes per page in SHARYO.IDX for example).

Header

The first 32 bytes of each page is the "header". The header's first 8 bytes contain the filename, if the filename is less than 8 bytes the remaining bytes will be padded with 20h. After the name is "IDX", followed by 00h as a seperator.

Byte 13 (14th byte) is the "page number", starting with 01h and incrementing each page.

Bytes 14-32 appear to be other informational flags which have yet to be understood.

Byte # Description
0-7 Uppercase ASCII, matches file name, if name < 8 bytes it is padded with 20h
8-10 49h 44h 58h, literal: "IDX", Uppercase ASCII
11 Always 00h, separator or null byte for the string?
12 Always the same in all headers that are in the same file, often seen: 09h 11h, is this multiplier or record length?
13 The "page" count, starts at 01h increments by 1 every "header"
14-31 Other flags
15 00h or 01h or 02h, always set with byte 16? Always the same as byte 16?
16 00h or 01h or 02h, always set with byte 15? Always the same as byte 15?
18 Secondary counter, starts at 01h and increments by 01h, always used with bytes 15 and 16 set?
22 Number of records on this page

index entry

Byte # Description

Examples

NU = NULL BYTE (00h)
PA = PADDING (20h)


SEIBI.IDX - 2048 bytes

Byte : 0  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
Hex  : 53 45 49 42 49 20 20 20 49 44 58 00 09 01 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 00 00 00 39 39 39 39 39 39 39 39 39 01
ASCII: S  E  I  B  I           I  D  X                                                                 9  9  9  9  9  9  9  9  9

UNKATA.IDX - 2048 bytes

Byte : 0  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
Hex  : 55 4E 4B 41 54 41 20 20 49 44 58 00 09 01 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 00 00 00 39 39 39 39 39 39 39 39 39 01
ASCII: U  N  K  A  T  A        I  D  X                                                                 9  9  9  9  9  9  9  9  9

SHARYO.IDX - bytes

#Header - 32 bytes:                            \/ Page (1)                  \/ Number of records
Byte : 0  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
Hex  : 53 48 41 52 59 4F 20 20 49 44 58 00 11  01  00 00 00 00 00 00 00 00  06  00 00 00 00 00 00 00 00 00
ASCII: S  H  A  R  Y  O        I  D  X
Data :                   PA PA          NU 11  1                            6

#VIN (02) - 21 bytes                                       \/-- Count Column (2)
       { 17 bytes                                        }
Byte : 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48  49  50 51 52
Hex  : 34 41 33 41 43 38 34 4C 33 59 45 30 35 31 32 36 31  02  00 00 00
ASCII: 4  A  3  A  C  8  4  L  3  Y  E  0  5  1  2  6  1
Data :                                                     2   NU NU NU

#VIN (03) - 21 bytes
Hex  : 34 41 33 43 53 34 34 54 58 4D 45 30 30 36 31 30 36  03  00 00 00
ASCII: 4  A  3  C  S  4  4  T  X  M  E  0  0  6  1  0  6
Data :                                                     3   NU NU NU

#VIN (04) - 21 bytes
Hex  : 4A 41 33 41 4D 36 34 4A 37 52 59 30 30 35 33 35 33  04  00 00 00
ASCII: J  A  3  A  M  6  4  J  7  R  Y  0  0  5  3  5  3
Data :                                                     4   NU NU NU

#VIN (05) - 21 bytes
Hex  : 4A 41 34 47 4A 33 31 53 31 4D 4A 30 31 33 39 31 34  05  00 00 00
ASCII: J  A  4  G  J  3  1  S  1  M  J  0  1  3  9  1  4
Data :                                                     5   NU NU NU

#VIN (06) - 21 bytes
Hex  : 4A 41 37 4C 53 32 31 47 34 52 50 30 31 32 37 33 34  06  00 00 00
ASCII: J  A  7  L  S  2  1  G  4  R  P  0  1  2  7  3  4
Data :                                                     6   NU NU NU

#??? (07) - 18 bytes
Hex  : 5A 31 36 41 57 59 30 59 30 30 31 36 39 37 20 20 20  07 ... \
ASCII: Z  1  6  A  W  Y  0  Y  0  0  1  6  9  7               ... + 1893 Null Bytes (2048 byte total header space)
Data :                                           PA PA PA  7  ... /
                                             | Always 11??
#Header 2 (Start at 2048 Bytes) - 32 Bytes  \/  \/Page (2)                  \/ Number of records
Byte : 0  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
Hex  : 53 48 41 52 59 4F 20 20 49 44 58 00  11  02  00 01 01 00 01 00 00 00  60  00 00 00 00 00 00 00 00 00
ASCII: S  H  A  R  Y  O        I  D  X                                        '
Data :                   PA PA          NU  11  2      1  1     1            60     

#Indexes from page 2
       { 17 bytes                                        } \/-- Count Column (8)
Hex  : 32 36 41 58 4E 20 20 45 30 38 37 35 34 31 20 20 20  08  00 00 00
ASCII: 2  6  A  X  N        E  0  8  7  5  4  1
Data :                PA PA                      PA PA PA  8   NU NU NU

Hex  : 33 34 42 31 52 20 20 45 30 39 35 37 37 32 20 20 20  09  00 00 00 
ASCII: 3  4  B  1  R        E  0  9  5  7  7  2         
Data :                PA PA                      PA PA PA  9   NU NU NU

Hex  : 33 34 42 33 52 20 20 45 30 38 32 30 37 30 20 20 20  0A  00 00 00
ASCII: 3  4  B  3  R        E  0  8  2  0  7  0            
Data :                PA PA                      PA PA PA  10  NU NU NU
#Header 3
Byte : 0  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
Hex  : 53 48 41 52 59 4F 20 20 49 44 58 00  11  03  00 01 01 00 02 00 00 00  60  00 00 00 00 00 00 00 00 00
ASCII: S  H  A  R  Y  O        I  D  X                                        '
Data :                   PA PA          NU  11  3      1  1     2            60

#Indexes from page 3                                       \/-- Count Column (68)
Hex  : 34 41 33 41 43 38 34 4C 39 59 45 30 31 38 33 37 36  68  00 00 00 
ASCII: 4  A  3  A  C  8  4  L  9  Y  E  0  1  8  3  7  6   h
Data :                                                     68  NU NU NU

Hex  : 34 41 33 41 45 34 35 47 31 33 45 31 33 38 36 34 30  69  00 00 00
ASCII: 4  A  3  A  E  4  5  G  1  3  E  1  3  8  6  4  0   i
Data :                                                     69  NU NU NU

Hex  : 34 41 33 41 45 34 35 47 36 31 45 30 33 30 33 32 30  6A  00 00 00
ASCII: 4  A  3  A  E  4  5  G  6  1  E  0  3  0  3  2  0   j
Data :                                                     6A  NU NU NU

Hex:
ASCII:
Data:

DAT - ?Data?