TODO: Pointer placement mode

This forum is for Ford specific instrument panels like Convers+
Post Reply
User avatar
Ursadon
Posts: 52
Joined: 10 Mar 2019, 19:23

TODO: Pointer placement mode

Post by Ursadon » 21 Jul 2019, 06:27

There is interesting function at 0x304C8 - pointer placement. Resets stepping motors to real zero, so you can place rpm and speed arrows, if you previously removed them
pplace.jpg

Also boot loader mode at 0x396C6
screenshot.png
screenshot.png (3.92 KiB) Viewed 88 times

I calling this functions by changing PC register value, but somewhere there should be a function to call it. Maybe need to press down bttn, pull-up PortE.Pin5 and perform IPC reset via tRST pin. Need to investigate later :roll:

Code: Select all

void probably_enter_debug_mode()
{
  int v0; // r0

  watchdog_configuration_2();                   // 0xFC040000
  if ( Port_E_pin_4_state() )
  {
    sub_20034();
    if ( sub_2006C(9) - 180 <= 75 )             // press btn
    {
      sub_31B32();                              // Port E - pin 5
      if ( v0 )
      {
        sub_304C8();
        watchdog_configuration(94);
      }
      else
      {
        probably_debug_routine_v2();
        watchdog_configuration(93);
      }
    }
  }
  JUMPOUT(&loc_140A8);

Go4IT
Posts: 236
Joined: 08 Feb 2019, 12:25

Re: TODO: Pointer placement mode

Post by Go4IT » 21 Jul 2019, 12:16

Yeah! :o Great internal debug function you fou d and very usefull also. Did you change PC by JTAG?

Go4IT
Posts: 236
Joined: 08 Feb 2019, 12:25

Re: TODO: Pointer placement mode

Post by Go4IT » 23 Jul 2019, 21:16

What tool gave you the C code from Disassembler? Is IDA able to do this?

User avatar
Ursadon
Posts: 52
Joined: 10 Mar 2019, 19:23

Re: TODO: Pointer placement mode

Post by Ursadon » 24 Jul 2019, 02:14

Go4IT wrote:
23 Jul 2019, 21:16
What tool gave you the C code from Disassembler? Is IDA able to do this?
Yes, 32bit IDA with ARM decompiler. Just press F5 to get code

Post Reply