Select Monitor Cartridge
The Subaru Select Monitor is essentially just a simple computer. For each supported vehicle, there is a cartridge that contains an EPROM loaded with the program necessary to access the ECU of that car. Here is a partial analysis of the SVX cartridge. There is still a lot of work to do. More details will follow when I have investigated further.
The SSM has a Hitachi 6303 CPU. The cartridge is 32K and is mapped at address 0x8000 in the address space. The binary, hex and disassembly can be downloaded from the end of this page.
The most important part of the cartridge is the Master Table from address 0x8000 to 0x8595. The master table is split into six sections, one for each of the units that it supports: 4WS (8000-80BD), AirCon (80BE-818F), Cruise (8190-81D5), ECU.USDM (81D6-833D), ECU.JDM (833E-84AF), TCU (84B0-8595). Each Row of the table represents a select monitor function mode. The table has seven columns. The first two columns are unknown at present. The 3rd column contains the address of an action function. The 4th column contains an offset into the global Decode table. The 5th Column contains an offset into the unit address table. The 6th column contains an offset into the global name table. Finally the seventh column contains an offset into the global units table.
This is best illustrated by an example:
Suppose we select mode F03 for the USDM ECU. This is the 4th line of the ECU.USDM section of the master table.
? | ? | Action | Decode | Address | Name | Units |
8f80 | 8300 | 9249 | 02 | 02 | 30 | 01 |
The Action function is 9249. This function gets a parameter from the car.
Address | Action |
9249 | Get Parameter |
The offset into the decode table is 02.
The offset into the ECU address table is 02.
The offset into the Name table is 30.
Index | String |
30 | " VSP (F03) " |
The offset into the Units table is 01.
So, the Select Monitor calls function 9249 to query ECU address 1071. Then it calls function A4D4 to decode the result. Then it displays the parameter name "VSP (F03)" followed by the decoded value and the units "km/h".
The full tables are given below. I plan to add a description to each of the decode functions as I analyse them.
Master Table (4WS) 8000-80bd
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 00 | 00 |
8f8a | 8000 | 9249 | 01 | 01 | 01 | 01 |
8f8a | 8100 | 9249 | 02 | 02 | 02 | 01 |
8f8a | 8200 | 9249 | 03 | 03 | 03 | 0d |
8f8a | 8300 | 9249 | 04 | 04 | 04 | 08 |
8f8a | 8500 | 9291 | 02 | 06 | 06 | 00 |
8f8a | 8600 | 9249 | 05 | 07 | 07 | 00 |
8f8a | 8700 | 9291 | 03 | 08 | 08 | 03 |
8f8a | 8800 | 9249 | 06 | 09 | 09 | 00 |
8f8a | 8900 | 9291 | 04 | 0a | 0a | 03 |
8f8a | 8180 | 9249 | 07 | 0b | 0b | 04 |
8f8a | 8181 | 9291 | 05 | 0c | 0c | 02 |
8f8a | 8182 | 9291 | 06 | 0d | 0d | 03 |
8f8a | 8183 | 9291 | 07 | 0e | 0e | 00 |
8f8b | 8000 | 9322 | 00 | 0f | 0f | 00 |
8f8b | 8100 | 9322 | 00 | 10 | 10 | 00 |
8f8c | 8000 | 963f | 00 | 11 | 11 | 00 |
8f8f | 8a00 | 9f7c | 02 | 12 | 12 | 00 |
8f8f | 8b00 | 9f7c | 03 | 13 | 13 | 00 |
Master Table (A/C) 80be-818f
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 00 | 00 |
8f80 | 8100 | 9249 | 08 | 01 | 14 | 05 |
8f80 | 8200 | 9249 | 09 | 02 | 15 | 05 |
8f80 | 8300 | 9249 | 0a | 03 | 16 | 05 |
8f80 | 8400 | 9249 | 0b | 04 | 17 | 05 |
8f80 | 8500 | 9249 | 0c | 05 | 18 | 05 |
8f80 | 8600 | 9249 | 0d | 06 | 19 | 06 |
8f80 | 8700 | 9249 | 0e | 07 | 1a | 05 |
8f80 | 8800 | 9249 | 0f | 08 | 1b | 05 |
8f80 | 8900 | 9249 | 10 | 09 | 1c | 05 |
8f81 | 8000 | 9249 | 11 | 0a | 1d | 07 |
8f81 | 8100 | 9249 | 12 | 0b | 1e | 07 |
8f81 | 8200 | 9249 | 13 | 0c | 1f | 07 |
8f81 | 8300 | 9249 | 14 | 0d | 20 | 07 |
8f81 | 8400 | 9249 | 15 | 0e | 21 | 08 |
8f81 | 8500 | 9249 | 16 | 0f | 22 | 00 |
8f81 | 8600 | 9249 | 17 | 10 | 23 | 04 |
8f81 | 8700 | 9249 | 18 | 11 | 24 | 07 |
8f8a | 8000 | 9249 | 19 | 12 | 25 | 00 |
8f8b | 8000 | 9322 | 00 | 13 | 26 | 00 |
8188 | 8286 | 9b24 | 00 | 00 | 27 | 00 |
Master Table (CRUISE) 8190-81d5
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 28 | 00 |
8f80 | 8100 | 9249 | 01 | 01 | 29 | 0a |
8f80 | 8200 | 9249 | 02 | 02 | 2a | 01 |
8f80 | 8300 | 9249 | 1a | 03 | 2b | 0b |
8f8a | 8000 | 9249 | 24 | 04 | 2c | 00 |
8f8b | 8000 | 9249 | 1b | 05 | 2d | 00 |
8f8b | 8100 | 9ecf | 1c | 06 | 2e | 0c |
Master Table (ECU.usdm) 81d6-833d
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 00 | 00 |
8f80 | 8100 | 9249 | 1d | 01 | 2f | 08 |
8f80 | 8200 | 9249 | 01 | 02 | 2a | 0a |
8f80 | 8300 | 9249 | 02 | 02 | 30 | 01 |
8f80 | 8400 | 9249 | 1a | 03 | 31 | 0b |
8f80 | 8500 | 9249 | 10 | 04 | 32 | 09 |
8f80 | 8600 | 9249 | 28 | 04 | 33 | 05 |
8f80 | 8700 | 9249 | 29 | 05 | 34 | 02 |
8f80 | 8800 | 9249 | 2a | 06 | 35 | 08 |
8f80 | 8900 | 9249 | 2b | 07 | 36 | 00 |
8f81 | 8000 | 9249 | 1e | 08 | 37 | 08 |
8f81 | 8100 | 9249 | 2c | 09 | 38 | 0f |
8f81 | 8200 | 9249 | 2d | 0a | 39 | 07 |
8f81 | 8300 | 9249 | 2e | 0b | 3a | 08 |
8f81 | 8400 | 9249 | 2e | 0c | 3b | 08 |
8f81 | 8500 | 9249 | 2f | 0d | 3c | 08 |
8f81 | 8600 | 9249 | 2f | 0e | 3d | 08 |
8f81 | 8700 | 9249 | 2f | 0f | 3e | 08 |
8f81 | 8800 | 9249 | 2f | 10 | 3f | 08 |
8f81 | 8900 | 9249 | 30 | 11 | 40 | 07 |
8f82 | 8000 | 9249 | 30 | 12 | 41 | 07 |
8f82 | 8100 | 9249 | 31 | 13 | 42 | 02 |
8f82 | 8200 | 9249 | 32 | 14 | 43 | 07 |
8f8a | 8000 | 9249 | 24 | 16 | 2c | 00 |
8f8a | 8100 | 9249 | 25 | 17 | 45 | 00 |
8f8a | 8200 | 9249 | 26 | 18 | 46 | 00 |
8f8a | 8300 | 9249 | 27 | 19 | 47 | 00 |
8f8a | 8400 | 9249 | 33 | 1a | 48 | 00 |
8f8a | 8500 | 9249 | 05 | 21 | 60 | 00 |
8f8b | 8000 | 9322 | 00 | 1b | 49 | 00 |
8f8b | 8100 | 9322 | 00 | 1c | 4a | 00 |
8f8c | 8000 | 963f | 00 | 1d | 11 | 00 |
8e89 | 8100 | 9965 | 01 | 1e | 4b | 01 |
8e89 | 8300 | 9965 | 02 | 1f | 4c | 02 |
8e89 | 8400 | 9965 | 03 | 20 | 4c | 02 |
8188 | 8286 | 9b24 | 00 | 00 | 27 | 00 |
Master Table (ECU.jdm) 833e-84af
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 00 | 00 |
8f80 | 8100 | 9249 | 1d | 01 | 2f | 08 |
8f80 | 8200 | 9249 | 01 | 02 | 2a | 0a |
8f80 | 8300 | 9249 | 02 | 02 | 30 | 01 |
8f80 | 8400 | 9249 | 1a | 03 | 31 | 0b |
8f80 | 8500 | 9249 | 10 | 04 | 32 | 09 |
8f80 | 8600 | 9249 | 28 | 04 | 33 | 05 |
8f80 | 8700 | 9249 | 29 | 05 | 34 | 02 |
8f80 | 8800 | 9249 | 2a | 06 | 35 | 08 |
8f80 | 8900 | 9249 | 2b | 07 | 36 | 00 |
8f81 | 8000 | 9249 | 1e | 08 | 37 | 08 |
8f81 | 8100 | 9249 | 2c | 09 | 38 | 0f |
8f81 | 8200 | 9249 | 2d | 0a | 39 | 07 |
8f81 | 8300 | 9249 | 2e | 0b | 3a | 08 |
8f81 | 8400 | 9249 | 2e | 0c | 3b | 08 |
8f81 | 8500 | 9249 | 2f | 0d | 3c | 08 |
8f81 | 8600 | 9249 | 2f | 0e | 3d | 08 |
8f81 | 8700 | 9249 | 2f | 0f | 3e | 08 |
8f81 | 8800 | 9249 | 2f | 10 | 3f | 08 |
8f81 | 8900 | 9249 | 30 | 11 | 40 | 07 |
8f82 | 8000 | 9249 | 30 | 12 | 41 | 07 |
8f82 | 8100 | 9249 | 31 | 13 | 42 | 02 |
8f82 | 8200 | 9249 | 32 | 14 | 43 | 07 |
8f82 | 8300 | 9249 | 23 | 15 | 44 | 0e |
8f8a | 8000 | 9249 | 24 | 16 | 2c | 00 |
8f8a | 8100 | 9249 | 25 | 17 | 45 | 00 |
8f8a | 8200 | 9249 | 26 | 18 | 46 | 00 |
8f8a | 8300 | 9249 | 27 | 19 | 47 | 00 |
8f8a | 8400 | 9249 | 33 | 1a | 48 | 00 |
8f8a | 8500 | 9249 | 05 | 21 | 60 | 00 |
8f8b | 8000 | 9322 | 00 | 1b | 49 | 00 |
8f8b | 8100 | 9322 | 00 | 1c | 4a | 00 |
8f8c | 8000 | 963f | 00 | 1d | 11 | 00 |
8e89 | 8100 | 9965 | 01 | 1e | 4b | 01 |
8e89 | 8300 | 9965 | 02 | 1f | 4c | 02 |
8e89 | 8400 | 9965 | 03 | 20 | 4c | 02 |
8188 | 8286 | 9b24 | 00 | 00 | 27 | 00 |
Master Table (TCU) 84b0-8595
? | ? | Action | Decode | Address | Name | Units | 8f80 | 8000 | 91fa | 00 | 00 | 4d | 00 |
8f80 | 8100 | 9249 | 1d | 01 | 2f | 08 |
8f80 | 8200 | 9249 | 01 | 02 | 4e | 0a |
8f80 | 8300 | 9249 | 02 | 02 | 4f | 01 |
8f80 | 8400 | 9249 | 01 | 03 | 50 | 0a |
8f80 | 8500 | 9249 | 02 | 03 | 51 | 01 |
8f80 | 8600 | 9249 | 1a | 04 | 52 | 0b |
8f80 | 8700 | 9249 | 1f | 05 | 53 | 09 |
8f80 | 8800 | 9249 | 20 | 05 | 54 | 05 |
8f80 | 8900 | 9249 | 1e | 06 | 55 | 08 |
8f81 | 8000 | 9249 | 21 | 07 | 56 | 00 |
8f81 | 8100 | 9249 | 22 | 08 | 57 | 07 |
8f81 | 8200 | 9249 | 22 | 09 | 58 | 07 |
8f81 | 8300 | 9249 | 22 | 0a | 59 | 07 |
8f81 | 8400 | 9249 | 23 | 0b | 5a | 0e |
8f8a | 8000 | 9249 | 24 | 0c | 5b | 00 |
8f8a | 8100 | 9249 | 25 | 0d | 5c | 00 |
8f8a | 8200 | 9249 | 26 | 0e | 5d | 00 |
8f8a | 8300 | 9249 | 27 | 0f | 5e | 00 |
8f8b | 8000 | 9322 | 00 | 10 | 5f | 00 |
8f8b | 8100 | 9322 | 00 | 11 | 4a | 00 |
8f8c | 8000 | 963f | 00 | 12 | 11 | 00 |
8188 | 8286 | 9b24 | 00 | 00 | 27 | 00 |
Action Functions
Address | Action |
91FA | Get Year Information |
9249 | Get Parameter |
9291 | ? |
9322 | Get Diagnostic Codes |
963F | Clear Memory |
9965 | Adjust Parameter |
9B24 | Get Address Data ? |
9ECF | Output ? |
9F7C | Special ? |
Decode Function Table E01C-E081
Index | Address |
01 | "a422" |
02 | "a4d4" |
03 | "a540" |
04 | "a57d" |
05 | "b6a3" |
06 | "b6ce" |
07 | "a5bb" |
08 | "a5e8" |
09 | "a659" |
0a | "a6e0" |
0b | "a7d9" |
0c | "a8d2" |
0d | "a9cb" |
0e | "a9fe" |
0f | "aa6b" |
10 | "ab64" |
11 | "acb0" |
12 | "acf8" |
13 | "ad40" |
14 | "ad88" |
15 | "add0" |
16 | "ae2a" |
17 | "ae42" |
18 | "ae76" |
19 | "ae96" |
1a | "aec6" |
1b | "af51" |
1c | "af78" |
1d | "b1bd" |
1e | "b2b0" |
1f | "b453" |
20 | "b4ba" |
21 | "b4fb" |
22 | "b50d" |
23 | "b534" |
24 | "b591" |
25 | "b5e4" |
26 | "b61c" |
27 | "b654" |
28 | "b21a" |
29 | "b24e" |
2a | "b26e" |
2b | "b29c" |
2c | "b2de" |
2d | "b312" |
2e | "b346" |
2f | "b374" |
30 | "b3a2" |
31 | "b3ea" |
32 | "b434" |
33 | "b683" |
Parameter Address Table (4WS) 85cc-85f1
Index | Address |
01 | "ff24" |
02 | "ff23" |
03 | "ff22" |
04 | "ff21" |
05 | "ff10" |
06 | "ff1e" |
07 | "ffb6" |
08 | "ff16" |
09 | "ffb3" |
0a | "ff1c" |
0b | "ff25" |
0c | "ff18" |
0d | "ff1a" |
0e | "ff12" |
0f | "ff0a" |
10 | "ff02" |
11 | "ff02" |
12 | "ff0f" |
13 | "ff0f" |
Parameter Address Table (A/C) 85f2-8619
Index | Address |
01 | "000b" |
02 | "000c" |
03 | "0001" |
04 | "0002" |
05 | "0003" |
06 | "0004" |
07 | "0004" |
08 | "0005" |
09 | "0006" |
0a | "0007" |
0b | "0008" |
0c | "0009" |
0d | "000a" |
0e | "000d" |
0f | "000e" |
10 | "0010" |
11 | "0011" |
12 | "000f" |
13 | "0012" |
14 | "0015" |
Parameter Address Table (CRUISE) 861a-8625
Index | Address |
01 | "00a6" |
02 | "00a6" |
03 | "009c" |
04 | "007a" |
05 | "009d" |
06 | "00fd" |
Parameter Address Table (ECU) 8626-8667
Index | Address |
01 | "102f" |
02 | "1071" |
03 | "106f" |
04 | "1088" |
05 | "10a2" |
06 | "1283" |
07 | "1282" |
08 | "128c" |
09 | "1280" |
0a | "129d" |
0b | "1291" |
0c | "1292" |
0d | "12b0" |
0e | "12b1" |
0f | "12b2" |
10 | "12b3" |
11 | "1097" |
12 | "109f" |
13 | "12a7" |
14 | "12a5" |
15 | "125f" |
16 | "105a" |
17 | "105b" |
18 | "119d" |
19 | "11a6" |
1a | "14ae" |
1b | "1026" |
1c | "12b9" |
1d | "1496" |
1e | "149b" |
1f | "12cc" |
20 | "12cd" |
21 | "1021" |
Parameter Address Table (TCU) 8668-868f
Index | Address |
01 | "1044" |
02 | "0019" |
03 | "001a" |
04 | "00b6" |
05 | "0017" |
06 | "1040" |
07 | "004e" |
08 | "00b3" |
09 | "00b4" |
0a | "00b5" |
0b | "1046" |
0c | "0011" |
0d | "0012" |
0e | "0013" |
0f | "0014" |
10 | "0001" |
11 | "0003" |
12 | "0003" |
13 | "0005" |
14 | "0004" |
Parameter Name Table E186-E795
Index | String |
00 | " YEAR (F00) " |
01 | " VSP1 (FA0) " |
02 | " VSP2 (FA1) " |
03 | " PTN 1 (FA2) " |
04 | " PTN 2 (FA3) " |
05 | " STAN (FA4) " |
06 | " RSTAN (FA5) " |
07 | " DIO (FA6) " |
08 | " STSP (FA7) " |
09 | " DIO (FA8) " |
0a | " RSTSP (FA9) " |
0b | " MTRCR (FA10) " |
0c | " DDRAN (FA11) " |
0d | " NDR (FA12) " |
0e | " K (FA13) " |
0f | " DIAG.COD(FB0) " |
10 | " DIAG.COD(FB1) " |
11 | " MEMORY CLR ? " |
12 | " SPECIAL (FFA) " |
13 | " SPECIAL (FFB) " |
14 | " Tset (F01) " |
15 | " To (F02) " |
16 | " Troom (F03) " |
17 | " Tamb (F04) " |
18 | " Tevp (F05) " |
19 | " Qsun (F06) " |
1a | " Tsun (F07) " |
1b | " Tref (F08) " |
1c | " Tw (F09) " |
1d | " AMRset (F10) " |
1e | " AMRpot (F11) " |
1f | " MODEset (F12) " |
20 | " MODEpot (F13) " |
21 | " BLW (F14) " |
22 | " Intak (F15) " |
23 | " Isol (F16) " |
24 | " EGItoA/C(F17) " |
25 | " Sw (FA0) " |
26 | " DIAG.COD(FB0) " |
27 | " ADDRESS DATA " |
28 | "CRUISE (F00) " |
29 | " VSP (F01) " |
2a | " VSP (F02) " |
2b | " EREV (F03) " |
2c | " DIO (FA0) " |
2d | " CANSEL (FB0) " |
2e | " OUTPUT (FB1) " |
2f | " VB (F01) " |
30 | " VSP (F03) " |
31 | " EREV (F04) " |
32 | " TW (F05) " |
33 | " TW (F06) " |
34 | " ADVS (F07) " |
35 | " QA (F08) " |
36 | " LDATA (F09) " |
37 | " THV (F10) " |
38 | " TIM (F11) " |
39 | " ISC (F12) " |
3a | " O2 R (F13) " |
3b | " O2 L (F14) " |
3c | " O2 Rmax (F15) " |
3d | " O2 Rmin (F16) " |
3e | " O2 Lmax (F17) " |
3f | " O2 Lmin (F18) " |
40 | " ALPHA 1 (F19) " |
41 | " ALPHA 2 (F20) " |
42 | " RTRD (F21) " |
43 | " CPCD (F22) " |
44 | " BARO.P (F23) " |
45 | " DIO (FA1) " |
46 | " DIO (FA2) " |
47 | " DIO (FA3) " |
48 | " DIO (FA4) " |
49 | " DIAG.U,D(FB0) " |
4a | " DIAG.M (FB1) " |
4b | " IGN-ADV ADJ. " |
4c | " IDLE-REV ADJ. " |
4d | " E-4AT (F00) " |
4e | " VSP 1 (F02) " |
4f | " VSP 1 (F03) " |
50 | " VSP 2 (F04) " |
51 | " VSP 2 (F05) " |
52 | " EREV (F06) " |
53 | " ATFT (F07) " |
54 | " ATFT (F08) " |
55 | " THV (F09) " |
56 | " GEAR (F10) " |
57 | " PLDTY (F11) " |
58 | " LUDTY (F12) " |
59 | " 4WDTY (F13) " |
5a | " BARO.P (F14) " |
5b | " SW 1 (FA0) " |
5c | " SW 2 (FA1) " |
5d | " SW 3 (FA2) " |
5e | " SW 4 (FA3) " |
5f | " DIAG.U (FB0) " |
60 | " DIO (FA5) " |
Unit Name Table E826-E915
Index | String |
01 | " km/h " |
02 | " deg " |
03 | " deg/s " |
04 | " A " |
05 | " degC " |
06 | " Kcal " |
07 | " % " |
08 | " V " |
09 | " degF " |
0a | " m/h " |
0b | " rpm " |
0c | " ready? Yes:0 " |
0d | " STEP " |
0e | " mmHg " |
0f | " ms " |
Subaru Select Monitor 1992 SVX Cartridge Download
Binary Dump
Hexadecimal Dump
Disassembly
Big thanks to James, who has sent me some binary dumps of all his SVX cartridges, including the 97 OBD2 version.
92 - V1.0
Cartridge Label:
49834 8500
ASE-01-424
[Serial #] 1A
ROM Label:
R 1.0
92 - V1.1
Cartridge Label:
49834 8501
ASE-01-426
[Serial #] 1A
ROM Label:
R 1.1
96 - C-96-03
Cartridge Label:
49834 6000
ASE-01-446
[Serial #] 1A
ROM Label:
C-96-03
(SUM $BA87)
97 - C-97-02
Cartridge Label:
49834 6700
ASE-01-453
[Serial #] 1A
ROM Label:
C-97-02
(SUM $1195)
1992_USDM_SVX_version_1.0
1992_USDM_SVX_version_1.1
1996_USDM_SVX
1997_USDM_SVX
|