STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Discuss Bosch (Porsche, BMW, Volvo, etc) tuning topics here. Request definitions, discuss parameters, etc.

Moderators: robertisaar, dex

Post Reply
AK16
Posts: 18
Joined: Sun Jan 25, 2015 5:45 am

STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by AK16 »

Hallo,
i have created a tool for old Bosch Motronic binary files.
I think it works with the eprom style ones.

The tool searches the jumptable (map address table) and creates an XDF file.
I have tested with 10 files.

Problems:
BMW M50B25TU 0261200413 1267357623 -> jumptable with holes in it, so the XDF is not completely right.
Opel Vectra B X25XE M2.8.3 -> 128kB file with two different sections, so only the first one is read.

The other 8 ones are right.

See the picture.

All maps in the jumptable create a table. Named by y and x axes, table size.
Parallel maps are marked with #
Maps without data change are marked with ( )

Possible rpm, rL and temperature in the axis would be scaled.

If there is an offset x8000 between the jumptable and the real address, it would be found.
If the map table is not ascending, it would be sorted for the map searching.
If there are double (or more of the same) jumpadresses in the jumptable, only one would be used.

If someone will test it, load up a file here. I will check it.
Note: only old Bosch Motronic files which was stored in a EPROM. I think till around 1995?
The xdf contains maps - not what the maps do.
Attachments
XDF.jpg
XDF.jpg (216.31 KiB) Viewed 6813 times
nomecone
Posts: 77
Joined: Fri Feb 06, 2015 2:14 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by nomecone »

This is the way. I started scripting after updating the 413 spreadsheets/identifications.

Are you going to open source? I recommend GitHub, it is where I have been puttiny my contributions... (Hmm I should export my Google sheets and keep a copy on GitHub too)
AK16
Posts: 18
Joined: Sun Jan 25, 2015 5:45 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by AK16 »

No one is interested?
Attached an example.
Rename the extension of the files.
Attachments
0261203274 1267358272 bin.zip
(64 KiB) Downloaded 226 times
0261203274 1267358272 25.12.2025 STA_XDFGenerator xdf.zip
(157.02 KiB) Downloaded 224 times
nomecone
Posts: 77
Joined: Fri Feb 06, 2015 2:14 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by nomecone »

There are not a lot of people still using the OEM dme. A lot just go aftermarket now.

I am interested.

Not sure what you mean by a hole in the index of tables. There are multiple types of data tables the need to be handled accordingly. The work I am continuing has them all defined.
Hahn18811
Posts: 3
Joined: Mon Nov 29, 2021 6:49 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by Hahn18811 »

i am also interested. I attached my c20xe m2.5 bosch readouts.

maybe you can get something out of them.
Attachments
M27C256B_DIP28_IRMSCHER_C20XE.BIN.zip
(32 KiB) Downloaded 37 times
27C256_DIP28_C20XE_ORIG BIN.zip
(32 KiB) Downloaded 44 times
AK16
Posts: 18
Joined: Sun Jan 25, 2015 5:45 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by AK16 »

both files are
0261200481 1267356407 Opel Calibra GY

M27C256B_DIP28_IRMSCHER_C20XE.BIN is manipulated.

rename the file to .XDF.

Echte Sprungtabelle gefunden bei Offset 0x200 (147 Einträge):

