C&T 65535 Video Bios

Windows 95 / xpatch.exe

There are at least two versions of the video bios, the one captured here I believe is the patched one, I will update this note with details on what was changed, but as it is described there was an issue using 256 Colors in Windows 95 when you had a 16MB memory upgrade module installed. A patch was released that updated the bios to address this issue.

This site has some additional commentary on the issue: http://apj.co.uk/pc110/pt_qa.htm

This is the patch:

It includes a disk image which you must write to a floppy and boot the system from, and then run xpatch.exe

Vpatch

You can modify these in the shadow memory and then soft reboot to see the results. I will have a more final program later and update this page, but currently you can try this out with:

You can compile and run vpatch2.exe. The first thing the program does is do a simple checksum of the videobios, and it will only apply changes if it matches value in the first line of config.txt. So, if you run vpatch2.exe on your freshly cold booted PC110 and get a checksum error, update config.txt with the displayed value. This is safe for the shadow ram version as the changes are reset on hard reset so no harm can be done.

Reverse Engineering

This is my analysis of the video bios extracted from the PC110 flash chip at 20000h. On the booted system this is of course copied to C000:0000

I have only identified the locations of interest for supporting the TFT display modifications. The page numbers in my table do not have a significant meaning. They are based on the page numbers within the 65535 BMP Editor, which does not recognize the BIOS on the PC110.

In the following data, I show the pages as seen in the C&T 65535 Bios Modification Program for a bios I pulled from a different C&T 65535 powered industrial card.

The values in the tables are as seen on a PC110 that has been patched with xpatch.exe

The start address is the address of the XR register, to find the address for the associated value just add 1.

Table of contents

Page#NameStartLength
1Message Options
2BIOS Features
3BIOS Features
4Extended Modes (1MB Memory)
5CRT 132x25x16 (Mode 60)
6CRT 132x50x16 (Mode 61)
7CRT 800x600x16 (Mode 6A/70)
8CRT 1024x768x16 Non Interlace (Mode 72/75)
9CRT 1024x768x16 Interlace (Mode 72I/75I)
10CRT 640×480 (Mode 20,30,79)
11CRT 800×600 (Mode 22,32,7C)
12CRT 1024×768 (Mode 24,34,7E)
13CRT 1024×768 (Mode 24I, 34I, 7EI)
14CRT 640×380 (Mode 40,41)
15CRT, Flat Panel & Simultaneous BootA3382
16CRTA8F10
17Flat Panel and SimultaneousA992
18Flat Panel and Simultaneous
19Panel Control ParametersA9B36
21Simultaneous video parametersABF38
20Flat Panel parametersAE538

Page 1 – Display Options

Page 2 – BIOS Feature

Page 3 – BIOS Features

Page 4 – Extended Modes (1MB Memory)

Page 5 – CRT 132x25x16 (Mode 60)

Page 6 – CRT 132x50x16 (Mode 61)

Page 7 – CRT 800x600x16 (Mode 6A/70)

Page 8 – CRT 1024x768x16 Non Interlace (Mode 72/75)

Page 9 – CRT 1024x768x16 Interlace (72I/75I)

Page 10 – CRT 640×480 (Mode 20,30,79)

Page 11 – CRT 800×600 (Mode 22,32,7C)

Page 12 – CRT 1024×768 (Mode 24,34,7E)

Page 13 – CRT 1024×768 (Mode 24I, 34I, 7EI)

Page 14 – CRT 640×480 (Mode 40,41)

Page 15 – CRT, Flat Panel & Simultaneous Boot

A330201
A3504A1
A370500
A390B00
A3B0800
A3D0C00
A3F0D00
A410E80
A431000
A451100
A475163
A491400
A4B1500
A4D1600
A4F1700
A511F00
A532412
A552559
A572600
A592880
A5B294C
A5D2B00
A5F3360
A613003
A633158
A65323F
A673340
A693003
A6B314E
A6D3259
A6F0000
A714400
A734500
A754F04
A775800
A795984
A7B5A00
A7D5C02
A7F5F00
A816088
A83612E
A856207
A876301
A897000
A8B7224
A8D0000

Page 16 – CRT

LocationXR RegisterXR Value
A8F5242
A915300
A936F00
A950000
A970000

Page 17 – Flat Panal and Simultaneous

LocationXR RegisterXR Value
A995244

Page 18 – Flat Panel and Simultaneous

This is a menu of options, I have not identified their locations yet, and currently they are not needed.

Page 19 – Panel Control Parameters

LocationXR RegisterXR Value
A9B06C2
A9D0F10
A9F4F04
AA15015
AA35163
AA5543A
AA755E5
AA95600
AAB571B
AAD5B8F
AAF5D10
AB15E80
AB36C18
AB56EDA
AB76F1B
AB90000
ABB0000
ABD0000

Page 21 – Simultaneous video

LocationXR RegisterXR Value
ABF1955
AC11A00
AC31B5E
AC51C4F
AC72C15
AC92D50
ACB2E50
ACD2F00
ACF531C
AD15015
AD364FF
AD56507
AD766EA
AD9670C
ADB68DF
ADD6F1B
ADF0000
AE10000
AE30000

Page 20 – Flat Panel

LocationXR RegisterXR Value
AE51957
AE71A19
AE91B59
AEB1C4F
AED2C04
AEF2D50
AF12E50
AF32F00
AF55015
AF7531C
AF964E4
AFB6507
AFD66E0
AFF6701
B0168DF
B036F1B
B050000
B070000
B090000