Skip to main content
typo
Source Link
Igor Skochinsky
  • 36.9k
  • 7
  • 65
  • 116

There's around 99% probability it's a 8051 derivative. I don't know a single Chinese USB controller which does not use one. Although I haven't seemseen them all, of course.

There's around 99% probability it's a 8051 derivative. I don't know a single Chinese USB controller which does not use one. Although I haven't seem them all, of course.

There's around 99% probability it's a 8051 derivative. I don't know a single Chinese USB controller which does not use one. Although I haven't seen them all, of course.

Source Link
Igor Skochinsky
  • 36.9k
  • 7
  • 65
  • 116

I will answer not what you asked in the title but what you actually need.

There's around 99% probability it's a 8051 derivative. I don't know a single Chinese USB controller which does not use one. Although I haven't seem them all, of course.

I downloaded a random MPTOOL for this controller from flashboot.ru and it had some binaries. They do look like 8051 code:

ROM:1B24             RESET_0:                                ; CODE XREF: RESETj
ROM:1B24 75 81 7E                    mov     SP, #RAM_7E     ; Stack Pointer
ROM:1B27 02 1B 65                    ljmp    ROM_1B65
ROM:1B2A             ; ---------------------------------------------------------------------------
ROM:1B2A
ROM:1B2A             ROM_1B2A:                               ; CODE XREF: RESET_0+48j
ROM:1B2A 02 1D 20                    ljmp    ROM_1D20
ROM:1B2D             ; ---------------------------------------------------------------------------
ROM:1B2D
ROM:1B2D             ROM_1B2D:                               ; CODE XREF: RESET_0+5Fj
ROM:1B2D E4                          clr     A
ROM:1B2E 93                          movc    A, @A+DPTR
ROM:1B2F A3                          inc     DPTR
ROM:1B30 F8                          mov     R0, A
ROM:1B31
ROM:1B31             ROM_1B31:                               ; CODE XREF: RESET_0+17j
ROM:1B31 E4                          clr     A
ROM:1B32 93                          movc    A, @A+DPTR
ROM:1B33 A3                          inc     DPTR
ROM:1B34 40 03                       jc      ROM_1B39
ROM:1B36 F6                          mov     @R0, A
ROM:1B37 80 01                       sjmp    ROM_1B3A

(this is a typical startup produced by the Keil C51 compiler)

Some common opcodes seen in 8051 binaries:

02 xx xx   ljmp (absolute)
12 xx xx   lcall (absolute)
22         ret
E4         clr A
90 xx xx   mov DPTR, xxxx
A3         inc DPTR