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:

  • (fixed) original firmware has Backlight is at max brightness and cannot be changed.
  • (fixed) original firmware doesn't recognite C64 video signals.
  • (fixed) original firmware is having GUI annoying timeouts.
  • (fixed) original firmware doesn't support proper power-saving in standby mode.
  • (more or less fixed) PAL60 produces wrong colors.
  • (more or less fixed) PAL60 forgets to update some scanlines (and draws wrong/older lines).
  • 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)
  • Display seems to have some vertical-interlace-style flickering (even on non-interlaced pictures) (not sure if that's caused by the display or by scanline resampling).

    Most of that issues are firmware related, so I've spent 2-3 weeks on disassembling it, and a bunch of more weeks on making my own firmware:
    new custom AMT630A firmware (109Kbytes) (includes several improvements, some hardware diagnostics tool, and magic floor game)
    original AMT630A firmware disassembly (256Kbytes) (includes a mess of HLL coded stuff)
    The source code (and also the disassembly) can be re-assembled via no$x51. Rev-engineered AMT630A hardware specs can be also found on the no$x51 page.

    Currently supported display types:

  • Tianma 3.5" 320x240 (4:3) (tested/working)
  • Noname 3.5" 320x240 (4:3) (not tested, but should work)
  • Innolux 4.3" 480x272 (16:9) (not tested, but should work)
  • Innolux 5.0" 480x272 (16:9) (not tested, but should work)
  • I would be also interested in dumps from other firmware versions...

  • firmware for screens with other resolutions
  • firmware with RC-5 infrared IR input support or I2C 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).

    AMT630A 3.5inch TFT side AMT630A 3.5inch TFT original AMT630A 3.5inch TFT rear
    Photos showing the original 3.5inch display comes in black/silver case with dangling cables, and rather unfortunate 16:9 form factor despite of the nice small 4:3 display, and my own case with true 4:3 form factor & rear connectors.

    AMT630A thread in nesdev forum (english)
    AMT630A thread in forum64 (german)