Progress is still being made on the exact modifications to be made to the video bios to get perfect picture in all video modes, so in parallel I am working to finialize the flashing patch so removal of the flash chip for programming is not required.
Currently to enable Vpp 12V for programming (pin11) I need to execute a sequence of read/writes to i/o addresses FC23h, F023h, C023h, 23h, 24h, 25h. The sequence was determined from disassembly of xpatch.exe
So the initial instructions on 23h do in fact seem to be an unlock sequence, and 24h,25h appear to be index and data registers. I had this feeling as xpatch was reading the values but doing nothing with them, so I started searching for the values with “unlock”.
The above patent document basically confirms the concept of four consecutive reads, to FC23,F023,C023,23 to unlock/enter a configuration type command. So this is some progress, it is good to know these do not have any special meaning. This may be common knowledge people who work on these systems often.
So this leaves to do more investigation on the 24/25 index/data registers, and actually to understand what is this even commanding, the VLSI chip or the CPU. I am in the process removing the BGA packages from a board and tracing the wires out.
I want to understand their exact purpose of each register and not “guess”, however the datasheet for the VL82C420FC5 “SCAMP” (Single Chip At Mid Performance) is not available so I continue to read similiar datasheets for individual VLSI components to understand the methodologies and interfaces.
The attached vpatch.c does not include the flashing routines, it requires more testing. This simply updates the bios in memory which is useful for testing the XR values to get it tuned in exactly where we want and verify functionality. Unfortunately I do not believe you can enter easy setup from a warm reboot.
When the program is run it checks to make sure the bios in memory is what it expects, and then changes the required values. A reboot (ctrl-alt-del) is required for the video bios to re-run its initialization routine. I do this as I am simulating if the flash had been updated. To make this a functional temporary patch it would be possible to set the XR values in the CT65535 registers on the spot as well, or potentially re-call the initialization routine.
The changes will stay in memory until the power is reset or a hard reboot / jump to FFFF:0000 occurs.
I am using my V3 PCB for testing. I have not modified the 3D printed bezel yet so it cannot fit flat as there is not quite enough space so I have just glued it standing up for testing and cut the window as needed.
I want to be sure the DC-DC I have selected is suitable before spending more time on the mechanical aspect of fitting it. I had one fail, the output capacitor failed to a short. This burned out the 630mA fuse on the PC110 inverter board.
On the next revision of the board I will be including a fuse below 630mA to try and prevent any faults in the TFT retrofit blowing the PC110’s inverter fuse as it requires the entire unit to be taken apart to properly replace it.
I currently have the onboard PIC10 set to control a fixed 5% backlight brightness while I investigate the DC-DC’s and what an acceptable max brightness is.
Trial Run Modified Bios
Here is a test run with a bios modified and programmed outside of the PC110 to demonstrate the end goal. The screen is not properly aligned as there are still a couple registers I need to properly update.
In a perfect world, I could buy a bunch of the keyboard/mouse adapter cables and just use regular devices. It is not easy to come by though, so I contemplated making a small dongle to allow pairing of bluetooth devices.
I searched quite a bit and have been unable to find this connector from any of the manufacturers, so perhaps it was truly a custom designed connector style. I was also unable to find it used in any other products, I tried to look at other old products by Ricoh that may have used it including the Thinkpad 220, but no luck.
As an alternative it would have been nice to do the straight PCB method that can be done with USB, however the contacts are recessed on the PC110 so contact would not be made to a flat PCB. What I contemplated was to use a spring contact on a PCB, along with an MCU. This is my proof of concept, mechanically it fits and holds nicely, and the contacts line up and make some contact so I will proceed to investigating what MCU to use and produce a PCB. As a fallback I will put a footprint for a standard ps/2 DIN connector so I could at least use a standard mouse. Not pretty but it will work.
I have done some work with Bluetooth/BLE a while back on another project, but this is new to me. What I need is a chip I can use to pair a bluetooth keyboard/mouse to, and then drive the ps/2 signals. Driving the ps/2 is the easy part, pairing to a mouse/keyboard is uncharted territory for me.
This is version 1 of the prototype. I will add some section to support the metal components, because they are flexible and slightly bent they are not close to the outside, so it makes it hard to put the screws in when closed. I will add a section that forces the metal to be straight and ready to accept a screw.
This SLA of course is not dyed and no surface finishing work has been done.
The 16MB Memory module for the PC110 is not easy to come by these days. The PCB is fairly simple and the memory chips should be salvagable from other more standard memory modules of the era so I contemplated doing a small production run of them so I could have a couple and I would have some to share, or others could produce their own.
So far I have been unable to find a source for the connector aside from removing them from 4MB modules.
This is the initial design for the prototype bezel to hold the ZJ050NA-08C
There are some challenges with 3D printing due to how thin some areas are. I expect to receive an SLA print of this on this coming monday, and from there I will look at additional revisions and print another one until it is just right.
With some surface finishing I hope we can get it close to looking factory, but certainly it will be functional from a mechanical perspective.
I decided to take some comparison shots of a working display. I also contemplate how to preserve this screen long term. Although my focus is on TFT displays for practical use, I do have interest in preseving the original screen as long as possible just for sentimental reasons.