*[FtdiPort232.NT.HW.AddReg]*

HKR,,ConfigData,1,

HKR,,ConfigData,1,

*11**,00,3F,3F,*

*10,27,00,00**,88,13,00,00,*

*C4,09,00,00**,E2,04,00,00,*

*71,02,00,00**,38,41,00,00,*

*9C,80,00,00**,4E,C0,00,00,*

*34,00,00,00**,1A,00,00,00,*

*0D,00,00,00**,06,40,00,00,*

*03,80,00,00**,00,00,00,00,*

*D0,80,00,00*

(

**Note**- The developer should cut and paste the above entry into FTDIPORT.INF, replacing the original one)

In this case each field consists of 4 bytes, ordered as follows: Byte0,Byte1,Byte2,Byte3. Bits 13 through 0 denote the integer divisor while bits 16, 15 and 14 denote the sub-integer divisor, as follows

16,15,14 = 000 - sub-integer divisor = 0

16,15,14 = 001 - sub-integer divisor = 0.5

16,15,14 = 010 - sub-integer divisor = 0.25

16,15,14 = 011 - sub-integer divisor = 0.125

16,15,14 = 100 - sub-integer divisor = 0.375

16,15,14 = 101 - sub-integer divisor = 0.625

16,15,14 = 110 - sub-integer divisor = 0.75

16,15,14 = 111 - sub-integer divisor = 0.875

Note that this ConfigData entry is the same as before except that each field consists of 4 bytes instead of 2 bytes. The first highlighted byte in ConfigData is the Flags byte and format of the fields is determined by Bit4 of the Flags byte. In the example above, setting Flags byte to 11 means that Bit4 is set and 4 byte fields are being used.

The divisor can be extracted for each entry in a few simple steps, as shown here for the entry 35,40,01,00

Step 1 - re-order the bytes: 35,40,01,00 => 00014035 Hex

Step 2 - extract the sub-integer divisor; 16 = 1, 15 = 0, 14 = 1 => sub-integer = 0.625

Step 3 - extract the integer divisor: 13:0 = 0035 Hex = 53 Dec

Step 4 - combine the integer and sub-integer divisors: 53.625 Dec

Step 5 - divide 3000000 by the divisor => 3000000/53.625 = 55944 baud

The following lists the standard values and their respective baud rates.

10,27,00,00 => divisor = 10000, rate = 300

88,13,00,00 => divisor = 5000, rate = 600

C4,09,00,00 => divisor = 2500, rate = 1200

E2,04,00,00 => divisor = 1250, rate = 2,400

71,02,00,00 => divisor = 625, rate = 4,800

38,41,00,00 => divisor = 312.5, rate = 9,600

9C,80,00,00 => divisor = 156, rate = 19,230

4E,C0,00,00 => divisor = 78, rate = 38,461

34,00,00,00 => divisor = 52, rate = 57,692

1A,00,00,00 => divisor = 26, rate = 115,384

0D,00,00,00 => divisor = 13, rate = 230,769

06,40,00,00 => divisor = 6.5, rate = 461,538

03,80,00,00 => divisor = 3.25, rate = 923,076

00,00,00,00 => RESERVED

D0,80,00,00 => divisor = 208.25, rate = 14406

To alias a rate of 920k baud to the standard 56k baud menu option under windows:

- change the 34,00,00,00 entry to 03,80,00,00 (simple as both of the values are available from the previous list)

To alias a rate of 197k baud to the standard 4,800 baud menu option under windows :

- find the best divisor, check that it is sufficiently accurate and then modify the appropriate INF file entry.

3000000/197,000 = 15.228. The best divisor is 15.25.

3000000/15.25 = 196,721. 196,721/197,000 = 99.8%. This is well within the required 3% tolerance.

Set bits 16:15:14 to 010 for a sub-integer divisor of 0.25, and the lower bits to 0F.

- replace the 71,02,00,00 entry with 0F,80,00,00.

Incorporating these two changes the FTDIPORT.INF entry becomes

[FtdiPort232.NT.HW.AddReg]

HKR,,ConfigData,1,

**11**,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,

**0F,80,00,00**,38,41,00,00,9C,80,00,00,4E,C0,00,00,

**03,80,00,00**,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

This is for Windows 2000 and XP and the changes should be repeated in the Windows 98/ME entry also.