001:0x8550 002:0x8556 003:0x8570 004:0x857A 005:0x8582 006:0x8550 007:0x8588 008:0x8596 009:0x85A4 010:0x85B2
011:0x85BA 012:0x85C6 013:0x85D4 014:0x85EB 015:0x85F9 016:0x8607 017:0x8619 018:0x8623 019:0x8639 020:0x864C
021:0x8652 022:0x8664 023:0x866E 024:0x8678 025:0x8696 026:0x86EE 027:0x879A 028:0x87B0 029:0x87B6 030:0x87C5
031:0x87CF 032:0x87D9 033:0x87E1 034:0x87F8 035:0x880A 036:0x8818 037:0x8822 038:0x8838 039:0x884B 040:0x8869
041:0x88C1 042:0x896D 043:0x897B 044:0x8989 045:0x899B 046:0x89A9 047:0x89B3 048:0x89BD 049:0x89C7 050:0x89D3
051:0x89DD 052:0x89EF 053:0x8A07 054:0x8A21 055:0x8550 056:0x8ACD 057:0x8AD7 058:0x8AF9 059:0x8B03 060:0x8B0F
061:0x8B15 062:0x8B21 063:0x8B3F 064:0x8B51 065:0x8B5B 066:0x8B6D 067:0x8C19 068:0x8CC5 069:0x8CE7 070:0x8D09
071:0x8D2B 072:0x8D4D 073:0x8D6F 074:0x8D91 075:0x8D9B 076:0x8DA5 077:0x8E10 078:0x8E20 079:0x8E2A 080:0x8E34
081:0x8E52 082:0x8EFE 083:0x8FAA 084:0x8FCC 085:0x8FEA 086:0x8FFC 087:0x90A8 088:0x9154 089:0x9176 090:0x9198
091:0x91BA 092:0x91DC 093:0x91FE 094:0x9220 095:0x9242 096:0x9264 097:0x9286 098:0x92A8 099:0x92CA 100:0x92EC
101:0x8550 102:0x92F6 103:0x9302 104:0x8550 105:0x931E 106:0x9328 107:0x936B 108:0x9391 109:0x93A1 110:0x93AB
111:0x93B5 112:0x93F8 113:0x943B 114:0x947E 115:0x9488 116:0x9492 117:0x949C 118:0x94AA 119:0x94B6 120:0x94C0
121:0x94CA 122:0x94D4 123:0x94DE 124:0x94E8 125:0x94F6 126:0x9500 127:0x950A 128:0x9514 129:0x951E 130:0x8550
131:0x952A 132:0x9565 133:0x958B 134:0x95B1 135:0x95BB 136:0x95D7 137:0x95FD 138:0x9623 139:0x9635 140:0x9647
141:0x9657 142:0x9667 143:0x966F 144:0x967D 145:0x96A3 146:0x96AD 147:0x96BB

--- Verarbeitung der Sprungadressen ---

Bereinigte Sprungliste (142 Einträge):
001:0x8550 002:0x8556 003:0x8570 004:0x857A 005:0x8582 006:0x8588 007:0x8596 008:0x85A4 009:0x85B2 010:0x85BA
011:0x85C6 012:0x85D4 013:0x85EB 014:0x85F9 015:0x8607 016:0x8619 017:0x8623 018:0x8639 019:0x864C 020:0x8652
021:0x8664 022:0x866E 023:0x8678 024:0x8696 025:0x86EE 026:0x879A 027:0x87B0 028:0x87B6 029:0x87C5 030:0x87CF
031:0x87D9 032:0x87E1 033:0x87F8 034:0x880A 035:0x8818 036:0x8822 037:0x8838 038:0x884B 039:0x8869 040:0x88C1
041:0x896D 042:0x897B 043:0x8989 044:0x899B 045:0x89A9 046:0x89B3 047:0x89BD 048:0x89C7 049:0x89D3 050:0x89DD
051:0x89EF 052:0x8A07 053:0x8A21 054:0x8ACD 055:0x8AD7 056:0x8AF9 057:0x8B03 058:0x8B0F 059:0x8B15 060:0x8B21
061:0x8B3F 062:0x8B51 063:0x8B5B 064:0x8B6D 065:0x8C19 066:0x8CC5 067:0x8CE7 068:0x8D09 069:0x8D2B 070:0x8D4D
071:0x8D6F 072:0x8D91 073:0x8D9B 074:0x8DA5 075:0x8E10 076:0x8E20 077:0x8E2A 078:0x8E34 079:0x8E52 080:0x8EFE
081:0x8FAA 082:0x8FCC 083:0x8FEA 084:0x8FFC 085:0x90A8 086:0x9154 087:0x9176 088:0x9198 089:0x91BA 090:0x91DC
091:0x91FE 092:0x9220 093:0x9242 094:0x9264 095:0x9286 096:0x92A8 097:0x92CA 098:0x92EC 099:0x92F6 100:0x9302
101:0x931E 102:0x9328 103:0x936B 104:0x9391 105:0x93A1 106:0x93AB 107:0x93B5 108:0x93F8 109:0x943B 110:0x947E
111:0x9488 112:0x9492 113:0x949C 114:0x94AA 115:0x94B6 116:0x94C0 117:0x94CA 118:0x94D4 119:0x94DE 120:0x94E8
121:0x94F6 122:0x9500 123:0x950A 124:0x9514 125:0x951E 126:0x952A 127:0x9565 128:0x958B 129:0x95B1 130:0x95BB
131:0x95D7 132:0x95FD 133:0x9623 134:0x9635 135:0x9647 136:0x9657 137:0x9667 138:0x966F 139:0x967D 140:0x96A3
141:0x96AD 142:0x96BB

