// OS ID = value at offset 0x20 - order by values #define CMC310_157 0x102D2FA0 #define CM310_236 0x102D44A0 #define CM310_392 0x102DBF20 #define CX300_1045 0x102dc140 #define CMC310_392 0x102DC6B0 #define CM310_0 0x102e5cd0 #define CX300_1503 0x102e8ab0 #define CX300_0 0x102ec500 #define CXC301_1753 0x102ed420 #define CXC302_179X 0x102ED8C0 #define CX301_1753 0x102ECCD0 #define CX302_179X 0x102ED170 #define CX310_392 0x102F0A10 #define CXC310_392 0x102F11A0 #define CX320_776 0x1032DE40 #define CXC320_776 0x1032E5E0 #define CX320_1030 0x103392C0 #define CXC320_1030 0x10339C10 #define CM320_1212 0x1033C360 #define CM320_1219 0x1033C410 #define CMC320_1212 0x1033CCB0 #define CMC320_1219 0x1033CD60 #define CX320_1180 0x10340710 #define CX320_1212 0x10340F30 #define CX320_1219 0x10340FE0 #define CXC320_1180 0x10341050 #define CX32X_123X 0x103414F0 #define CXC320_1212 0x10341880 #define CXC320_1219 0x10341930 #define CXC324_1237 0x10341E30 #define CXC323_1233 0x10341E40 #define CX330_538 0x10344B60 #define CXC330_538 0x103454A0 #define CXC330_218 0x10346E20 #define CX360_5XX 0x10375620 #define CXC360_427 0x103759A0 #define CXC360_521 0x103760B0 #define CXC360_546_550 0x10376090 #define CX390_46X 0x1037C760 #define CXC390_46X 0x1037CCC0 #define CX391_38 0x1037D160 #define CXC391_38 0x1037D6C0 #define CX400_235 0x10386e70 #define CXC400_235 0x103873b0 #define CX402_27 0x1038bfb0 #define CX403_29 0x1038C290 #define CXC402_27 0x1038c4f0 #define CXC403_29 0x1038C7D0 #define CX420_532 0x1039C7A0 #define CXC420_532 0x1039CD20 #define CX430_702 0x103A3100 #define CXC430_547 0x103A3680 #define CXC430_702 0x103A3690 #define CX440_532 0x103A9F50 #define CXC440_531 0x103AA440 #define CXC440_532 0x103AA4E0 #define CX450_845 0x103AE460 #define CX450_1180 0x103B1860 #define CXC450_1180 0x103B1E60 #define CX451_X 0x103B27D0 #define CXC451_X 0x103B2EF0 #define CX452_8 0x103B2F40 #define CX453_14 0x103B3020 #define CXC452_8 0x103B3670 #define CXC453_14 0x103B3740 #define CX454_48 0x103B3A10 #define CXC454_48 0x103B4130 /* patch nBoot - look for 08 C0 85 E2 44 58 94 E5 03 00 9C E8 14 20 87 E2 01 00 55 E3 03 00 82 E8 10 50 8D E5 01 10 05 E2 01 20 A0 E3 08 30 87 E2 E7 FF FF 3A 00 00 51 E3 07 00 00 0A 08 20 8C E2 03 00 92 E8 02 20 A0 E3 1C E0 87 E2 02 00 55 E1 03 00 8E E8 08 30 83 E2 DD FF FF 3A 82 41 8C E0 03 00 94 E8 01 20 82 E2 82 E1 8C E0 14 40 83 E2 03 00 84 E8 03 00 9E E8 01 20 82 E2 1C E0 83 E2 02 00 55 E1 03 00 8E E8 10 30 83 E2 F2 FF FF 2A CF FF FF EA - replace F2 FF FF 2A by 00 00 00 00 examples : Boot2 3.9.1 0x118B8764 OS 4.0.0 CX CAS 0x100c03d0 */ #define NBOOT_CM310_0 0x100a2af8 #define NBOOT_CX300_1045 0x100a2c90 #define NBOOT_CMC310_157 0x100a2e50 #define NBOOT_CX300_1503 0x100a40b4 #define NBOOT_CM310_236 0x100a427c #define NBOOT_CX300_0 0x100a4280 #define NBOOT_CM310_392 0x100a4488 #define NBOOT_CMC310_392 0x100a4770 #define NBOOT_CX301_1753 0x100a6338 #define NBOOT_CXC301_1753 0x100a6620 #define NBOOT_CX302_1791 0x100a67d0 #define NBOOT_CX302_1793 0x100a67d8 #define NBOOT_CXC302_1791 0x100a6ab8 #define NBOOT_CXC302_1793 0x100a6ac0 #define NBOOT_CX310_392 0x100a7a34 #define NBOOT_CXC310_392 0x100a7d1c #define NBOOT_CX320_776 0x100af3cc #define NBOOT_CXC320_776 0x100af6a8 #define NBOOT_CM320_121X 0x100afc20 #define NBOOT_CMC320_121X 0x100afefc #define NBOOT_CX320_1030 0x100b28ac #define NBOOT_CXC320_1030 0x100b2b88 #define NBOOT_CX320_1180 0x100b3bd0 #define NBOOT_CX320_121X 0x100b3ce4 #define NBOOT_CXC320_1180 0x100b3eac #define NBOOT_CXC320_121X 0x100b3fc0 #define NBOOT_CX32X_123X 0x100b410c #define NBOOT_CXC32X_123X 0x100b43e8 #define NBOOT_CX330_538 0x100b5b90 #define NBOOT_CXC330_538 0x100b5e6c #define NBOOT_CXC330_218 0x100b7f2c #define NBOOT_CXC391_38 0x100bf304 #define NBOOT_CXC360_427 0x100bf358 #define NBOOT_CX391_38 0x100bf50c #define NBOOT_CXC390_46X 0x100bf624 #define NBOOT_CX390_46X 0x100bf82c #define NBOOT_CX360_5XX 0x100bf91c #define NBOOT_CXC360_546_550 0x100bfc04 #define NBOOT_CXC360_521 0x100bfc7c #define NBOOT_CXC400_235 0x100c03d0 #define NBOOT_CX400_235 0x100c05b8 /* patch if !ndless no boot2upd look for 3.1 : F0 47 2D E9 00 03 9F E5 78 D0 4D E2 FC 12 9F E5 OS 3.6-4.0.0: 10 F0 45 2D E9 FC 03 9F E5 8C D0 4D E2 F8 13 9F E5 replace F0452DE9 by 0xE12FFF1E OS 4.0.2+: 10 F0 4F 2D E9 24 84 9F E5 9C D0 4D E2 00 30 98 E5 1C 04 9F E5 1C 14 9F E5 94 30 8D E5 replace F04F2DE9 by 0xE12FFF1E */ #define BOOT2UPD_CM310_392 0x100A2BCC #define BOOT2UPD_CMC310_392 0x100A2EB4 #define BOOT2UPD_CX310_392 0x100A6178 #define BOOT2UPD_CXC310_392 0x100A6460 #define BOOT2UPD_CXC391_38 0x100BD88C #define BOOT2UPD_CXC360_427 0x100BD910 #define BOOT2UPD_CX391_38 0x100BDA94 #define BOOT2UPD_CXC390_46X 0x100BDBDC #define BOOT2UPD_CX390_46X 0x100BDDE4 #define BOOT2UPD_CX360_5XX 0x100BDED4 #define BOOT2UPD_CXC360_546_550 0x100BE1BC #define BOOT2UPD_CXC360_521 0x100BE234 #define BOOT2UPD_CXC400_235 0x100BE958 #define BOOT2UPD_CX400_235 0x100BEB40 #define BOOT2UPD_CXC402_27 0x100C1FE4 #define BOOT2UPD_CXC403_29 0x100C2174 #define BOOT2UPD_CX402_27 0x100C21CC #define BOOT2UPD_CX403_29 0x100C235C #define BOOT2UPD_CXC420_532 0x100C5D40 #define BOOT2UPD_CX420_532 0x100C5F24 #define BOOT2UPD_CXC430_547 0x100C6388 #define BOOT2UPD_CXC430_702 0x100C6398 #define BOOT2UPD_CX430_702 0x100C657C #define BOOT2UPD_CXC440_53X 0x100C8D14 #define BOOT2UPD_CX440_532 0x100C8EF4 #define BOOT2UPD_CXC450_1180 0x100C992C #define BOOT2UPD_CX450_845 0x100C9930 #define BOOT2UPD_CX450_1180 0x100C9AF0 #define BOOT2UPD_CXC451_X 0x100C9EA8 #define BOOT2UPD_CXC4523_X 0x100C9EC8 #define BOOT2UPD_CX451_X 0x100C9FDC #define BOOT2UPD_CX4523_X 0x100C9FE0 #define BOOT2UPD_CXC454_48 0x100CA3E8 #define BOOT2UPD_CX454_48 0x100CA4D0 /* patch modified OS self-destruct - look for 10 10 00 00 00 11 F0 40 2D E9 00 71 9F E5 00 21 9F E5 F0 FF 00 00 00 FF FF FF FF FF 00 FF FF FF 00 FF FF FF replace F0402D9 by 0xE12FFF1E */ #define SELFD_CXC360_427 0x10135200 #define SELFD_CX360_5XX 0x10135838 #define SELFD_CXC360_546_550 0x10135E8C #define SELFD_CXC360_521 0x10135F04 #define SELFD_CX391_38 0x1013B9B0 #define SELFD_CXC391_38 0x1013BB08 #define SELFD_CX390_461 0x1013C194 #define SELFD_CX390_463 0x1013C19C #define SELFD_CXC390_461 0x1013C2EC #define SELFD_CXC390_463 0x1013C2F4 #define SELFD_CX400_235 0x10142BD4 #define SELFD_CXC400_235 0x10142D54 #define SELFD_CX402_27 0x10147AF0 #define SELFD_CXC402_27 0x10147C70 #define SELFD_CX403_29 0x10147DD0 #define SELFD_CXC403_29 0x10147F50 #define SELFD_CX420_532 0x1014E008 #define SELFD_CXC420_532 0x1014E1B8 #define SELFD_CX430_702 0x1015313C #define SELFD_CXC430_547 0x101532F4 #define SELFD_CXC430_702 0x10153304 #define SELFD_CX440_532 0x10155FB4 #define SELFD_CXC440_531 0x101560C8 #define SELFD_CXC440_532 0x10156164 #define SELFD_CX450_845 0x10156640 #define SELFD_CX450_1180 0x10157DC4 #define SELFD_CXC450_1180 0x10157FE0 #define SELFD_CX451_X 0x10158684 #define SELFD_CXC451_X 0x101589BC #define SELFD_CX4523_X 0x10158DDC #define SELFD_CXC4523_X 0x1015911C #define SELFD_CX454_48 0x101592D4 #define SELFD_CXC454_48 0x10159684 /* ASIC bytes : CX CXCAS CM CMCAS asic1: 900A0028 00000000 00010105 00010107 00000002 asic2: 900A002C 00000000 04000001 88000001 8C000000 MOV R4, #asic2: 0xE3A04000 0xE3A04341 0xE3A04362 0xE3A04323 0040A0E3 4341A0E3 6243A0E3 2343A0E3 */ // asic1 : 2C 00 8D E5 01 00 A0 E3 28 50 93 E5 2C 40 93 E5 // mask : FF 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF // 0x34 -> 0x54 a little before that #define ASIC1_CXC360_427 0x100BFA91 #define ASIC1_CXC390_46X 0x100BFD5D #define ASIC1_CX390_46X 0x100BFF65 #define ASIC1_CXC391_38 0x100BFA3D #define ASIC1_CX391_38 0x100BFC45 #define ASIC1_CX360_5XX 0x100C0055 #define ASIC1_CXC360_546_550 0x100C033D #define ASIC1_CXC360_521 0x100C03B5 #define ASIC1_CXC400_235 0x100C0B09 #define ASIC1_CX400_235 0x100C0CF1 #define ASIC1_CXC402_27 0x100C3FE9 #define ASIC1_CX402_27 0x100C41D1 #define ASIC1_CXC403_29 0x100C4179 #define ASIC1_CX403_29 0x100C4361 #define ASIC1_CXC420_532 0x100C7FA1 #define ASIC1_CX420_532 0x100C8185 #define ASIC1_CXC430_547 0x100C85E5 #define ASIC1_CXC430_702 0x100C85F5 #define ASIC1_CX430_702 0x100C87D9 #define ASIC1_CXC440_53X 0x100CAF71 #define ASIC1_CX440_532 0x100CB151 #define ASIC1_CXC450_1180 0x100CBB89 #define ASIC1_CX450_845 0x100CBB8D #define ASIC1_CX450_1180 0x100CBD4D #define ASIC1_CXC451_X 0x100CC105 #define ASIC1_CXC4523_X 0x100CC125 #define ASIC1_CX451_X 0x100CC239 #define ASIC1_CX4523_X 0x100CC23D #define ASIC1_CXC454_48 0x100CC645 #define ASIC1_CX454_48 0x100CC72D // asic2 : 10 41 9F E5 88 D0 4D E2 2C 20 94 E5 #define ASIC2_CX390_461 0x10860D80 #define ASIC2_CX390_463 0x10860E00 #define ASIC2_CX391_38 0x10861788 #define ASIC2_CX400_235 0x10870954 #define ASIC2_CX402_27 0x10874E28 #define ASIC2_CX403_29 0x10875108 #define ASIC2_CXC390_461 0x10881724 #define ASIC2_CXC390_463 0x108817A4 #define ASIC2_CXC391_38 0x1088212C #define ASIC2_CXC400_235 0x10891500 #define ASIC2_CXC402_27 0x108959A4 #define ASIC2_CXC403_29 0x10895C84 #define ASIC2_CX420_532 0x1089B788 #define ASIC2_CX430_702 0x108A4578 #define ASIC2_CX440_532 0x108B3538 #define ASIC2_CXC420_532 0x108B85B0 #define ASIC2_CX450_845 0x108BA144 #define ASIC2_CX450_1180 0x108BF368 #define ASIC2_CX451_X 0x108C00B8 #define ASIC2_CX452_8 0x108C0900 #define ASIC2_CX453_14 0x108C0AF0 #define ASIC2_CXC430_547 0x108C16F4 #define ASIC2_CXC430_702 0x108C1704 #define ASIC2_CX454_48 0x108C1A80 #define ASIC2_CXC440_531 0x108D0678 #define ASIC2_CXC440_532 0x108D0718 #define ASIC2_CXC450_1180 0x108DC6D0 #define ASIC2_CXC451_X 0x108DD540 #define ASIC2_CXC452_8 0x108DDDE0 #define ASIC2_CXC453_14 0x108DDFCC #define ASIC2_CXC454_48 0x108DEF54 #define NDLESS_LOADER \ 0xE92D4030, 0xE59F30B0, 0xE59F20B0, 0xE59F50B0,\ 0xE59F10B0, 0xE5832C00, 0xE08F5005, 0xE3A02000,\ 0xE5832008, 0xE24DD02C, 0xE5832C00, 0xE1A00005,\ 0xE08F1001, 0xE59F3090, 0xE12FFF33, 0xE2504000,\ 0x0A00001A, 0xE1A0100D, 0xE1A00005, 0xE59F307C,\ 0xE12FFF33, 0xE59D0014, 0xE59F3074, 0xE12FFF33,\ 0xE59D1014, 0xE3A02001, 0xE1A03004, 0xE59FC064,\ 0xE1A05000, 0xE12FFF3C, 0xE1A00004, 0xE59F3058,\ 0xE12FFF33, 0xE59F3054, 0xE28D1028, 0xE08F3003,\ 0xE5213004, 0xEE17FF7A, 0x1AFFFFFD, 0xE3A03000,\ 0xEE073F17, 0xE3A00001, 0xE2855004, 0xE12FFF35,\ 0xE3A00000, 0xE28DD02C, 0xE8BD8030, 0x90060000,\ 0x1ACCE551, 0x000000C4, 0x000000D7, 0xAAAAAAAA,\ 0xBBBBBBBB, 0xCCCCCCCC, 0xDDDDDDDD, 0xEEEEEEEE,\ 0x0000007E, 0x636F642F, 0x6E656D75, 0x6E2F7374,\ 0x73656C64, 0x646E2F73, 0x7373656C, 0x7365725F,\ 0x6372756F, 0x742E7365, 0x0000736E, 0x72000000,\ 0x004C0062, 0x00000000, 0x00000000, 0x00000000 #define OFFSET_MODEL 0x33 #define NSYSCALLS 5 #define FOPEN_CM310_392 0x10360CAC #define FOPEN_CMC310_392 0x1036143C #define FOPEN_CX310_392 0x103778E0 #define FOPEN_CXC310_392 0x10378070 #define FOPEN_CX360_5XX 0x103FC858 #define FOPEN_CXC360_546_550 0x103FD2C8 #define FOPEN_CX390_46X 0x10403a0c #define FOPEN_CXC390_46X 0x10403f6c #define FOPEN_CX391_38 0x1040440C #define FOPEN_CXC391_38 0x1040496C #define FOPEN_CX400_235 0x1040F9B4 #define FOPEN_CXC400_235 0x1040FEF4 #define FOPEN_CX403_29 0x10413DE4 #define FOPEN_CXC403_29 0x10414324 #define FOPEN_CX420_532 0x10424468 #define FOPEN_CXC420_532 0x104249E8 #define FOPEN_CX430_702 0x1042AF00 #define FOPEN_CXC430_547 0x1042B480 #define FOPEN_CXC430_702 0x1042B490 #define FOPEN_CX440_532 0x10431D50 #define FOPEN_CXC440_531 0x10432240 #define FOPEN_CXC440_532 0x104322E0 #define FOPEN_CX450_1180 0x10439660 #define FOPEN_CXC450_1180 0x10439C60 #define FOPEN_CX451_12 0x1043A548 #define FOPEN_CXC451_12 0x1043AC68 #define FOPEN_CX453_14 0x1043AD98 #define FOPEN_CXC453_14 0x1043B4B8 #define FOPEN_CX454_48 0x1043B788 #define FOPEN_CXC454_48 0x1043BEA8 #define STAT_CM310_392 0x10368C70 #define STAT_CMC310_392 0x10369400 #define STAT_CX310_392 0x1037F918 #define STAT_CXC310_392 0x103800A8 #define STAT_CX360_5XX 0x10404950 #define STAT_CXC360_546_550 0x104053C0 #define STAT_CX390_46X 0x1040bc84 #define STAT_CXC390_46X 0x1040c1e4 #define STAT_CX391_38 0x1040C684 #define STAT_CXC391_38 0x1040CBE4 #define STAT_CX400_235 0x10417C2C #define STAT_CXC400_235 0x1041816C #define STAT_CX403_29 0x1041C05C #define STAT_CXC403_29 0x1041C59C #define STAT_CX420_532 0x1042C6E0 #define STAT_CXC420_532 0x1042CC60 #define STAT_CX430_702 0x10433178 #define STAT_CXC430_547 0x104336F8 #define STAT_CXC430_702 0x10433708 #define STAT_CX440_532 0x10439FC8 #define STAT_CXC440_531 0x1043A4B8 #define STAT_CXC440_532 0x1043A558 #define STAT_CX450_1180 0x104418D8 #define STAT_CXC450_1180 0x10441ED8 #define STAT_CX451_12 0x104427C0 #define STAT_CXC451_12 0x10442EE0 #define STAT_CX453_14 0x10443010 #define STAT_CXC453_14 0x10443778 #define STAT_CX454_48 0x10443A00 #define STAT_CXC454_48 0x10444168 #define MALLOC_CM310_392 0x1035B584 #define MALLOC_CMC310_392 0x1035BD14 #define MALLOC_CX310_392 0x103721B8 #define MALLOC_CXC310_392 0x10372948 #define MALLOC_CX360_5XX 0x103F6DF0 #define MALLOC_CXC360_546_550 0x103F7860 #define MALLOC_CX390_46X 0x103fe0d0 #define MALLOC_CXC390_46X 0x103fe630 #define MALLOC_CX391_38 0x103FEAD0 #define MALLOC_CXC391_38 0x103FF030 #define MALLOC_CX400_235 0x1040A078 #define MALLOC_CXC400_235 0x1040A5B8 #define MALLOC_CX403_29 0x1040E4A8 #define MALLOC_CXC403_29 0x1040E9E8 #define MALLOC_CX420_532 0x1041EB2C #define MALLOC_CXC420_532 0x1041F0AC #define MALLOC_CX430_702 0x104255C4 #define MALLOC_CXC430_547 0x10425B44 #define MALLOC_CXC430_702 0x10425B54 #define MALLOC_CX440_532 0x1042C414 #define MALLOC_CXC440_531 0x1042C904 #define MALLOC_CXC440_532 0x1042C9A4 #define MALLOC_CX450_1180 0x10433D24 #define MALLOC_CXC450_1180 0x10434324 #define MALLOC_CX451_12 0x10434C58 #define MALLOC_CXC451_12 0x10435378 #define MALLOC_CX453_14 0x104354A8 #define MALLOC_CXC453_14 0x10435BC8 #define MALLOC_CX454_48 0x10435E98 #define MALLOC_CXC454_48 0x104365B8 #define FREAD_CM310_392 0x10360E50 #define FREAD_CMC310_392 0x103615E0 #define FREAD_CX310_392 0x10377A84 #define FREAD_CXC310_392 0x10378214 #define FREAD_CX360_5XX 0x103FC9FC #define FREAD_CXC360_546_550 0x103FD46C #define FREAD_CX390_46X 0x10403bb0 #define FREAD_CXC390_46X 0x10404110 #define FREAD_CX391_38 0x104045B0 #define FREAD_CXC391_38 0x10404B10 #define FREAD_CX400_235 0x1040FB58 #define FREAD_CXC400_235 0x10410098 #define FREAD_CX403_29 0x10413F88 #define FREAD_CXC403_29 0x104144C8 #define FREAD_CX420_532 0x1042460C #define FREAD_CXC420_532 0x10424B8C #define FREAD_CX430_702 0x1042B0A4 #define FREAD_CXC430_547 0x1042B624 #define FREAD_CXC430_702 0x1042B634 #define FREAD_CX440_532 0x10431EF4 #define FREAD_CXC440_531 0x104323E4 #define FREAD_CXC440_532 0x10432484 #define FREAD_CX450_1180 0x10439804 #define FREAD_CXC450_1180 0x10439E04 #define FREAD_CX451_12 0x1043A6EC #define FREAD_CXC451_12 0x1043AE0C #define FREAD_CX453_14 0x1043AF3C #define FREAD_CXC453_14 0x1043B65C #define FREAD_CX454_48 0x1043B92C #define FREAD_CXC454_48 0x1043C04C #define FCLOSE_CM310_392 0x10360520 #define FCLOSE_CMC310_392 0x10360CB0 #define FCLOSE_CX310_392 0x10377154 #define FCLOSE_CXC310_392 0x103778E4 #define FCLOSE_CX360_5XX 0x103FC0CC #define FCLOSE_CXC360_546_550 0x103FCB3C #define FCLOSE_CX390_46X 0x1040322c #define FCLOSE_CXC390_46X 0x1040378C #define FCLOSE_CX391_38 0x10403C2C #define FCLOSE_CXC391_38 0x1040418C #define FCLOSE_CX400_235 0x1040F1D4 #define FCLOSE_CXC400_235 0x1040F714 #define FCLOSE_CX403_29 0x10413604 #define FCLOSE_CXC403_29 0x10413B44 #define FCLOSE_CX420_532 0x10423C88 #define FCLOSE_CXC420_532 0x10424208 #define FCLOSE_CX430_702 0x1042A720 #define FCLOSE_CXC430_547 0x1042ACA0 #define FCLOSE_CXC430_702 0x1042ACB0 #define FCLOSE_CX440_532 0x10431570 #define FCLOSE_CXC440_531 0x10431A60 #define FCLOSE_CXC440_532 0x10431B00 #define FCLOSE_CX450_1180 0x10438E80 #define FCLOSE_CXC450_1180 0x10439480 #define FCLOSE_CX451_12 0x10439D68 #define FCLOSE_CXC451_12 0X1043A488 #define FCLOSE_CX453_14 0x1043A5B8 #define FCLOSE_CXC453_14 0x1043ACD8 #define FCLOSE_CX454_48 0x1043AFA8 #define FCLOSE_CXC454_48 0x1043B6C8