The AMT640A is a relative common video controller chip found in cheap mini TFT screens with composite input.
Those screens are often sold as "car rear view monitor" (or by similar names), although they are essentially fully-fledged portable TVs (minus tuner/speaker, and without advanced inputs like S-video or RGB).
The chip contains a 8031/8051 microprocessor, with firmware stored on an external SPI-bus FLASH memory chip.

Theoretically, it could be used as miniture monitor for gaming consoles. Unfortunately, it's working rather disappointing in practice:

  • Display is having some vertical-interlace-style flickering (even on non-interlaced pictures).
  • With 320x240 pix screen, resampling is smeared, possibly a bit uglier than required...
  • For NTSC, one could theoretically leave blank lines (with black borders)
  • For PAL, one could theoretically crop lines (eg. on homecomputers with 200 lines)
  • PAL60 produces wrong colors.
  • PAL60 forgets to update some scanlines (and draws wrong/older lines).
  • Backlight is at max brightness and cannot be changed.
  • Reportedly, signals from C64 aren't recognized (not tested myself yet).
  • Some of that issues might be firmware related. So I've spent 2-3 weeks on disassembling it: AMT630A firmware disassembly (for 3.5" screen with 4:3 ratio). The disassembly is working as source code and can be re-assembled via no$x51. All code addresses are represented by lablels, so inserting custom stuff in code memory should work (whilst RAM/XRAM addresses are still hardcode, so better don't insert new stuff there; there are unused locations that could be used though).

    I would be also interested in dumps from other firmware versions...

  • firmware for screens other than 320x240 pixels
  • firmware for 16:9 wide screens
  • firmware with infrared IR input support
  • firmware with volume control support
  • AMT630 firmware (to see if it's similar/compatible to AMT630A)
  • other older/newer firmware revisions
  • etc.

  • That stuff would help on finding which I/O ports have which functions (eg. for changing the screen resolution/resampling).

    More notes on the hardware's component list and on SPI FLASH dumping are at the bottom of the disassembly. The AMT630A spec sheet doesn't contain any info about I/O ports, but the disassembly should explain the coarse functionality of the ADC, PWM, OSD registers, as well as SPI busses for FLASH (and LCD). For the composite to LCD video conversion, there are a lot of fixed initialization values - which, one could try to change them & see what happens...