Hacking Help decompiling/compiling usable firmware for Drive Doctor

SylverReZ

The planet is fine. The people are crazy.
OP
Member
GBAtemp Patron
Joined
Sep 13, 2022
Messages
7,222
Trophies
3
Location
The Wired
Website
m4x1mumrez87.neocities.org
XP
22,122
Country
United Kingdom
I was wondering if there was a way to compile and decompile ARM7 firmware for the Datel Drive Doctor since Datel doesn't supply any instructions or SDK for hobbyists. All you need to know is that the Drive Doctor uses a LPC2142FBD64 MCU consisting of an ARM7TDMI-S core.

Here is the datasheet to the MCU in question: https://www.nxp.com/docs/en/data-sheet/LPC2141_42_44_46_48.pdf

@FAST6191 will have a clue.
 
Last edited by SylverReZ,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
While it mentions the ARM7 (same as the GBA) then it also notes a microcontroller which is a whole other kettle of fish as that allows far more subtle things leaving the ARM7 as bulk data processing (microcontrollers, especially of that vintage, not being noted for that). Or if you are more familiar with either the N64, shaders in some regards or very low level modern X86 then microcode is the term of choice.

Personally I would consider going the other way and making a modern take on the concept (modern USB allowing for far more than best case USB 2.0 is ever going to get you), assuming you don't just go in for an emulator and copy of IDA or ghidra or radare2 or something, or hope a gecko can do things for you.

I would start by figuring out a block diagram as that will help things. An install diagram figuring out what the points it installs to are would help in this as well. At a guess then it will be either a memory dumper/injector or something sitting on the debug bus (JTAG if it has some being a good candidate) as that would also allow you to float things into the CPU registers and maybe read things that other things struggle to get (though it could also be if you have memory you can stick a bit of code high up in the memory and force a jump by overwriting other code). What it does on the Wii side of things might also be useful to know (should be easy enough to do a boot2, IOS and menu dump to see what, if anything, it changes to maybe allow a bit more access).
You will also want to figure out how it handles memory internally for itself, a thing complicated by said microcontroller if they decide to have it operate somewhat independently of each other or indeed the wii memory as well -- much like emulators have the emulated system inside the greater memory then there are perks to replicating that here).

Compile and decompile also have specific meanings. It is not impossible that you end up playing in such worlds but more likely you are going to want to play assembly for a while before you broach that aspect, if nothing else to figure out some of the mapping.
 
  • Like
Reactions: SylverReZ

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Psionic Roshambo, DO THE METH!!!