Entfernte mehrfache Sprungadressen (5):
001:0x8550 002:0x8550 003:0x8550 004:0x8550 005:0x8550

--- Prüfung der Adressreihenfolge ---
✅ Die bereinigte Sprungliste ist streng aufsteigend sortiert.

--- Byte-Auswertung an den Sprungadressen ---
001: 0x8550 (Offset 0x-8000, tatsächlich 0x0550); idY 0x38; längeY 2
002: 0x8556 (Offset 0x-8000, tatsächlich 0x0556); idY 0x04; längeY 12
003: 0x8570 (Offset 0x-8000, tatsächlich 0x0570); idY 0x37; längeY 4
004: 0x857A (Offset 0x-8000, tatsächlich 0x057A); idY 0x38; längeY 3
005: 0x8582 (Offset 0x-8000, tatsächlich 0x0582); idY 0x38; längeY 2
006: 0x8588 (Offset 0x-8000, tatsächlich 0x0588); idY 0x3A; längeY 6
007: 0x8596 (Offset 0x-8000, tatsächlich 0x0596); idY 0x3A; längeY 6
008: 0x85A4 (Offset 0x-8000, tatsächlich 0x05A4); idY 0x3A; längeY 6
009: 0x85B2 (Offset 0x-8000, tatsächlich 0x05B2); idY 0x39; längeY 3
010: 0x85BA (Offset 0x-8000, tatsächlich 0x05BA); idY 0x36; längeY 5
011: 0x85C6 (Offset 0x-8000, tatsächlich 0x05C6); idY 0x3A; längeY 6
012: 0x85D4 (Offset 0x-8000, tatsächlich 0x05D4); idY 0x3A; längeY 3; idX 0x42; längeX 4
013: 0x85EB (Offset 0x-8000, tatsächlich 0x05EB); idY 0x38; längeY 6
014: 0x85F9 (Offset 0x-8000, tatsächlich 0x05F9); idY 0x38; längeY 6
015: 0x8607 (Offset 0x-8000, tatsächlich 0x0607); idY 0x37; längeY 8
016: 0x8619 (Offset 0x-8000, tatsächlich 0x0619); idY 0x9A; längeY 4
017: 0x8623 (Offset 0x-8000, tatsächlich 0x0623); idY 0x38; längeY 10
018: 0x8639 (Offset 0x-8000, tatsächlich 0x0639); idY 0x3A; längeY 3; idX 0x42; längeX 3
019: 0x864C (Offset 0x-8000, tatsächlich 0x064C); idY 0x3A; längeY 2
020: 0x8652 (Offset 0x-8000, tatsächlich 0x0652); idY 0x38; längeY 8
021: 0x8664 (Offset 0x-8000, tatsächlich 0x0664); idY 0x37; längeY 4
022: 0x866E (Offset 0x-8000, tatsächlich 0x066E); idY 0x94; längeY 4
023: 0x8678 (Offset 0x-8000, tatsächlich 0x0678); idY 0x3A; längeY 8; idX 0x42; längeX 2
024: 0x8696 (Offset 0x-8000, tatsächlich 0x0696); idY 0x3A; längeY 16; idX 0x42; längeX 4
025: 0x86EE (Offset 0x-8000, tatsächlich 0x06EE); idY 0x3A; längeY 12; idX 0x42; längeX 12
026: 0x879A (Offset 0x-8000, tatsächlich 0x079A); idY 0x38; längeY 10
027: 0x87B0 (Offset 0x-8000, tatsächlich 0x07B0); idY 0x61; längeY 2
028: 0x87B6 (Offset 0x-8000, tatsächlich 0x07B6); idY 0x3A; längeY 3; idX 0x38; längeX 2
029: 0x87C5 (Offset 0x-8000, tatsächlich 0x07C5); idY 0x37; längeY 4
030: 0x87CF (Offset 0x-8000, tatsächlich 0x07CF); idY 0x94; längeY 4
031: 0x87D9 (Offset 0x-8000, tatsächlich 0x07D9); idY 0x39; längeY 3
032: 0x87E1 (Offset 0x-8000, tatsächlich 0x07E1); idY 0x3A; längeY 3; idX 0x42; längeX 4
033: 0x87F8 (Offset 0x-8000, tatsächlich 0x07F8); idY 0x38; längeY 8
034: 0x880A (Offset 0x-8000, tatsächlich 0x080A); idY 0x38; längeY 6
035: 0x8818 (Offset 0x-8000, tatsächlich 0x0818); idY 0x9A; längeY 4
036: 0x8822 (Offset 0x-8000, tatsächlich 0x0822); idY 0x38; längeY 10
037: 0x8838 (Offset 0x-8000, tatsächlich 0x0838); idY 0x3A; längeY 3; idX 0x42; längeX 3
038: 0x884B (Offset 0x-8000, tatsächlich 0x084B); idY 0x3A; längeY 8; idX 0x42; längeX 2
039: 0x8869 (Offset 0x-8000, tatsächlich 0x0869); idY 0x3A; längeY 16; idX 0x42; längeX 4
040: 0x88C1 (Offset 0x-8000, tatsächlich 0x08C1); idY 0x3A; längeY 12; idX 0x42; längeX 12
041: 0x896D (Offset 0x-8000, tatsächlich 0x096D); idY 0x38; längeY 6
042: 0x897B (Offset 0x-8000, tatsächlich 0x097B); idY 0x38; längeY 6
043: 0x8989 (Offset 0x-8000, tatsächlich 0x0989); idY 0x38; längeY 8
044: 0x899B (Offset 0x-8000, tatsächlich 0x099B); idY 0x38; längeY 6
045: 0x89A9 (Offset 0x-8000, tatsächlich 0x09A9); idY 0x38; längeY 4
046: 0x89B3 (Offset 0x-8000, tatsächlich 0x09B3); idY 0x96; längeY 4
047: 0x89BD (Offset 0x-8000, tatsächlich 0x09BD); idY 0x3A; längeY 4
048: 0x89C7 (Offset 0x-8000, tatsächlich 0x09C7); idY 0x3A; längeY 5
049: 0x89D3 (Offset 0x-8000, tatsächlich 0x09D3); idY 0x3A; längeY 4
050: 0x89DD (Offset 0x-8000, tatsächlich 0x09DD); idY 0x4E; längeY 8
051: 0x89EF (Offset 0x-8000, tatsächlich 0x09EF); idY 0x4E; längeY 11
052: 0x8A07 (Offset 0x-8000, tatsächlich 0x0A07); idY 0x4E; längeY 12
053: 0x8A21 (Offset 0x-8000, tatsächlich 0x0A21); idY 0x3A; längeY 12; idX 0xB8; längeX 12
054: 0x8ACD (Offset 0x-8000, tatsächlich 0x0ACD); idY 0x3A; längeY 4
055: 0x8AD7 (Offset 0x-8000, tatsächlich 0x0AD7); idY 0x3A; längeY 16
056: 0x8AF9 (Offset 0x-8000, tatsächlich 0x0AF9); idY 0x38; längeY 4
057: 0x8B03 (Offset 0x-8000, tatsächlich 0x0B03); idY 0x3A; längeY 5
058: 0x8B0F (Offset 0x-8000, tatsächlich 0x0B0F); idY 0x38; längeY 2
059: 0x8B15 (Offset 0x-8000, tatsächlich 0x0B15); idY 0x3A; längeY 5
060: 0x8B21 (Offset 0x-8000, tatsächlich 0x0B21); idY 0x3A; längeY 8; idX 0x42; längeX 2
061: 0x8B3F (Offset 0x-8000, tatsächlich 0x0B3F); idY 0x38; längeY 8
062: 0x8B51 (Offset 0x-8000, tatsächlich 0x0B51); idY 0x37; längeY 4
063: 0x8B5B (Offset 0x-8000, tatsächlich 0x0B5B); idY 0x38; längeY 8
064: 0x8B6D (Offset 0x-8000, tatsächlich 0x0B6D); idY 0x3A; längeY 12; idX 0x42; längeX 12
065: 0x8C19 (Offset 0x-8000, tatsächlich 0x0C19); idY 0x3A; längeY 12; idX 0x42; längeX 12
066: 0x8CC5 (Offset 0x-8000, tatsächlich 0x0CC5); idY 0x3A; längeY 16
067: 0x8CE7 (Offset 0x-8000, tatsächlich 0x0CE7); idY 0x3A; längeY 16
068: 0x8D09 (Offset 0x-8000, tatsächlich 0x0D09); idY 0x3A; längeY 16
069: 0x8D2B (Offset 0x-8000, tatsächlich 0x0D2B); idY 0x3A; längeY 16
070: 0x8D4D (Offset 0x-8000, tatsächlich 0x0D4D); idY 0x3A; längeY 16
071: 0x8D6F (Offset 0x-8000, tatsächlich 0x0D6F); idY 0x3A; längeY 16
072: 0x8D91 (Offset 0x-8000, tatsächlich 0x0D91); idY 0x03; längeY 4
073: 0x8D9B (Offset 0x-8000, tatsächlich 0x0D9B); idY 0x03; längeY 4
074: 0x8DA5 (Offset 0x-8000, tatsächlich 0x0DA5); idY 0x3A; längeY 12; idX 0x36; längeX 7
075: 0x8E10 (Offset 0x-8000, tatsächlich 0x0E10); idY 0x36; längeY 7
076: 0x8E20 (Offset 0x-8000, tatsächlich 0x0E20); idY 0x3A; längeY 4
077: 0x8E2A (Offset 0x-8000, tatsächlich 0x0E2A); idY 0x3A; längeY 4
078: 0x8E34 (Offset 0x-8000, tatsächlich 0x0E34); idY 0x3A; längeY 8; idX 0x42; längeX 2
079: 0x8E52 (Offset 0x-8000, tatsächlich 0x0E52); idY 0x3A; längeY 12; idX 0x42; längeX 12
080: 0x8EFE (Offset 0x-8000, tatsächlich 0x0EFE); idY 0x3A; längeY 12; idX 0x42; längeX 12
081: 0x8FAA (Offset 0x-8000, tatsächlich 0x0FAA); idY 0x3A; längeY 16
082: 0x8FCC (Offset 0x-8000, tatsächlich 0x0FCC); idY 0x3A; längeY 8; idX 0x42; längeX 2
083: 0x8FEA (Offset 0x-8000, tatsächlich 0x0FEA); idY 0x38; längeY 8
084: 0x8FFC (Offset 0x-8000, tatsächlich 0x0FFC); idY 0x3A; längeY 12; idX 0x42; längeX 12
085: 0x90A8 (Offset 0x-8000, tatsächlich 0x10A8); idY 0x3A; längeY 12; idX 0x42; längeX 12
086: 0x9154 (Offset 0x-8000, tatsächlich 0x1154); idY 0x3A; längeY 16
087: 0x9176 (Offset 0x-8000, tatsächlich 0x1176); idY 0x3A; längeY 16
088: 0x9198 (Offset 0x-8000, tatsächlich 0x1198); idY 0x3A; längeY 16
089: 0x91BA (Offset 0x-8000, tatsächlich 0x11BA); idY 0x3A; längeY 16
090: 0x91DC (Offset 0x-8000, tatsächlich 0x11DC); idY 0x3A; längeY 16
091: 0x91FE (Offset 0x-8000, tatsächlich 0x11FE); idY 0x3A; längeY 16
092: 0x9220 (Offset 0x-8000, tatsächlich 0x1220); idY 0x3A; längeY 16
093: 0x9242 (Offset 0x-8000, tatsächlich 0x1242); idY 0x3A; längeY 16
094: 0x9264 (Offset 0x-8000, tatsächlich 0x1264); idY 0x3A; längeY 16
095: 0x9286 (Offset 0x-8000, tatsächlich 0x1286); idY 0x3A; längeY 16
096: 0x92A8 (Offset 0x-8000, tatsächlich 0x12A8); idY 0x3A; längeY 16
097: 0x92CA (Offset 0x-8000, tatsächlich 0x12CA); idY 0x3A; längeY 16
098: 0x92EC (Offset 0x-8000, tatsächlich 0x12EC); idY 0x3A; längeY 4
099: 0x92F6 (Offset 0x-8000, tatsächlich 0x12F6); idY 0x38; längeY 5
100: 0x9302 (Offset 0x-8000, tatsächlich 0x1302); idY 0x37; längeY 4; idX 0x38; längeX 4
101: 0x931E (Offset 0x-8000, tatsächlich 0x131E); idY 0x3A; längeY 4
102: 0x9328 (Offset 0x-8000, tatsächlich 0x1328); idY 0x3A; längeY 7; idX 0x38; längeX 7
103: 0x936B (Offset 0x-8000, tatsächlich 0x136B); idY 0x3A; längeY 4; idX 0x38; längeX 6
104: 0x9391 (Offset 0x-8000, tatsächlich 0x1391); idY 0x38; längeY 7
105: 0x93A1 (Offset 0x-8000, tatsächlich 0x13A1); idY 0x3A; längeY 4
106: 0x93AB (Offset 0x-8000, tatsächlich 0x13AB); idY 0x38; längeY 4
107: 0x93B5 (Offset 0x-8000, tatsächlich 0x13B5); idY 0x3A; längeY 7; idX 0x38; längeX 7
108: 0x93F8 (Offset 0x-8000, tatsächlich 0x13F8); idY 0x3A; längeY 7; idX 0x38; längeX 7
109: 0x943B (Offset 0x-8000, tatsächlich 0x143B); idY 0x3A; längeY 7; idX 0x38; längeX 7
110: 0x947E (Offset 0x-8000, tatsächlich 0x147E); idY 0x38; längeY 4
111: 0x9488 (Offset 0x-8000, tatsächlich 0x1488); idY 0x38; längeY 4
112: 0x9492 (Offset 0x-8000, tatsächlich 0x1492); idY 0x38; längeY 4
113: 0x949C (Offset 0x-8000, tatsächlich 0x149C); idY 0x38; längeY 6
114: 0x94AA (Offset 0x-8000, tatsächlich 0x14AA); idY 0x36; längeY 5
115: 0x94B6 (Offset 0x-8000, tatsächlich 0x14B6); idY 0x03; längeY 4
116: 0x94C0 (Offset 0x-8000, tatsächlich 0x14C0); idY 0x03; längeY 4
117: 0x94CA (Offset 0x-8000, tatsächlich 0x14CA); idY 0x03; längeY 4
118: 0x94D4 (Offset 0x-8000, tatsächlich 0x14D4); idY 0x38; längeY 4
119: 0x94DE (Offset 0x-8000, tatsächlich 0x14DE); idY 0x3A; längeY 4
120: 0x94E8 (Offset 0x-8000, tatsächlich 0x14E8); idY 0x38; längeY 6
121: 0x94F6 (Offset 0x-8000, tatsächlich 0x14F6); idY 0x38; längeY 4
122: 0x9500 (Offset 0x-8000, tatsächlich 0x1500); idY 0x03; längeY 4
123: 0x950A (Offset 0x-8000, tatsächlich 0x150A); idY 0x03; längeY 4
124: 0x9514 (Offset 0x-8000, tatsächlich 0x1514); idY 0x03; längeY 4
125: 0x951E (Offset 0x-8000, tatsächlich 0x151E); idY 0x36; längeY 5
126: 0x952A (Offset 0x-8000, tatsächlich 0x152A); idY 0x3A; längeY 7; idX 0x42; längeX 6
127: 0x9565 (Offset 0x-8000, tatsächlich 0x1565); idY 0x3A; längeY 4; idX 0x42; längeX 6
128: 0x958B (Offset 0x-8000, tatsächlich 0x158B); idY 0x3A; längeY 4; idX 0x42; längeX 6
129: 0x95B1 (Offset 0x-8000, tatsächlich 0x15B1); idY 0x3A; längeY 4
130: 0x95BB (Offset 0x-8000, tatsächlich 0x15BB); idY 0x3A; längeY 4; idX 0x42; längeX 4
131: 0x95D7 (Offset 0x-8000, tatsächlich 0x15D7); idY 0x3A; längeY 4; idX 0x42; längeX 6
132: 0x95FD (Offset 0x-8000, tatsächlich 0x15FD); idY 0x3A; längeY 4; idX 0x42; längeX 6
133: 0x9623 (Offset 0x-8000, tatsächlich 0x1623); idY 0x3A; längeY 8
134: 0x9635 (Offset 0x-8000, tatsächlich 0x1635); idY 0x3A; längeY 8
135: 0x9647 (Offset 0x-8000, tatsächlich 0x1647); idY 0x3A; längeY 7
136: 0x9657 (Offset 0x-8000, tatsächlich 0x1657); idY 0x3A; längeY 7
137: 0x9667 (Offset 0x-8000, tatsächlich 0x1667); idY 0x3A; längeY 3
138: 0x966F (Offset 0x-8000, tatsächlich 0x166F); idY 0x3A; längeY 6
139: 0x967D (Offset 0x-8000, tatsächlich 0x167D); idY 0x3A; längeY 6; idX 0x42; längeX 4
140: 0x96A3 (Offset 0x-8000, tatsächlich 0x16A3); idY 0x38; längeY 4
141: 0x96AD (Offset 0x-8000, tatsächlich 0x16AD); idY 0x3A; längeY 6
142: 0x96BB (Offset 0x-8000, tatsächlich 0x16BB); idY 0x3A; längeY 6; idX 0xF0; längeX 240

