# HG changeset patch # User Mychaela Falconia # Date 1516295537 0 # Node ID bb46e9f67cd5ea2a74c13a4b4d791e2f3712141e # Parent d15f701b143497a26adc3995660498f72ed74a7c dsample-fw-disasm: found apparent beginning of the tpudrv10 module diff -r d15f701b1434 -r bb46e9f67cd5 dsample-fw-disasm --- a/dsample-fw-disasm Thu Jan 18 08:03:03 2018 +0000 +++ b/dsample-fw-disasm Thu Jan 18 17:12:17 2018 +0000 @@ -958,6 +958,267 @@ 803c34: b004 add sp, #16 ; 0x10 803c36: bd00 pop {pc} +; apparent beginning of tpudrv10 module + + 811df8: b500 push {lr} + 811dfa: b084 sub sp, #16 ; 0x10 + 811dfc: 4669 mov r1, sp + 811dfe: 8008 strh r0, [r1, #0] + 811e00: 2014 mov r0, #20 ; 0x14 + 811e02: 49c6 ldr r1, =0x83c0a1 ; via 0x81211c + 811e04: 7809 ldrb r1, [r1, #0] + 811e06: 4348 mul r0, r1 + 811e08: 49c3 ldr r1, =0x83c054 ; via 0x812118 + 811e0a: 5808 ldr r0, [r1, r0] + 811e0c: 9003 str r0, [sp, #12] ; 0xc + 811e0e: 9803 ldr r0, [sp, #12] ; 0xc + 811e10: 8801 ldrh r1, [r0, #0] + 811e12: 4668 mov r0, sp + 811e14: 8800 ldrh r0, [r0, #0] + 811e16: 4281 cmp r1, r0 + 811e18: da08 bge 0x811e2c + 811e1a: 9803 ldr r0, [sp, #12] ; 0xc + 811e1c: 3004 add r0, #4 + 811e1e: 9003 str r0, [sp, #12] ; 0xc + 811e20: 9803 ldr r0, [sp, #12] ; 0xc + 811e22: 8800 ldrh r0, [r0, #0] + 811e24: 4669 mov r1, sp + 811e26: 8809 ldrh r1, [r1, #0] + 811e28: 4288 cmp r0, r1 + 811e2a: dbf6 blt 0x811e1a + 811e2c: 4669 mov r1, sp + 811e2e: 9803 ldr r0, [sp, #12] ; 0xc + 811e30: 8840 ldrh r0, [r0, #2] + 811e32: 0040 lsl r0, r0, #1 + 811e34: 80c8 strh r0, [r1, #6] + 811e36: 4668 mov r0, sp + 811e38: 88c0 ldrh r0, [r0, #6] + 811e3a: 210d mov r1, #13 ; 0xd + 811e3c: f002 fd8e bl 0x81495c + 811e40: 4668 mov r0, sp + 811e42: 8101 strh r1, [r0, #8] + 811e44: 8900 ldrh r0, [r0, #8] + 811e46: 1081 asr r1, r0, #2 + 811e48: 0f49 lsr r1, r1, #29 + 811e4a: 1808 add r0, r1, r0 + 811e4c: 10c1 asr r1, r0, #3 + 811e4e: 4668 mov r0, sp + 811e50: 8041 strh r1, [r0, #2] + 811e52: 8901 ldrh r1, [r0, #8] + 811e54: 8840 ldrh r0, [r0, #2] + 811e56: 00c0 lsl r0, r0, #3 + 811e58: 1a09 sub r1, r1, r0 + 811e5a: 4668 mov r0, sp + 811e5c: 8081 strh r1, [r0, #4] + 811e5e: 8880 ldrh r0, [r0, #4] + 811e60: 0740 lsl r0, r0, #29 + 811e62: 0f40 lsr r0, r0, #29 + 811e64: 0141 lsl r1, r0, #5 + 811e66: 4668 mov r0, sp + 811e68: 8840 ldrh r0, [r0, #2] + 811e6a: 0680 lsl r0, r0, #26 + 811e6c: 0e80 lsr r0, r0, #26 + 811e6e: 0200 lsl r0, r0, #8 + 811e70: 4301 orr r1, r0 + 811e72: 0408 lsl r0, r1, #16 + 811e74: 0c00 lsr r0, r0, #16 + 811e76: b004 add sp, #16 ; 0x10 + 811e78: bd00 pop {pc} + + 811e7a: b500 push {lr} + 811e7c: b08d sub sp, #52 ; 0x34 + 811e7e: 466a mov r2, sp + 811e80: 7091 strb r1, [r2, #2] + 811e82: 4669 mov r1, sp + 811e84: 8008 strh r0, [r1, #0] + 811e86: 2014 mov r0, #20 ; 0x14 + 811e88: 49a4 ldr r1, =0x83c0a1 ; via 0x81211c + 811e8a: 7809 ldrb r1, [r1, #0] + 811e8c: 4348 mul r0, r1 + 811e8e: 49a4 ldr r1, =0x83c050 ; via 0x812120 + 811e90: 5808 ldr r0, [r1, r0] + 811e92: 900c str r0, [sp, #48] ; 0x30 + 811e94: 980c ldr r0, [sp, #48] ; 0x30 + 811e96: 8881 ldrh r1, [r0, #4] + 811e98: 4668 mov r0, sp + 811e9a: 8800 ldrh r0, [r0, #0] + 811e9c: 4281 cmp r1, r0 + 811e9e: da08 bge 0x811eb2 + 811ea0: 980c ldr r0, [sp, #48] ; 0x30 + 811ea2: 3018 add r0, #24 ; 0x18 + 811ea4: 900c str r0, [sp, #48] ; 0x30 + 811ea6: 980c ldr r0, [sp, #48] ; 0x30 + 811ea8: 8881 ldrh r1, [r0, #4] + 811eaa: 4668 mov r0, sp + 811eac: 8800 ldrh r0, [r0, #0] + 811eae: 4281 cmp r1, r0 + 811eb0: dbf6 blt 0x811ea0 + 811eb2: 2014 mov r0, #20 ; 0x14 + 811eb4: 4999 ldr r1, =0x83c0a1 ; via 0x81211c + 811eb6: 7809 ldrb r1, [r1, #0] + 811eb8: 4348 mul r0, r1 + 811eba: 4997 ldr r1, =0x83c054 ; via 0x812118 + 811ebc: 5808 ldr r0, [r1, r0] + 811ebe: 900a str r0, [sp, #40] ; 0x28 + 811ec0: 980a ldr r0, [sp, #40] ; 0x28 + 811ec2: 8801 ldrh r1, [r0, #0] + 811ec4: 4668 mov r0, sp + 811ec6: 8800 ldrh r0, [r0, #0] + 811ec8: 4281 cmp r1, r0 + 811eca: da08 bge 0x811ede + 811ecc: 980a ldr r0, [sp, #40] ; 0x28 + 811ece: 3004 add r0, #4 + 811ed0: 900a str r0, [sp, #40] ; 0x28 + 811ed2: 980a ldr r0, [sp, #40] ; 0x28 + 811ed4: 8801 ldrh r1, [r0, #0] + 811ed6: 4668 mov r0, sp + 811ed8: 8800 ldrh r0, [r0, #0] + 811eda: 4281 cmp r1, r0 + 811edc: dbf6 blt 0x811ecc + 811ede: 980a ldr r0, [sp, #40] ; 0x28 + 811ee0: 8840 ldrh r0, [r0, #2] + 811ee2: 9009 str r0, [sp, #36] ; 0x24 + 811ee4: 4668 mov r0, sp + 811ee6: 7880 ldrb r0, [r0, #2] + 811ee8: 2800 cmp r0, #0 + 811eea: d026 beq 0x811f3a + 811eec: 488d ldr r0, =0x27627 ; via 0x812124 + 811eee: 990c ldr r1, [sp, #48] ; 0x30 + 811ef0: 7b09 ldrb r1, [r1, #12] ; 0xc + 811ef2: 4348 mul r0, r1 + 811ef4: 3008 add r0, #8 + 811ef6: 9008 str r0, [sp, #32] ; 0x20 + 811ef8: 980c ldr r0, [sp, #48] ; 0x30 + 811efa: 6880 ldr r0, [r0, #8] + 811efc: 0081 lsl r1, r0, #2 + 811efe: 1841 add r1, r0, r1 + 811f00: 4668 mov r0, sp + 811f02: 8800 ldrh r0, [r0, #0] + 811f04: 1841 add r1, r0, r1 + 811f06: 980c ldr r0, [sp, #48] ; 0x30 + 811f08: 6800 ldr r0, [r0, #0] + 811f0a: 1a08 sub r0, r1, r0 + 811f0c: 9007 str r0, [sp, #28] ; 0x1c + 811f0e: 9807 ldr r0, [sp, #28] ; 0x1c + 811f10: 990c ldr r1, [sp, #48] ; 0x30 + 811f12: 7b09 ldrb r1, [r1, #12] ; 0xc + 811f14: 4348 mul r0, r1 + 811f16: 4669 mov r1, sp + 811f18: 8088 strh r0, [r1, #4] + 811f1a: 4668 mov r0, sp + 811f1c: 8880 ldrh r0, [r0, #4] + 811f1e: 0540 lsl r0, r0, #21 + 811f20: 9006 str r0, [sp, #24] ; 0x18 + 811f22: 9808 ldr r0, [sp, #32] ; 0x20 + 811f24: 9907 ldr r1, [sp, #28] ; 0x1c + 811f26: 4348 mul r0, r1 + 811f28: 9005 str r0, [sp, #20] ; 0x14 + 811f2a: 2014 mov r0, #20 ; 0x14 + 811f2c: 497b ldr r1, =0x83c0a1 ; via 0x81211c + 811f2e: 7809 ldrb r1, [r1, #0] + 811f30: 4348 mul r0, r1 + 811f32: 497d ldr r1, =0x83c058 ; via 0x812128 + 811f34: 5808 ldr r0, [r1, r0] + 811f36: 900b str r0, [sp, #44] ; 0x2c + 811f38: e024 b 0x811f84 + 811f3a: 487c ldr r0, =0x2762f ; via 0x81212c + 811f3c: 9008 str r0, [sp, #32] ; 0x20 + 811f3e: 980c ldr r0, [sp, #48] ; 0x30 + 811f40: 6900 ldr r0, [r0, #16] ; 0x10 + 811f42: 0081 lsl r1, r0, #2 + 811f44: 1840 add r0, r0, r1 + 811f46: 4669 mov r1, sp + 811f48: 8809 ldrh r1, [r1, #0] + 811f4a: 1809 add r1, r1, r0 + 811f4c: 980c ldr r0, [sp, #48] ; 0x30 + 811f4e: 6800 ldr r0, [r0, #0] + 811f50: 1a08 sub r0, r1, r0 + 811f52: 9007 str r0, [sp, #28] ; 0x1c + 811f54: 2114 mov r1, #20 ; 0x14 + 811f56: 980c ldr r0, [sp, #48] ; 0x30 + 811f58: 5609 ldrsb r1, [r1, r0] + 811f5a: 9809 ldr r0, [sp, #36] ; 0x24 + 811f5c: 4348 mul r0, r1 + 811f5e: 9907 ldr r1, [sp, #28] ; 0x1c + 811f60: 1841 add r1, r0, r1 + 811f62: 4668 mov r0, sp + 811f64: 8081 strh r1, [r0, #4] + 811f66: 8880 ldrh r0, [r0, #4] + 811f68: 0540 lsl r0, r0, #21 + 811f6a: 9006 str r0, [sp, #24] ; 0x18 + 811f6c: 2114 mov r1, #20 ; 0x14 + 811f6e: 980c ldr r0, [sp, #48] ; 0x30 + 811f70: 5609 ldrsb r1, [r1, r0] + 811f72: 9809 ldr r0, [sp, #36] ; 0x24 + 811f74: 4348 mul r0, r1 + 811f76: 9907 ldr r1, [sp, #28] ; 0x1c + 811f78: 1841 add r1, r0, r1 + 811f7a: 9808 ldr r0, [sp, #32] ; 0x20 + 811f7c: 4348 mul r0, r1 + 811f7e: 9005 str r0, [sp, #20] ; 0x14 + 811f80: 486b ldr r0, =0x83bea8 ; via 0x812130 + 811f82: 900b str r0, [sp, #44] ; 0x2c + 811f84: 980b ldr r0, [sp, #44] ; 0x2c + 811f86: 8801 ldrh r1, [r0, #0] + 811f88: 4668 mov r0, sp + 811f8a: 8880 ldrh r0, [r0, #4] + 811f8c: 4281 cmp r1, r0 + 811f8e: da08 bge 0x811fa2 + 811f90: 980b ldr r0, [sp, #44] ; 0x2c + 811f92: 3004 add r0, #4 + 811f94: 900b str r0, [sp, #44] ; 0x2c + 811f96: 980b ldr r0, [sp, #44] ; 0x2c + 811f98: 8801 ldrh r1, [r0, #0] + 811f9a: 4668 mov r0, sp + 811f9c: 8880 ldrh r0, [r0, #4] + 811f9e: 4281 cmp r1, r0 + 811fa0: dbf6 blt 0x811f90 + 811fa2: 4964 ldr r1, =0x83be2c ; via 0x812134 + 811fa4: 980b ldr r0, [sp, #44] ; 0x2c + 811fa6: 7880 ldrb r0, [r0, #2] + 811fa8: 0740 lsl r0, r0, #29 + 811faa: 0f40 lsr r0, r0, #29 + 811fac: 0140 lsl r0, r0, #5 + 811fae: 7008 strb r0, [r1, #0] + 811fb0: 9805 ldr r0, [sp, #20] ; 0x14 + 811fb2: 2110 mov r1, #16 ; 0x10 + 811fb4: f001 fe92 bl 0x813cdc + 811fb8: 0d48 lsr r0, r1, #21 + 811fba: 9002 str r0, [sp, #8] + 811fbc: 9905 ldr r1, [sp, #20] ; 0x14 + 811fbe: 9802 ldr r0, [sp, #8] + 811fc0: 0640 lsl r0, r0, #25 + 811fc2: 1a08 sub r0, r1, r0 + 811fc4: 0d40 lsr r0, r0, #21 + 811fc6: 9003 str r0, [sp, #12] ; 0xc + 811fc8: 9903 ldr r1, [sp, #12] ; 0xc + 811fca: 9802 ldr r0, [sp, #8] + 811fcc: 0100 lsl r0, r0, #4 + 811fce: 1809 add r1, r1, r0 + 811fd0: 200d mov r0, #13 ; 0xd + 811fd2: 0540 lsl r0, r0, #21 + 811fd4: 4348 mul r0, r1 + 811fd6: 9906 ldr r1, [sp, #24] ; 0x18 + 811fd8: 1a08 sub r0, r1, r0 + 811fda: 0d40 lsr r0, r0, #21 + 811fdc: 9004 str r0, [sp, #16] ; 0x10 + 811fde: 9803 ldr r0, [sp, #12] ; 0xc + 811fe0: 0700 lsl r0, r0, #28 + 811fe2: 0f00 lsr r0, r0, #28 + 811fe4: 0300 lsl r0, r0, #12 + 811fe6: 9902 ldr r1, [sp, #8] + 811fe8: 0649 lsl r1, r1, #25 + 811fea: 0e49 lsr r1, r1, #25 + 811fec: 0409 lsl r1, r1, #16 + 811fee: 4308 orr r0, r1 + 811ff0: 9904 ldr r1, [sp, #16] ; 0x10 + 811ff2: 0709 lsl r1, r1, #28 + 811ff4: 0f09 lsr r1, r1, #28 + 811ff6: 0209 lsl r1, r1, #8 + 811ff8: 4308 orr r0, r1 + 811ffa: b00d add sp, #52 ; 0x34 + 811ffc: bd00 pop {pc} + $Convert_l1_radio_freq: 811ffe: b081 sub sp, #4 812000: 4669 mov r1, sp