I own a device that has faulty 256 x 64 dot matrix display (flat cable damage + some bug infestation). After a disassembly I discovered that display is connected via 20-pin connect (soldered pins).
I connected the logic analyzer and got the signals from 12 pins. Every four seconds signal from picture 1 is appearing with the new data. Highest frequency is 200 kHz. When I touch sensors pin I am able to switch the menu to get more and different data. Every touch create communication from picture 1. No more, no less. Only different data.
Picture - zoom level 2 - beginning of the signal: 
- Signals on 1,2,3,4,8,9,10,11 look like data (8-bit)
Could you point me to some reading material or video that shows professional approaches to reverse engineering where signal is present but LCD is faulty and there is no info about the COG drivers.
Could you recommend any display controller simulator (that uses popular communication protocols with matrix LCD/TFT displays) that could run on the computer? I would like to test the data and pixel output before soldering the real replacement device... (For this case I figured out that the easiest solution is to write the D0-D8 directly as a matrix of characters with any programming language - e.g. python)
I've used DSView with DS Logic Analyzer. I posted the data from this measuring to the github (can be opened with DSView tool):
Additional information
- Display manufacturer: Truly
- Model: mgg2257b2-e
- Display driver NOT present at PCB (has two COG present)
- MCU: Motorola's MC9S08GB60A
Update
After a bit of investigation I discovered that this is a LCD direct drive (MCU command to COG driver/controller - not to think that MCU drives multiplexing).
Two drivers are COG type and those are directly connected to MCU (HCS08) via 13 pins (I traced the connector pins via resistors to cogs) of which 12 are having updated signals. COGs are also sharing 11 pins. This device is at least 10 years old and it seems that manufacturer has selected the cheapest way at that time to create a GUI (without controllers).
I would definitely like to learn more about this approach so maybe this question could be useful for others as well.
Idea is to get the info about the COG. Not sure could this be custom made COG.
Update 2:
I assembled fragments from D0-7 data. However, sometimes through the communication sequences only partial data is being sent or this could be due to bad captured data with the decoder I created for Sigrok decoder lib - need to double-check. I assumed that it is sometimes full display refresh, sometimes parts of it, not certain.. Now I will try to detect commands from other lines in combination with data lines. Maybe I will be able to discover the chip by commands that are sent (addresses, etc).
This communication is sending data right away after CS1 or CS2 is enabled and an short burst on PIN 7 (15 us later from 835 us of enabled state). Bit time is 6 us. 835/6 = ~139. 4 times this for CS1 and 4 for CS2. Let's say it is 128 columns x 8bits x 4 "pages" per chip. 256x64 could be confirmed.
CS1 gives one page 128x8, then CS2 gives another 128x8. This repeats 4 times.
Another useful info: bits big-endian and whole image is mirrored.
So, the question would be that from the title.
I would like either to replace it with another display of same kind or to replace it with any 256x64 and put the translator MCU in between (would write the code to convert this parallel to SPI/I2C one.