⚠️ Offset -0x8000 wurde bei allen Sprungadressen angewendet.

--- Prüfung des letzten Eintrags und Aktualisierung der Gesamtliste ---
ℹ️ Neuer idX-Wert 0xF0 erkannt → Felder werden auf None gesetzt.

✅ Letzter Eintrag scheint valide.

📘 Finale Liste umfasst 142 gültige Einträge (Offset -0x8000 angewendet).

--- Zählung der vokommenden ID´s ---
Gesamtanzahl verschiedener IDs: 14
ID 0x3A: 80 Mal; Vermutlich rpm
ID 0x38: 39 Mal; Vermutlich engine temp (oder rLoad)
ID 0x42: 26 Mal; Vermutlich rLoad (oder engine temp)
ID 0x03: 8 Mal
ID 0x37: 6 Mal
ID 0x36: 5 Mal
ID 0x4E: 3 Mal
ID 0x39: 2 Mal
ID 0x9A: 2 Mal
ID 0x94: 2 Mal
ID 0x04: 1 Mal
ID 0x61: 1 Mal
ID 0x96: 1 Mal
ID 0xB8: 1 Mal

--- Prüfung auf parallele Kennfelder ---
#1 2* parallele Kennfelder (idY 0x3A; längeY 3; idX 0x42; längeX 4): 0x05D4; 0x07E1
#2 2* parallele Kennfelder (idY 0x3A; längeY 3; idX 0x42; längeX 3): 0x0639; 0x0838
#3 2* parallele Kennfelder (idY 0x3A; längeY 16; idX 0x42; längeX 4): 0x0696; 0x0869
#4 2* parallele Kennfelder (idY 0x3A; längeY 12; idX 0x42; längeX 12): 0x06EE; 0x08C1
#5 5* parallele Kennfelder (idY 0x3A; längeY 16): 0x0AD7; 0x1198; 0x11DC; 0x1264; 0x12A8
#6 2* parallele Kennfelder (idY 0x3A; längeY 8; idX 0x42; längeX 2): 0x0B21; 0x0E34
#7 2* parallele Kennfelder (idY 0x38; längeY 8): 0x0B5B; 0x0FEA
#8 2* parallele Kennfelder (idY 0x3A; längeY 16): 0x0D09; 0x0D4D
#9 2* parallele Kennfelder (idY 0x3A; längeY 16): 0x0D2B; 0x0D6F
#10 2* parallele Kennfelder (idY 0x3A; längeY 12; idX 0x42; längeX 12): 0x0E52; 0x0FFC
#11 5* parallele Kennfelder (idY 0x3A; längeY 16): 0x0FAA; 0x11BA; 0x11FE; 0x1286; 0x12CA
#12 2* parallele Kennfelder (idY 0x3A; längeY 16): 0x1176; 0x1242
#13 2* parallele Kennfelder (idY 0x3A; längeY 7; idX 0x38; längeX 7): 0x1328; 0x13B5
#14 2* parallele Kennfelder (idY 0x3A; längeY 7; idX 0x38; längeX 7): 0x13F8; 0x143B
#15 2* parallele Kennfelder (idY 0x03; längeY 4): 0x14B6; 0x1500
#16 2* parallele Kennfelder (idY 0x03; längeY 4): 0x14C0; 0x150A
#17 2* parallele Kennfelder (idY 0x03; längeY 4): 0x14CA; 0x1514
#18 2* parallele Kennfelder (idY 0x3A; längeY 4; idX 0x42; längeX 6): 0x1565; 0x15D7
#19 2* parallele Kennfelder (idY 0x3A; längeY 4; idX 0x42; längeX 6): 0x158B; 0x15FD

