I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

The place for all discussion on gaming hardware
Post Reply
charlysan
Posts: 6
Joined: Mon Jul 29, 2024 8:09 pm

I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by charlysan »

I have been experimenting with a Panasonic CRT and managed to interact with the jungle IC (Micronas VCT 49xyI) via I2C bus. I created a tool that can be used from a Raspberry Pi that can read/write to external EEPROM, as well as read/write to Micronas registers sub-processors (e.g. VSP). I have added all the details to the following wiki, including a use case where I reconfigure the component video inputs as RGB via i2c using both, the tool mentioned above, and a ESP8266 microcontroller. It is still experimental, but it could lead to more complex interactions with VCT controllers.

https://github.com/charlysan/crt_stuff/ ... asonic-CRT

https://github.com/charlysan/vctpi

https://www.youtube.com/watch?v=MyOoH88Wee0

I haven't had the time to upload the schematics for the MOD shown in the video, but I will do it soon. Anyway, it is very straightforward. I'm just powering from 3.3v and connecting D1, D2 and GND to service port.
SuperSpongo
Posts: 348
Joined: Sat Mar 17, 2018 2:49 pm
Location: Germany

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by SuperSpongo »

This ist some cool stuff!
Do you have any documentation for the Micronas Chip or did you have to reverse engineer the protocol?

In Germany we have a couple of TVs that use a Micronas Chipset, the SDA9380. Some of those 100Hz sets support VGA input, some don't. Some use two RGB inputs of the Micronas, some only one. There's a Loewe model in the US with that chip that supports 1080i resolutions, while our equivalent model only supports 480p (or "VGA").

I always thought it would be cool to inpect the I2C configuration and maybe be able to repurpose those largely useless 100Hz TVs as VGA monitors.
charlysan
Posts: 6
Joined: Mon Jul 29, 2024 8:09 pm

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by charlysan »

SuperSpongo wrote: Tue Aug 06, 2024 2:12 pm This ist some cool stuff!
Do you have any documentation for the Micronas Chip or did you have to reverse engineer the protocol?

In Germany we have a couple of TVs that use a Micronas Chipset, the SDA9380. Some of those 100Hz sets support VGA input, some don't. Some use two RGB inputs of the Micronas, some only one. There's a Loewe model in the US with that chip that supports 1080i resolutions, while our equivalent model only supports 480p (or "VGA").

I always thought it would be cool to inpect the I2C configuration and maybe be able to repurpose those largely useless 100Hz TVs as VGA monitors.
Yes. You should be able to find the datasheet on the web. Try searching for "VCT490y". All the controllers and registers are described in detail, as well as I2C communication.
TKez
Posts: 7
Joined: Tue Jul 02, 2024 2:28 am

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by TKez »

Amazing work!

It just so happens I have that same chip, a header for I2C pins on my PCB.
Plenty of NodeMCU's floating around.

What would be awesome is MisterFPGA TCP->NodeMCU->I2C->VCT to set the geometry perfectly for each core.

Raw hardware registers might be one step too far into too-hard land though.

Do you have any plans to expand this any further, perhaps with human readable functions?
charlysan
Posts: 6
Joined: Mon Jul 29, 2024 8:09 pm

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by charlysan »

TKez wrote: Thu Aug 15, 2024 10:40 pm Amazing work!

It just so happens I have that same chip, a header for I2C pins on my PCB.
Plenty of NodeMCU's floating around.

What would be awesome is MisterFPGA TCP->NodeMCU->I2C->VCT to set the geometry perfectly for each core.

Raw hardware registers might be one step too far into too-hard land though.

Do you have any plans to expand this any further, perhaps with human readable functions?
Yes. The idea of vctpi is to expose vct with a library that can be used by any kind of frontends. For the moment, the only one that exists is the cli tool I created, but in the future we could add some UI on top of that.
charlysan
Posts: 6
Joined: Mon Jul 29, 2024 8:09 pm

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by charlysan »

charlysan wrote: Thu Aug 15, 2024 11:12 pm
TKez wrote: Thu Aug 15, 2024 10:40 pm Amazing work!

It just so happens I have that same chip, a header for I2C pins on my PCB.
Plenty of NodeMCU's floating around.

What would be awesome is MisterFPGA TCP->NodeMCU->I2C->VCT to set the geometry perfectly for each core.

Raw hardware registers might be one step too far into too-hard land though.

Do you have any plans to expand this any further, perhaps with human readable functions?
Yes. The idea of vctpi is to expose vct with a library that can be used by any kind of frontends. For the moment, the only one that exists is the cli tool I created, but in the future we could add some UI on top of that.
For misterFPGA I guess it should be possible to implement something as part of the core. You just need two ports.
TKez
Posts: 7
Joined: Tue Jul 02, 2024 2:28 am

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by TKez »

Thats great news!

Well at the moment I'm using the PixelCade lcd marquee with my mister.
There's just a small process running in the background on the mister.
When you select a core, it just sends a message over the LAN to a Pi running the graphics for the display to tell it to update.
charlysan
Posts: 6
Joined: Mon Jul 29, 2024 8:09 pm

Re: I2C Sniffing And Data Injection In CRT Video Controller + Open Source VCT Tool

Post by charlysan »

TKez wrote: Fri Aug 16, 2024 3:43 am Thats great news!

Well at the moment I'm using the PixelCade lcd marquee with my mister.
There's just a small process running in the background on the mister.
When you select a core, it just sends a message over the LAN to a Pi running the graphics for the display to tell it to update.
I see. It might make sense then to talk to NodeMcu via WiFi.
Post Reply