--- Prüfung auf Kennfelder ohne Inhaltsänderung ---
001: 0x0550; idY 0x38; längeY 2; Byte=0x80 (dec 128)
003: 0x0570; idY 0x37; längeY 4; Byte=0x03 (dec 3)
006: 0x0588; idY 0x3A; längeY 6; Byte=0x0A (dec 10)
007: 0x0596; idY 0x3A; längeY 6; Byte=0x0A (dec 10)
011: 0x05C6; idY 0x3A; längeY 6; Byte=0xFF (dec 255)
015: 0x0607; idY 0x37; längeY 8; Byte=0x80 (dec 128)
016: 0x0619; idY 0x9A; längeY 4; Byte=0x80 (dec 128)
021: 0x0664; idY 0x37; längeY 4; Byte=0x00 (dec 0)
022: 0x066E; idY 0x94; längeY 4; Byte=0x00 (dec 0)
029: 0x07C5; idY 0x37; längeY 4; Byte=0x10 (dec 16)
030: 0x07CF; idY 0x94; längeY 4; Byte=0x10 (dec 16)
031: 0x07D9; idY 0x39; längeY 3; Byte=0x80 (dec 128)
035: 0x0818; idY 0x9A; längeY 4; Byte=0x80 (dec 128)
047: 0x09BD; idY 0x3A; längeY 4; Byte=0x0A (dec 10)
053: 0x0A21; idY 0x3A; längeY 12; idX 0xB8; längeX 12; Byte=0x00 (dec 0)
058: 0x0B0F; idY 0x38; längeY 2; Byte=0x1E (dec 30)
061: 0x0B3F; idY 0x38; längeY 8; Byte=0x1E (dec 30)
062: 0x0B51; idY 0x37; längeY 4; Byte=0x1E (dec 30)
072: 0x0D91; idY 0x03; längeY 4; Byte=0x1E (dec 30)
073: 0x0D9B; idY 0x03; längeY 4; Byte=0x1E (dec 30)
098: 0x12EC; idY 0x3A; längeY 4; Byte=0x1E (dec 30)
105: 0x13A1; idY 0x3A; längeY 4; Byte=0x00 (dec 0)
106: 0x13AB; idY 0x38; längeY 4; Byte=0x10 (dec 16)
114: 0x14AA; idY 0x36; längeY 5; Byte=0x28 (dec 40)
118: 0x14D4; idY 0x38; längeY 4; Byte=0x0A (dec 10)
119: 0x14DE; idY 0x3A; längeY 4; Byte=0x00 (dec 0)
137: 0x1667; idY 0x3A; längeY 3; Byte=0x08 (dec 8)

Gesamtanzahl Kennfelder, deren Inhalt ohne Änderung ist: 27

--- Datei-Byte-Zähler (Hex) ---
Dateigröße: 0x8000

--- Auswertung steuergeraetenummer & programmnummer ---
steuergeraetenummer 1: 0261200481
programmnummer 1: 1267356407

--- XDF-Datei erfolgreich erstellt---
0261200481 1267356407 07.02.2026 STA_XDFGenerator.xdf
Attachments
0261200481 1267356407 07.02.2026 STA_XDFGenerator.zip
(146.7 KiB) Downloaded 40 times
Hahn18811
Posts: 3
Joined: Mon Nov 29, 2021 6:49 am

Re: STA_XDFGenerator Tool, for old Bosch Motronic EPROM

Post by Hahn18811 »

Thank you. That looks not bad at all.

And it backs up my idea that the master table is indeet on 0x200 and that I have to subtract the offset of 0x8000 from those master table adresses.

It is realy strange how different versions of the same m2.5 ecu's can differ so much.

Some have the master table at 0x6400 etc.
Post Reply