GlobalDeffuncPrm.hsp [パラメータ定義命令]

;*******************************************************************************
; SetFSB Prameter Global Space Definition Function  [2007.09.23]
;  Programmed in HSP Ver3.1 ONION software (http://hsp.tv/)
;   Copyright (C) 2007 by abo, all rights reserved.
;*******************************************************************************
;/Clock Generator Number
#enum   global nICS9248EF_199=0     ;2.0b8t - 04/01/2007
#enum   global nICS94225AF          ;2.0b8 - 02/27/2007
#enum   global nICS94228BF          ;2.0b8f - 03/05/2007
#enum   global nICS950405AF         ;2.0b8g - 03/06/2007
#enum   global nICS950703BF         ;2.0b6 - 02/15/2007
#enum   global nICS950812BG         ;2.0b8y - 04/10/2007
#enum   global nICS951403CF         ;2.0b8y - 04/08/2007
#enum   global nICS951461BGLF       ;2.0b5 - 02/09/2007
#enum   global nICS952001AF         ;2.0b8r - 03/30/2007
#enum   global nICS952607EF         ;2.0b1 - 11/08/2006
#enum   global nICS952623CG         ;2.0b15e - 05/30/2007
#enum   global nICS953002DFLF       ;2.0b8l - wait
#enum   global nICS954108CFLF       ;2.0b6 - 02/15/2007
#enum   global nICS954123CGLF       ;2.0b7g - 02/18/2007
#enum   global nICS954141CFLF       ;2.0b2 - 11/12/2006
#enum   global nICS954227CGLF       ;2.0b9g - 04/29/2007
#enum   global nICS9LPR501HGLF      ;2.0b8i -03/17/2007
#enum   global nICS9LPRS509HGLF     ;2.0b8j - 05/02/2007
#enum   global nICS9LPRS511EGLF     ;2.0b4 - 02/05/2006
#enum   global nICS9LPRS587AGLF     ;2.0b1 - 11/08/2006
#enum   global nICS9LPRS906CGLF     ;2.0b15c - 
#enum   global nICS9LPRS916BGLF     ;2.0b11 - 
#enum   global nICS9LPRS918BKL      ;2.0b12 - 
#enum   global nICS9LPRS919BKL      ;2.0.b.15w - 09/19/2007
#enum   global nCV122CPVG           ;2.0b6 - 2.0b7b 02/16/2007
#enum   global nCV174CPAG           ;2.0b8 - 2.0b8f 03/05/2007
#enum   global nCY28551LFXC         ;2.0b3 - 11/19/2006
#enum   global nRTM520_39D          ;2.0b8m - 03/23/2007
#enum   global nRTM866_485          ;2.0.b.15o - 08/28/2007
#enum   global nRTM876_660          ;2.0b3 - 02/18/2007
#enum   global nSLG505YC56DT        ;2.0b5 - 02/09/2007
#enum   global nPLLDIAGNOSIS        ;2.0b5 - 02/09/2007 - 12/max50 - 

#enum   global nICS9LPRS552AGLF     ;ASUS P5B non-deluxe NG
#enum   global nICS952803AF         ;2.0.b.15 - 05/14/2007
#enum   global nRTM362_210          ;2.0.b.15h - 07/19/2007
#enum   global nW83115RG_BW         ;2.0.b.15 - 05/14/2007
#enum   global nW83194BR_SD         ;2.0b15l - 
#enum   global nW83195BG_101        ;2.0b10 - 

;#enum  global nCY505YC56DT         ;Dell optiplex 745 NG
;#enum  global nICS954310BGLF       ;ACER Aspire 3682 NG
;#enum  global nSLG8LP462BF         ;HP Compaq nx7400 notebook NG
;#enum  global nICS954105BF         ;HP xw4400 Workstation NG

;/Clock Generator VenderId,ByteCount Register Number
;ICS952607EF
#define global nICS_VENDERID_IIC        7   ;VenderId IIC Register
#define global nICS_VENDERID_VAL        1   ;VenderId
#define global nICS_BYTECOUNT_IIC       8   ;ByteCount IIC Register
;CY28551LFXC
#define global nCYPRESS_VENDERID_IIC    7   ;VenderId IIC Register
#define global nCYPRESS_VENDERID_VAL    8   ;VenderId

;SLG505YC56DT
#define global nSILEGO_VENDERID_IIC     7   ;VenderId IIC Register
#define global nSILEGO_VENDERID_VAL     6   ;VenderId

;CV122CPVG
#define global nIDT_VENDERID_IIC        7   ;VenderId IIC Register
#define global nIDT_VENDERID_VAL        5   ;VenderId

;REALTEK
#define global nREALTEK_VENDERID_IIC    7   ;VenderId IIC Register
#define global nREALTEK_VENDERID_VAL    14  ;VenderId

;WINBOND
#define global nWINBOND_VENDERID_IIC    7   ;VenderId IIC Register
#define global nWINBOND_VENDERID_VAL    4   ;VenderId

#define global nPLL_STRLEN              16  ;
#define global nPLL_INTLEN              128 ;

;/Test CR Number
#define global nTCR_INTLEN          0x40    ;
#enum   global nTCR_HOSTBRIDGE  =   0x30    ;
#enum   global nTCR_LPCIFBRIDGE             ;
#enum   global nTCR_SMBUSCTL                ;
#enum   global nTCR_GMCHC                   ;
#enum   global nTCR_SMBADR                  ;
#enum   global nTCR_MCHC                    ;
#enum   global nTCR_DRAMCCS                 ;
#enum   global nTCR_HOSTC                   ;
#enum   global nTCR_HPLLCC                  ;

;/Clock Generator Parameter Number
#define global nPLLMODEL            0       ;PLL model name
#enum   global nVENDERID        =   4       ;Vendor ID Register
#enum   global nBYTECOUNT                   ;Byte Count Register
#enum   global nFSSOURCE                    ;Frequency H/W IIC Select Register
#enum   global nFSIIC                       ;IIC Frequency Selection Table Register
#enum   global nFSHW                        ;H/W Frequency Selection Table Register
#enum   global nCPURATIO                    ;CPU Ratio Register
#enum   global nAGPRATIO                    ;AGP Ratio Register
#enum   global nPCIRATIO                    ;PCI Ratio Register
#enum   global nMNPROGEN                    ;M/N Programming Enable Register
#enum   global nDIVMA                       ;M Divider VCO Frequency Control Register
#enum   global nDIVNALO                     ;N Divider VCO Frequency Control Register
#enum   global nDIVNAHI                     ;N Divider VCO Frequency Control Register
#enum   global nDIVMB                       ;M Divider VCO Frequency Control Register
#enum   global nDIVNBLO                     ;N Divider VCO Frequency Control Register
#enum   global nDIVNBHI                     ;N Divider VCO Frequency Control Register
#enum   global nAGPFSLO                     ;AGP Frequency Selection Table Register
#enum   global nPCIFSLO                     ;PCI Frequency Selection Table Register
#enum   global nAGPPCIFSHI                  ;AGP/PCI Frequency Selection Table Register
#enum   global nFIXBIT                      ;Set Bit Register
#enum   global nFIXFS                       ;Fix PCI Frequency Selection Table Register
#enum   global nPLLBRATIO                   ;PLLB Ratio Register
#enum   global nFSBTRBOFS                   ;FSB trackbar control offset
#enum   global nPLLBGEAR                    ;PllB Gear
#enum   global nREFMAXMIN                   ;M Divider Reference MAX/MIN
#define global nFIXFREQTBL          28      ;PCI Fix Frequency Table

#const  global nRAMRATIO    nPLLBRATIO      ;RAM Ratio Register
#const  global nPCITRBOFS   nPLLBGEAR       ;PCI trackbar control offset

#const  global nFSBTRBMAX   nFIXFREQTBL     ;FSB trackbar control Max
#const  global nFSBTRBMIN   nFIXFREQTBL+1   ;FSB trackbar control Min
#const  global nPCITRBMAX   nFIXFREQTBL+2   ;PCI trackbar control Max
#const  global nPCITRBMIN   nFIXFREQTBL+3   ;PCI trackbar control Min

#define global nCPUDIVTBL   32              ;CPU Divider Table
#const  global nAGPDIVTBL   nCPUDIVTBL      ;AGP Divider Table
#const  global nPCIDIVTBL   nCPUDIVTBL      ;PCI Divider Table
#const  global nAGPSELTBL   nCPUDIVTBL      ;AGP Selection Table
#const  global nPCISELTBL   nCPUDIVTBL+8    ;PCI Selection Table

#define global nFSBREFNTBL  48              ;FSB Reference Normal Table
#const  global nFSBREFUTBL  nFSBREFNTBL     ;FSB Reference Ultra Table
#const  global nPLLBREFTBL  nFSBREFNTBL     ;PLLB Reference Table
#const  global nPLLBDIVTBL  nFSBREFNTBL     ;PLLB Divider Table

#define global nCPUFREQTBL  64              ;CPU Frequency Table
#const  global nAGPFREQTBL  nCPUFREQTBL     ;AGP Frequency Table
#const  global nPCIFREQTBL  nCPUFREQTBL+32  ;PCI Frequency Table
#const  global nFSBGEARTBL  nCPUFREQTBL+32  ;FSB Gear Table
#const  global nDDRFREQTBL  nCPUFREQTBL+32  ;DDR Frequency Table

; ------------------------------------------------------------------------------
; Clock Generator Definition Instruction/Function
; ------------------------------------------------------------------------------
; VenderId
#define global iVenderId_IIc        LOBYTE(iPrmVenderID)
#define global iVenderId_Unmask     HIBYTE(iPrmVenderID)
#define global iPLL_VenderID        LOBYTE(HIWORD(iPrmVenderID))
#define global iPLL_Type            HIBYTE(HIWORD(iPrmVenderID))

#defcfunc CR_VenderID
    return (aCR(iVenderId_IIc)&iVenderId_Unmask)

; ByteCount
#define global iByteCount_IIc       LOBYTE(iPrmByteCount)
#define global iReadByte_Min        HISBYTE(iPrmByteCount)
#define global iPLL_WriteByte       LOSBYTE(HIWORD(iPrmByteCount))
#define global iPLL_ReadByte        HISBYTE(HIWORD(iPrmByteCount))

#define global iCrByteCount     aCR(iByteCount_IIc)

; FsSource
#define global iFsSource_IIc        LOBYTE(iPrmFsSource)
#define global iFsSource_Unmask     HIBYTE(iPrmFsSource)
#define global iFsSource_Exor       LOBYTE(HIWORD(iPrmFsSource))
#define global fGearUnitK           HIBYTE(HIWORD(iPrmFsSource))

#defcfunc CR_FsSource
    return (aCR(iFsSource_IIc)&iFsSource_Unmask^iFsSource_Exor)

; FsIIc
#define global iFsIIc_IIc           LOBYTE(iPrmFsIIc)
#define global iFsIIc_Unmask        HIBYTE(iPrmFsIIc)
#define global iFsIIc_Exor          LOBYTE(HIWORD(iPrmFsIIc))
#define global iFsIIc_Right         HIBYTE(HIWORD(iPrmFsIIc))

#defcfunc CR_FsIIc
    return CND(iFsIIc_Unmask=0xF4,(((aCR(iFsIIc_IIc)&0xF0)>>4|(aCR(iFsIIc_IIc)&4)<<2)^iFsIIc_Exor)>>iFsIIc_Right,(aCR(iFsIIc_IIc)&iFsIIc_Unmask^iFsIIc_Exor)>>iFsIIc_Right)

; FsHw
#define global iFsHw_IIc            LOBYTE(iPrmFsHw)
#define global iFsHw_Unmask         HIBYTE(iPrmFsHw)
#define global iFsHw_Exor           LOBYTE(HIWORD(iPrmFsHw))
#define global iFsHw_Right          HIBYTE(HIWORD(iPrmFsHw))

#defcfunc CR_FsHw
    return ((aCR(iFsHw_IIc)&iFsHw_Unmask^iFsHw_Exor)>>iFsHw_Right)

; CpuRatio
#define global iCpuRatio_IIc        LOBYTE(iPrmCpuRatio)
#define global iCpuRatio_Unmask     HIBYTE(iPrmCpuRatio)
#define global iCpuRatio_Right      LOBYTE(HIWORD(iPrmCpuRatio))
#define global iSetFix              HISBYTE(HIWORD(iPrmCpuRatio))

#defcfunc CR_CpuRatio
    return CND(iCpuRatio_Right=0xFF,CND(CR_FsSource(),CR_FsIIc(),CR_FsHw())&iCpuRatio_Unmask,(aCR(iCpuRatio_IIc)&iCpuRatio_Unmask)>>iCpuRatio_Right)

; AgpRatio
#define global iAgpRatio_IIc        LOBYTE(iPrmAgpRatio)
#define global iAgpRatio_Unmask     HIBYTE(iPrmAgpRatio)
#define global iAgpRatio_Right      LOBYTE(HIWORD(iPrmAgpRatio))
#define global fPllAgp              HIBYTE(HIWORD(iPrmAgpRatio))

#defcfunc CR_AgpRatio
    return CND(iAgpRatio_Right=0xFF,CND(CR_FsSource(),CR_FsIIc(),CR_FsHw())&iAgpRatio_Unmask,(aCR(iAgpRatio_IIc)&iAgpRatio_Unmask)>>iAgpRatio_Right)

; PciRatio
#define global iPciRatio_IIc        LOBYTE(iPrmPciRatio)
#define global iPciRatio_Unmask     HIBYTE(iPrmPciRatio)
#define global iPciRatio_Right      LOBYTE(HIWORD(iPrmPciRatio))
#define global iSetAgp              HISBYTE(HIWORD(iPrmPciRatio))

#defcfunc CR_PciRatio
    return CND(iPciRatio_Right=0xFF,CND(CR_FsSource(),CR_FsIIc(),CR_FsHw())&iPciRatio_Unmask,(aCR(iPciRatio_IIc)&iPciRatio_Unmask)>>iPciRatio_Right)

; MnProgEn
#define global iMnProgEn_IIc        LOBYTE(iPrmMnProgEn)
#define global iMnProgEn_Unmask     HIBYTE(iPrmMnProgEn)
#define global iMnProgEn_Exor       LOBYTE(HIWORD(iPrmMnProgEn))
#define global iSetPci              HISBYTE(HIWORD(iPrmMnProgEn))

#defcfunc CR_MnProgEn
    return (aCR(iMnProgEn_IIc)&iMnProgEn_Unmask^iMnProgEn_Exor)

; DivMA
#define global iDivMA_IIc           LOBYTE(iPrmDivMA)
#define global iDivMA_Unmask        HIBYTE(iPrmDivMA)
#define global iDivMA_Ofset         LOBYTE(HIWORD(iPrmDivMA))
#define global iDivNA_Ofset         HIBYTE(HIWORD(iPrmDivMA))

#defcfunc CR_DivMA
    return (aCR(iDivMA_IIc)&iDivMA_Unmask)

; DivNLA
#define global iDivN07A_IIc         LOBYTE(iPrmDivNALo)
#define global iDivN07A_Unmask      HIBYTE(iPrmDivNALo)

#defcfunc CR_DivN07A
    return (aCR(iDivN07A_IIc)&iDivN07A_Unmask)

#define global iDivN10A_IIc         LOBYTE(HIWORD(iPrmDivNALo))
#define global iDivN10A_Unmask      HIBYTE(HIWORD(iPrmDivNALo))

#defcfunc CR_DivN10A
    return CND(iDivN10A_Unmask,((aCR(iDivN10A_IIc)&iDivN10A_Unmask)=iDivN10A_Unmask)*0x400,0)

#define global iDivN29A_IIc         LOBYTE(iPrmDivNALo)
#define global iDivN29A_Unmask      HIBYTE(iPrmDivNALo)
#define global iDivN29A_left        LOBYTE(HIWORD(iPrmDivNALo))
#define global iDivMA_Fix           HIBYTE(HIWORD(iPrmDivNALo))

#defcfunc CR_DivN29A
    return ((aCR(iDivN29A_IIc)&iDivN29A_Unmask)<<iDivN29A_left)

; DivNHA
#define global iDivN8A_IIc          LOBYTE(iPrmDivNAHi)
#define global iDivN8A_Unmask       HIBYTE(iPrmDivNAHi)
#define global iDivN9A_IIc          LOBYTE(HIWORD(iPrmDivNAHi))
#define global iDivN9A_Unmask       HIBYTE(HIWORD(iPrmDivNAHi))

#defcfunc CR_DivN8A
    return CND(iDivN8A_Unmask,((aCR(iDivN8A_IIc)&iDivN8A_Unmask)=iDivN8A_Unmask)*0x100,0)
#defcfunc CR_DivN9A
    return CND(iDivN9A_Unmask,((aCR(iDivN9A_IIc)&iDivN9A_Unmask)=iDivN9A_Unmask)*0x200,0)

#define global iDivN01A_IIc         LOBYTE(iPrmDivNAHi)
#define global iDivN01A_Unmask      HIBYTE(iPrmDivNAHi)
#define global iDivN01A_right       LOBYTE(HIWORD(iPrmDivNAHi))

#defcfunc CR_DivN01A
    return CND(iDivN01A_Unmask=5,(aCR(iDivN01A_IIc)>>iDivN01A_right)=iDivN01A_Unmask,(aCR(iDivN01A_IIc)&iDivN01A_Unmask)>>iDivN01A_right)

; DivMB
#define global iDivMB_IIc           LOBYTE(iPrmDivMB)
#define global iDivMB_Unmask        HIBYTE(iPrmDivMB)
#define global iDivMB_Ofset         LOBYTE(HIWORD(iPrmDivMB))
#define global iDivNB_OfsetLo       HIBYTE(HIWORD(iPrmDivMB))

#defcfunc CR_DivMB
    return (aCR(iDivMB_IIc)&iDivMB_Unmask)

; DivNLB
#define global iDivN07B_IIc         LOBYTE(iPrmDivNBLo)
#define global iDivN07B_Unmask      HIBYTE(iPrmDivNBLo)
#define global iDivNB_OfsetHi       LOBYTE(HIWORD(iPrmDivNBLo))

#define global iDivNB_Ofset         CND(iPLL_Type=7,iDivNB_OfsetHi*0x100+iDivNB_OfsetLo,iDivNB_OfsetLo)

#defcfunc CR_DivN07B
    return (aCR(iDivN07B_IIc)&iDivN07B_Unmask)

#define global iDivN29B_IIc         LOBYTE(iPrmDivNBLo)
#define global iDivN29B_Unmask      HIBYTE(iPrmDivNBLo)
#define global iDivN29B_left        LOBYTE(HIWORD(iPrmDivNBLo))
#define global iDivMB_Fix           HIBYTE(HIWORD(iPrmDivNBLo))

#defcfunc CR_DivN29B
    return ((aCR(iDivN29B_IIc)&iDivN29B_Unmask)<<iDivN29B_left)

; DivNHB
#define global iDivN8B_IIc          LOBYTE(iPrmDivNBHi)
#define global iDivN8B_Unmask       HIBYTE(iPrmDivNBHi)
#define global iDivN9B_IIc          LOBYTE(HIWORD(iPrmDivNBHi))
#define global iDivN9B_Unmask       HIBYTE(HIWORD(iPrmDivNBHi))

#defcfunc CR_DivN8B
    return CND(iDivN8B_Unmask,((aCR(iDivN8B_IIc)&iDivN8B_Unmask)=iDivN8B_Unmask)*0x100,0)
#defcfunc CR_DivN9B
    return CND(iDivN9B_Unmask,((aCR(iDivN9B_IIc)&iDivN9B_Unmask)=iDivN9B_Unmask)*0x200,0)

#define global iDivN01B_IIc         LOBYTE(iPrmDivNBHi)
#define global iDivN01B_Unmask      HIBYTE(iPrmDivNBHi)
#define global iDivN01B_right       LOBYTE(HIWORD(iPrmDivNBHi))

#defcfunc CR_DivN01B
    return ((aCR(iDivN01B_IIc)&iDivN01B_Unmask)>>iDivN01B_right)

; AgpFS
#define global iAgpFSA_IIc          LOBYTE(iPrmAgpFSLo)
#define global iAgpFSA_Unmask       HIBYTE(iPrmAgpFSLo)
#define global iAgpFSB_IIc          LOBYTE(HIWORD(iPrmAgpFSLo))
#define global iAgpFSB_Unmask       HIBYTE(HIWORD(iPrmAgpFSLo))
#define global iAgpFSC_IIc          LOBYTE(iPrmAgpPciFSHi)
#define global iAgpFSC_Unmask       HIBYTE(iPrmAgpPciFSHi)

#define global iCR_AgpFSA           CND(iAgpFSA_Unmask,((aCR(iAgpFSA_IIc)&iAgpFSA_Unmask)=iAgpFSA_Unmask),0)
#define global iCR_AgpFSB           CND(iAgpFSB_Unmask,((aCR(iAgpFSB_IIc)&iAgpFSB_Unmask)=iAgpFSB_Unmask)*2,0)
#define global iCR_AgpFSC           CND(iAgpFSC_Unmask,((aCR(iAgpFSC_IIc)&iAgpFSC_Unmask)=iAgpFSC_Unmask)*4,0)

#defcfunc CR_nAgpFS
    return (iCR_AgpFSA|iCR_AgpFSB|iCR_AgpFSC)

#defcfunc Set_nAgpFS
    return CND(iSetAgp=-1,CR_nAgpFS(),iSetAgp)

; PciFS
#define global iPciFSA_IIc          LOBYTE(iPrmPciFSLo)
#define global iPciFSA_Unmask       HIBYTE(iPrmPciFSLo)
#define global iPciFSB_IIc          LOBYTE(HIWORD(iPrmPciFSLo))
#define global iPciFSB_Unmask       HIBYTE(HIWORD(iPrmPciFSLo))
#define global iPciFSC_IIc          LOBYTE(HIWORD(iPrmAgpPciFSHi))
#define global iPciFSC_Unmask       HIBYTE(HIWORD(iPrmAgpPciFSHi))

#define global iCR_PciFSA           CND(iPciFSA_Unmask,(aCR(iPciFSA_IIc)&iPciFSA_Unmask)=iPciFSA_Unmask,0)
#define global iCR_PciFSB           CND(iPciFSB_Unmask,((aCR(iPciFSB_IIc)&iPciFSB_Unmask)=iPciFSB_Unmask)*2,0)
#define global iCR_PciFSC           CND(iPciFSC_Unmask,((aCR(iPciFSC_IIc)&iPciFSC_Unmask)=iPciFSC_Unmask)*4,0)

#defcfunc CR_nPciFS
    return (iCR_PciFSA|iCR_PciFSB|iCR_PciFSC)

#defcfunc Set_nPciFS
    return CND(iSetPci=-1,CR_nPciFS(),iSetPci)

; FixFS
#define global iFixFSA_IIc          LOBYTE(iPrmFixFS)
#define global iFixFSA_Unmask       HIBYTE(iPrmFixFS)
#define global iFixFSB_IIc          LOBYTE(HIWORD(iPrmFixFS))
#define global iFixFSB_Unmask       HIBYTE(HIWORD(iPrmFixFS))

#define global iCR_FixFSA           CND(iFixFSA_Unmask,(aCR(iFixFSA_IIc)&iFixFSA_Unmask)=iFixFSA_Unmask,0)
#define global iCR_FixFSB           CND(iFixFSB_Unmask,((aCR(iFixFSB_IIc)&iFixFSB_Unmask)=iFixFSB_Unmask)*2,0)

#defcfunc CR_nFixFS
    return (iCR_FixFSA|iCR_FixFSB)

#defcfunc Set_nFixFS
    return CND(iSetFix=-1,CR_nFixFS(),iSetFix)

; PLLBRatio
#define global iPLLBRatio_IIc       LOBYTE(iPrmPLLBRatio)
#define global iPLLBRatio_Unmask    HIBYTE(iPrmPLLBRatio)
#define global iPLLBRatio_Right     LOBYTE(HIWORD(iPrmPLLBRatio))
#define global iFixBit              HISBYTE(HIWORD(iPrmPLLBRatio))

#define global CR_RamRatio  CR_PLLBRatio
#defcfunc CR_PLLBRatio
    return CND(iPLLBRatio_Right=0xFF,CND(CR_FsSource(),CR_FsIIc(),CR_FsHw())&iPLLBRatio_Unmask,(aCR(iPLLBRatio_IIc)&iPLLBRatio_Unmask)>>iPLLBRatio_Right)

; FixBit
#define global iFixBitA_IIc         LOBYTE(iPrmFixBit)
#define global iFixBitA_Unmask      HIBYTE(iPrmFixBit)
#define global iFixBitB_IIc         LOBYTE(HIWORD(iPrmFixBit))
#define global iFixBitB_Unmask      HIBYTE(HIWORD(iPrmFixBit))

#define global iCR_FixBitA          CND(iFixBitA_Unmask,(aCR(iFixBitA_IIc)&iFixBitA_Unmask)=iFixBitA_Unmask,0)
#define global iCR_FixBitB          CND(iFixBitB_Unmask,((aCR(iFixBitB_IIc)&iFixBitB_Unmask)=iFixBitB_Unmask)*2,0)

#defcfunc CR_nFixBit
    return (iCR_FixBitA|iCR_FixBitB)

#defcfunc Set_nFixBit
    return CND(iFixBit=-1,CR_nFixBit(),iFixBit)

; FsbTrbOfsN,FsbTrbOfsU
#define global iFsbTrbOfsN          LOWORD(iPrmFsbTrbOfs)
#define global iFsbTrbOfsU          HIWORD(iPrmFsbTrbOfs)

; PllbGear,PciTrbOfs
#define global iPllbGearDt          LOWORD(iPrmPllbGear)
#define global iPciTrbOfs           HIWORD(iPrmPllbGear)

; RefMaxMin
#define global iFsbRefMax           LOBYTE(iPrmRefMaxMin)
#define global iFsbRefMin           HIBYTE(iPrmRefMaxMin)
#define global iPciRefMax           LOBYTE(HIWORD(iPrmRefMaxMin))
#define global iPciRefMin           HIBYTE(HIWORD(iPrmRefMaxMin))

; FsbTrbMax,FsbTrbMin,PciTrbMax,PciTrbMin
#define global iFsbTrbMax           HIWORD(iPrmFsbTrbMax)
#define global iFsbTrbMin           HIWORD(iPrmFsbTrbMin)
#define global iPciTrbMax           HIWORD(iPrmPciTrbMax)
#define global iPciTrbMin           HIWORD(iPrmPciTrbMin)

; Fix Source
#define global ctype aFixFreqTbl(%1)    LOWORD(aPrmFixFreqTbl(%1))

; AGP,PCI Source
#define global ctype aAgpSelTbl(%1)     HIBYTE(HIWORD(aPrmAgpSelTbl(%1)))
#define global ctype aPciSelTbl(%1)     HIBYTE(HIWORD(aPrmPciSelTbl(%1)))

; CpuDivTbl,AgpDivTbl,PciDivTbl
#define global ctype aCpuDivTbl(%1)     LOBYTE(aPrmCpuDivTbl(%1))
#define global ctype aAgpDivTbl(%1)     HIBYTE(aPrmAgpDivTbl(%1))
#define global ctype aPciDivTbl(%1)     LOBYTE(HIWORD(aPrmPciDivTbl(%1)))

; FsbRefNTbl,FsbRefUTbl,PllbRefTbl,PllbDivTbl
#define global ctype aFsbRefNTbl(%1)    LOBYTE(aPrmFsbRefNTbl(%1))
#define global ctype aFsbRefUTbl(%1)    HIBYTE(aPrmFsbRefUTbl(%1))
#define global ctype aPllbRefTbl(%1)    LOBYTE(HIWORD(aPrmPllbRefTbl(%1)))
#define global ctype aPllbDivTbl(%1)    HIBYTE(HIWORD(aPrmPllbDivTbl(%1)))

; CpuFreqTbl,AgpFreqTbl,PciFreqTbl,FsbGearTbl
#define global ctype aCpuFreqTbl(%1)    LOWORD(aPrmCpuFreqTbl(%1))
#define global ctype aAgpFreqTbl(%1)    HIWORD(aPrmAgpFreqTbl(%1))
#define global ctype aPciFreqTbl(%1)    LOWORD(aPrmPciFreqTbl(%1))
#define global ctype aFsbGearTbl(%1)    HIWORD(aPrmFsbGearTbl(%1))
#define global ctype aDdrFreqTbl(%1)    HIWORD(aPrmFsbGearTbl(%1))

#if TEST
#deffunc DupPtrCRdata int _p1
    dupptr aCR,varptr(aCRdata(nTCR_INTLEN*_p1)),nTCR_INTLEN*4,vartype("int")

    dup iHostBridge,aCR(nTCR_HOSTBRIDGE)
    dup iLpcIfBridge,aCR(nTCR_LPCIFBRIDGE)
    dup iSMBusCtl,aCR(nTCR_SMBUSCTL)
    dup iGMCHC,aCR(nTCR_GMCHC)
    dup iSMBadr,aCR(nTCR_SMBADR)
    dup iMCHC,aCR(nTCR_MCHC)
    dup iDRAMCCS,aCR(nTCR_DRAMCCS)
    dup iHOSTC,aCR(nTCR_HOSTC)
    dup iHPLLCC,aCR(nTCR_HPLLCC)

    return

#deffunc InitCRdata
    dim aCRdata,nTCR_INTLEN*nPLL_PRMSIZE*2

;/Configuration Registers, SMBus Address/(test datas)
    DupPtrCRdata nICS952607EF   ;ASUS P4C800/P4P800
        ; CPU133.6-DDR267.3-AGP66.6-PCI33.3
        aCR(0x00)=0x82,0x1F,0x1F,0x7F,0x3F,0x3A,0x2A,0x31
        aCR(0x08)=0x19,0x02,0x82,0x90,0xF0,0x10,0x18,0x01
        aCR(0x10)=0x95,0x0F,0x00,0x0C,0xC0,0xFF,0xBF,0xBC
        aCR(0x18)=0x02
        iHostBridge=Intel875P
        iLpcIfBridge=0x24D08086
        iSMBusCtl=0x24D38086
        iGMCHC=0x08020000
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nICS9LPRS587AGLF   ;GIGABYTE
        ; CPU266.0-PEX100.0-PCI33.3
        aCR(0x00)=0x60,0x1D,0xFC,0xF6,0x37,0x00,0x00,0x01
        aCR(0x08)=0x15,0x03,0x20,0x89,0x0C,0x1A,0x48,0x08
        aCR(0x10)=0x19,0x1A,0x48,0x00,0x00,0x00,0x00,0x00
        ; CPU200.0(-PEX100.0-PCI33.3) FSB800石
;       aCR(0x00)=0x62,0x1D,0xFD,0xB6,0xBF,0x00,0x00,0x01
;       aCR(0x08)=0x13,0x03,0x22,0x58,0x32,0x1A,0x48,0x08
;       aCR(0x10)=0x19,0x1A,0x48,0x00,0x00,0x00,0x00,0x00
        ; CPU200.0(-PEX100.0-PCI33.3)
;       aCR(0x00)=0x00,0x1D,0xF7,0xB6,0xBF,0x00,0x00,0x01
;       aCR(0x08)=0x13,0x04,0xC0,0xD8,0x2D,0x1A,0x48,0x08
;       aCR(0x10)=0x19,0x1A,0x48,0x00,0x00,0x00,0x00,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x24D08086
        iSMBusCtl=0x24D38086
;       iGMCHC=
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nICS954141CFLF ;P5LP-LE rev1.05
        ; CPU200.0-PEX100.0-PCI33.3 FSB800石
        aCR(0x00)=0x42,0xF7,0xFF,0x5D,0x8F,0x00,0xF5,0xA1
        aCR(0x08)=0x16,0x07,0x80,0x87,0xEF,0xEB,0x2F,0xCD
        aCR(0x10)=0x3C,0xEB,0x2F,0x48,0xD8,0x00,0x00,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x24D08086
        iSMBusCtl=0x24D38086
;       iGMCHC=
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nCY28551LFXC   ;ASUS P5B-Deluxe/COMMANDO
        ; 266.6-100.0-33.3
        aCR(0x00)=0xFF,0xFF,0x7F,0xF6,0x04,0x61,0x61,0x28
        aCR(0x08)=0x00,0xE4,0x5E,0x5E,0x5E,0x20,0xC8,0x5A
        aCR(0x10)=0xC8,0x00,0x6C,0x00,0x00,0x00,0x00,0x00
;       aCR(0x00)=0xFF,0xFF,0x7F,0xF6,0x00,0x61,0x61,0x28
;       aCR(0x08)=0x00,0x04,0xAA,0xAA,0xAA,0x20,0xAA,0x33
;       aCR(0x10)=0xC8,0x00,0x4C,0x00,0x00,0x00,0x00,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS9LPRS511EGLF   ;Foxconn G9657MA-8EKRS2H
        ; CPU266.8-PEX100.0-PCI33.3
        aCR(0x00)=0x20,0xE5,0xFF,0xFF,0xFF,0xA0,0x00,0x41
        aCR(0x08)=0x16,0x07,0xE0,0x8F,0x68,0xEE,0x2F,0x4A
        aCR(0x10)=0x34,0xEF,0x23,0x82,0x00,0x7F,0x00,0x00
;       aCR(0x00)=0x20,0xE5,0xFF,0xFF,0xFF,0xA0,0x00,0x41
;       aCR(0x08)=0x16,0x07,0xE0,0x1A,0xE4,0xEE,0x2F,0x4A
;       aCR(0x10)=0x34,0xEF,0x23,0x82,0x00,0x7F,0x00,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nSLG505YC56DT  ;Intel D975XBX2
        ; CPU202.0-PEX101.0-PCI33.3
;       aCR(0x00)=0x07,0xC3,0xFF,0x1F,0xEF,0x00,0x00,0x06
;       aCR(0x08)=0x00,0x26,0x00,0x00,0x1D,0x00,0x00,0xC9
;       aCR(0x10)=0x65,0xC0,0x0E,0x00,0x6A,0x00,0xCE,0x67
;       aCR(0x18)=0x14,0x00,0x00,0x00,0x00
        aCR(0x00)=0x17,0xC3,0xF9,0xFF,0xFF,0x00,0x00,0x06
        aCR(0x08)=0x00,0x25,0x00,0x00,0x0D,0x00,0x01,0x0A
        aCR(0x10)=0x63,0x00,0x0E,0x00,0x6A,0x00,0xCE,0x67
        aCR(0x18)=0x14,0x00,0x00,0x00,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS951461BGLF ;DFI ICFX3200
        ; CPU202.0-PEX101.0-PCI33.3
        aCR(0x00)=0x80,0xFF,0xF0,0xFF,0x00,0x00,0x61,0x11
        aCR(0x08)=0x19,0xE0,0x80,0xD6,0x76,0xF9,0x1F,0xDE
        aCR(0x10)=0x75,0xF8,0x17,0x04,0x00,0x00,0xFF,0xFF
        aCR(0x18)=0xFF
        iHostBridge=AtiX3200
        iLpcIfBridge=AtiSB600
        iSMBusCtl=AtiSB600SMB
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS950703BF   ;ASUS P4T533
        ; CPU100.9-RDR403.6-AGP67.2-PCI33.6
        aCR(0x00)=0x00,0x0F,0xFF,0xDF,0xFF,0x6C,0x22,0x11
        aCR(0x08)=0x11,0x0A,0x80,0x8E,0xBB,0x39,0x18,0x84
        aCR(0x10)=0x95
;       aCR(0x08)=0x11,0x0A,0x80,0x87,0x31,0xE3,0x1D,0x51
;       aCR(0x08)=0x11,0x0A,0x80,0x8C,0xB0,0x02,0x1B,0x51
        iHostBridge=Intel850
        iLpcIfBridge=0x24408086
        iSMBusCtl=0x24438086
;       iGMCHC=
        iSMBadr=0xE800
        iMCHC=0x00020A25

    DupPtrCRdata nICS954108CFLF ;Intel D975XBX
        ; CPU278.0-PEX99.7-PCI33.3
        aCR(0x00)=0xFE,0xFF,0x70,0x00,0x70,0x08,0x0A,0xA1
        aCR(0x08)=0x16,0x07,0xC0,0x50,0xB3,0x5F,0x21,0xCD
        aCR(0x10)=0x3C,0xE9,0x2F,0x00,0x90
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B08086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x3000
;       iMCHC=

    DupPtrCRdata nICS954123CGLF ;ASUS P5W-DH 
        ; CPU278.0-PEX99.7-PCI33.3
        aCR(0x00)=0x80,0x7E,0xFF,0x7F,0x8F,0x04,0x3F,0x81
        aCR(0x08)=0x15,0x07,0x80,0xCD,0x3F,0x3F,0x3F,0x1B
        aCR(0x10)=0x30,0x8E,0xB7,0xFF,0x17
;       aCR(0x00)=0x82,0x7E,0xFF,0x7F,0x8F,0x04,0x09,0xA1
;       aCR(0x08)=0x15,0x07,0x80,0xDA,0x09,0x09,0x09,0x17
;       aCR(0x10)=0x18,0x8E,0xB7,0xFF,0x17
;       aCR(0x00)=0x80,0x7E,0xFF,0x7F,0x8F,0x00,0x77,0xA1
;       aCR(0x08)=0x15,0x07,0x80,0xD6,0x77,0x77,0x77,0x0F
;       aCR(0x10)=0x20,0x56,0x96,0xFF,0x17,0x00,0x00,0x00
;       aCR(0x00)=0xE2,0x7E,0xFF,0x7F,0x8F,0x00,0x8B,0xA1
;       aCR(0x08)=0x18,0x07,0x80,0x03,0x8B,0x8B,0x8B,0x41
;       aCR(0x10)=0x19,0x03,0x8B,0x41,0x19,0x00,0xFF,0xFF
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nCV122CPVG ;ASUS P5LD2 VM SE 
        ; CPU266.0-PEX100.0-PCI33.3
        aCR(0x00)=0x7F,0xEE,0x7E,0x1F,0x13,0x08,0x36,0x05
        aCR(0x08)=0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
        aCR(0x10)=0xFF,0x40,0xB5,0x4B,0x01,0x2C,0x97,0x58
        aCR(0x18)=0x00,0x0B,0x02,0x00,0x96,0x4B,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nCV174CPAG ;
        ; CPU266.7-DDR533.3-PEX100.0-PCI33.3
        aCR(0x00)=0x17,0xC3,0xFF,0xFF,0xFF,0x00,0x00,0x05
        aCR(0x08)=0x00,0x25,0xFF,0xFF,0x14,0x00,0x00,0x07
        aCR(0x10)=0x00,0xC8,0xC8,0x00
        ; CPU266.0-PEX100.0-PCI33.3
;       aCR(0x00)=0x17,0xC3,0xFD,0xFF,0xFF,0x00,0x00,0x05
;       aCR(0x08)=0x00,0x25,0xFF,0xFF,0x0D,0x00,0x00,0x07
;       aCR(0x10)=0x00,0xC8,0xC8,0x00
        iHostBridge=0x29A08086
        iLpcIfBridge=0x28128086
        iSMBusCtl=0x283E8086
;       iGMCHC=
        iSMBadr=0x3000
;       iMCHC=

    DupPtrCRdata nRTM876_660    ;GIGABYTE GA-TG965MP-RH
        ; CPU266.6-PEX100.0-PCI33.3
        aCR(0x00)=0xBA,0xF4,0x66,0xFB,0x6D,0xDE,0x40,0x1E
        aCR(0x08)=0x02,0x66,0x00,0x20,0x80,0x80,0x80,0xA0
        aCR(0x10)=0x50,0x50,0x50,0x00,0xA0,0xA0,0xB6,0x53
        aCR(0x18)=0x55,0x88,0x6A,0x80,0x11,0x10,0x00,0x60
        aCR(0x20)=0x00,0x4D,0x4D,0x11,0x9A,0x9A,0x97,0xC5
        aCR(0x28)=0xB5,0x16,0xFF,0x44,0x04,0x00,0xF8,0x73
        iHostBridge=0x29A08086
        iLpcIfBridge=0x28128086
        iSMBusCtl=0x283E8086
;       iGMCHC=
        iSMBadr=0x500
;       iMCHC=

    DupPtrCRdata nICS94225AF    ;EPoX EP-8K7A
        ; CPU133.0-DDR265.9-AGP66.5-PCI33.2
        aCR(0x00)=0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x20
        aCR(0x08)=0x15,0x22,0x80,0x13,0xBF,0x00,0x70,0x02
        aCR(0x10)=0x5E,0x72,0x9F,0x5C,0x30
        iHostBridge=Amd760
        iLpcIfBridge=Via82C686
        iSMBusCtl=Via82C686SMB
        iGMCHC=0x300000
;       iSMBadr=0x5000  ;EPoX EP-8K7A
        iSMBadr=0xE800  ;ASUS A7M266
;       iMCHC=

    DupPtrCRdata nICS94228BF    ;ASUS A7V333
        ; CPU166.6-DDR333.3-AGP66.7-PCI33.3
        aCR(0x00)=0x5D,0xF7,0xFF,0xFF,0x48,0xCD,0x11,0x0C
        aCR(0x08)=0x12,0x90,0xCD,0x0A,0x74,0x0B,0x20,0x08
        aCR(0x10)=0x20,0x96
        iHostBridge=ViaKT266
;       iLpcIfBridge=
        iSMBusCtl=Via8233A
        iGMCHC=0x202005E0
        iSMBadr=0xE800  ;ASUS A7V333
;       iMCHC=
        iDRAMCCS=0x70542D68

    DupPtrCRdata nICS950405AF   ;ASUS K8V
        ; CPU200.3-DDR400.5-AGP66.8-PCI33.4
        aCR(0x00)=0xF7,0xFF,0xFF,0xF5,0x7F,0x7F,0x18,0x01
        aCR(0x08)=0xCC,0x77,0x80,0xE2,0xE7,0x06,0x18
        iHostBridge=ViaK8T800
;       iLpcIfBridge=
        iSMBusCtl=Via8237
        iGMCHC=0x20002C30
        iSMBadr=0x0400  ;ASUS K8V
;       iMCHC=
        iDRAMCCS=0x00025801

    DupPtrCRdata nICS9LPR501HGLF    ;ABIT IB9
        ; CPU266.6-PEX100.0-PCI33.3
        aCR(0x00)=0x27,0x02,0xFF,0xFF,0xFC,0x00,0x00,0x71
        aCR(0x08)=0x16,0x25,0x80,0x00,0x1C,0xD5,0x70,0x09
        aCR(0x10)=0x24,0x08,0x64,0x00,0x00,0x03,0x32,0x85
        aCR(0x18)=0x80,0x75,0x75,0x00
        iHostBridge=0x29A08086
        iLpcIfBridge=0x28108086
        iSMBusCtl=0x283E8086
;       iGMCHC=
        iSMBadr=0x500
;       iMCHC=

    DupPtrCRdata nICS953002DFLF ;ABIT IP95
        aCR(0x00)=0x42,0x38,0xEF,0xF8,0xFF,0x33,0x00,0x31
        aCR(0x08)=0x0F,0x07,0xC0,0x85,0xAC,0xEB,0x2F,0x49
        aCR(0x10)=0xF9,0xCD,0x3C,0xEB,0x2F,0x00
        iHostBridge=0x03271106
;       iLpcIfBridge=
        iSMBusCtl=0x32271106
;       iGMCHC=
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nRTM520_39D    ;EPoX EP-BX6
        aCR(0x00)=0x68,0xFF,0xFC,0xFF,0xFF,0xFF,0x00,0x16
        aCR(0x08)=0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16
        aCR(0x10)=0x01,0x6F,0x0F,0xFF,0xF0,0x4E
        iHostBridge=0x71908086
        iLpcIfBridge=0x71108086
        iSMBusCtl=0x71138086
;       iGMCHC=
        iSMBadr=0x5000
;       iMCHC=

    DupPtrCRdata nICS952001AF   ;MSI 645U
        aCR(0x00)=0xFF,0xFF,0xFF,0xFF,0x00,0xC1,0xFF,0xFF
        aCR(0x08)=0x12,0x20,0x81,0x8C,0x82,0x99,0x15,0x14
        aCR(0x10)=0x55,0x09
        iHostBridge=0x06451039
        iLpcIfBridge=0x00081039
        iSMBusCtl=0x00161039
        iGMCHC=0x4040404B
        iSMBadr=0x0C00
;       iMCHC=

    DupPtrCRdata nICS9248EF_199 ;Biostar M7SUA
        ; CPU133.0-DDR266.1-AGP66.5-PCI38.0
        aCR(0x00)=0xFF,0xFF,0xFF,0xFF,0x02,0xBA,0xFF,0x0C
        aCR(0x08)=0x12,0x10,0x88,0x04,0xD7,0x03,0x1E,0x44
        aCR(0x10)=0x78,0x08
        iHostBridge=0x07451039
;       iHostBridge=0x07401039
        iLpcIfBridge=0x00081039
        iSMBusCtl=0x00161039
        iGMCHC=0x6D6D6D4B
        iSMBadr=0xE600
;       iSMBadr=0x10C0
;       iMCHC=
        iHOSTC=1

    DupPtrCRdata nICS951403CF   ;FIC AT31
        ; CPU132.5-DDR265.0-AGP66.3-PCI33.1
        aCR(0x00)=0x00,0x7F,0xFF,0x00,0xFD,0x4F,0x1C,0x2D
        aCR(0x08)=0x12,0x90,0x80,0x0F,0xE8,0xE1,0xF7,0x9A
        aCR(0x10)=0x9E,0xAA,0x00,0x00,0x00
        iHostBridge=0xCAB01002
        iLpcIfBridge=Via82C686
        iSMBusCtl=Via82C686SMB
;       iGMCHC=
        iSMBadr=0x5000
;       iMCHC=

    DupPtrCRdata nICS950812BG   ;Toshiba Dynabook SS 2110
        ; CPU100.0-DDR267.3-AGP66.7-PCI33.3
        aCR(0x00)=0xFD,0xF3,0x37,0xC1,0x31,0x00,0x31,0x00
        aCR(0x08)=0x18,0x00,0x00,0x8D,0x9A,0xEF,0x17,0x94
        aCR(0x10)=0x95,0x0F,0x04,0x43,0x40,0xAA,0xAA,0x20
        iHostBridge=0x35808086
        iLpcIfBridge=0x24CC8086
        iSMBusCtl=0x24C38086
;       iGMCHC=
        iSMBadr=0xD880
;       iMCHC=
        iHPLLCC=0

    DupPtrCRdata nICS954227CGLF ;Sony Vaio VGN-S460
        aCR(0x00)=0xFD,0xBF,0xFF,0x00,0x06,0x7F,0x09,0x21
        aCR(0x08)=0x12,0x96,0x15,0x84,0x7B,0xE9,0x2F,0xE7
        aCR(0x10)=0xBF,0x61,0x05,0xA5,0x33,0x00,0x00,0x00
        iHostBridge=0x25908086
        iLpcIfBridge=0x26418086
        iSMBusCtl=0x266A8086
;       iGMCHC=
        iSMBadr=0x18E0
;       iMCHC=
;       iHPLLCC=

;**** give up ***
    DupPtrCRdata nICS9LPRS552AGLF   ;ASUS P5B non-deluxe
        ; CPU266.8-PEX100.0-PCI33.3
;       aCR(0x00)=0x04,0x7A,0xFF,0xFF,0xFF,0x00,0xA9,0x01
;       aCR(0x08)=0x13,0x07,0x60,0x7C,0xFB,0xFE,0x23,0x7C
;       aCR(0x10)=0xBD,0x64,0x24,0x00,0x00,0x00,0x00,0x00
        aCR(0x00)=0x60,0x62,0xFF,0xFF,0xFF,0x00,0xA9,0x01
        aCR(0x08)=0x1F,0x07,0xE0,0x0C,0x32,0x09,0x24,0x8C
        aCR(0x10)=0x25,0x09,0x24,0x80,0x00,0xFF,0x80,0x32
        aCR(0x18)=0x32,0x32,0x32,0x25,0x25,0x81,0x55,0x00
        iHostBridge=0x277C8086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS9LPRS509HGLF   ;DFI Infinity 975X/G
        ; CPU266.0-PEX100.0-PCI33.3
;       aCR(0x00)=0x08,0xFD,0xFF,0xFF,0xFF,0xC0,0x00,0x41
;       aCR(0x08)=0x16,0x09,0x20,0x20,0x94,0xF6,0x2F,0xA0
;       aCR(0x10)=0xB8,0xEF,0x23,0x82,0x04,0x7F
;       iHostBridge=0x277C8086
;       iLpcIfBridge=0x27B88086
;       iSMBusCtl=0x27DA8086
;       iGMCHC=
;       iSMBadr=0x500
;       iMCHC=
        aCR(0x00)=0x00,0x9C,0xFF,0xFF,0xFF,0xC0,0x00,0x51
        aCR(0x08)=0x1F,0x09,0x20,0x03,0x11,0xF6,0x2F,0x09
        aCR(0x10)=0x2F,0xEF,0x23,0x82,0x04,0x7F,0x83,0x15
        aCR(0x18)=0x37,0x37,0x34,0x34,0x34,0x00,0x56,0x00
        iHostBridge=0x29A08086
        iLpcIfBridge=0x28108086
        iSMBusCtl=0x283E8086
;       iGMCHC=
        iSMBadr=0x500
;       iMCHC=

    DupPtrCRdata nW83195BG_101  ;ASRock ConRoeXFire-eSATA2
        aCR(0x00)=0x16,0xE7,0xFF,0xFF,0xFF,0x02,0xFE,0x22
        aCR(0x08)=0xD0,0x7A,0x3B,0x0E,0x72,0x0F,0x10,0xCC
        aCR(0x10)=0xE4,0x00,0x00,0xDA,0x88,0x4B,0x00,0x00
;       aCR(0x00)=0x10,0xE7,0xFF,0xFF,0xFF,0x02,0xFE,0x22
;       aCR(0x08)=0xD0,0x7A,0x3C,0x0B,0x72,0x0F,0x10,0xEC
;       aCR(0x10)=0xE4,0x00,0x00,0xDA,0x88,0x4B,0x00,0x00
;       aCR(0x00)=0x0C,0xE1,0xFF,0xFF,0xFF,0x02,0xFE,0x22
;       aCR(0x08)=0xCD,0x2D,0x3B,0x0E,0x73,0x8A,0x10,0xCC
;       aCR(0x10)=0xE4,0x00,0x00,0xDA,0x88,0x4B,0x00,0x00
;       aCR(0x00)=0x04,0xE0,0xFF,0xFF,0xFF,0x02,0xFE,0x22
;       aCR(0x08)=0xD0,0x7A,0x3B,0x0B,0x71,0x8F,0x10,0xCC
;       aCR(0x10)=0xE4,0x00,0x00,0xDA,0x88,0x4B,0x00,0x00
        iHostBridge=0x297708086
        iLpcIfBridge=0x27B88086
        iSMBusCtl=0x27DA8086
;       iGMCHC=
        iSMBadr=0x500
;       iMCHC=

    DupPtrCRdata nICS9LPRS916BGLF   ;ASUS P5K
        ; CPU266.8-PEX100.0-PCI33.3
        aCR(0x00)=0x40,0x99,0xFF,0xFF,0xFF,0xB0,0x57,0x11
        aCR(0x08)=0x1F,0x07,0xE0,0xDC,0xD1,0x09,0x20,0x9F
        aCR(0x10)=0xD8,0x0D,0x30,0x00,0x00,0x3F,0x00,0x95
        aCR(0x18)=0x95,0x95,0x37,0x37,0x37,0x00,0x77,0x00
        iHostBridge=0x29C08086
        iLpcIfBridge=0x29188086
        iSMBusCtl=0x29308086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS9LPRS918BKL    ;ASUS P5K(3) Deluxe
        ; CPU360.0-PEX100.0-PCI33.3
        aCR(0x00)=0x00,0xB9,0xFF,0xFF,0xFF,0x00,0x57,0x11
        aCR(0x08)=0x1F,0x07,0xE0,0x1C,0xB0,0x09,0x20,0x9F
        aCR(0x10)=0xD8,0x0F,0x30,0x00,0x00,0x7F,0x00,0x95
        aCR(0x18)=0x95,0x95,0x37,0x37,0x37,0x00,0x77,0x00
        iHostBridge=0x29C08086
        iLpcIfBridge=0x29168086
        iSMBusCtl=0x29308086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nW83115RG_BW   ;Broadwater chipset
        ; CPU133.6-DDR267.3-AGP66.6-PCI33.3
        aCR(0x00)=0x01,0x83,0xFF,0xFF,0xFF,0x00,0x0C,0x04
        aCR(0x08)=0x0C,0x25,0xD0,0x7A,0x7F,0x10,0x04,0x0B
        aCR(0x10)=0x30,0x0B,0x00,0x30
        iHostBridge=Intel955X
        iLpcIfBridge=IntelICH8
        iSMBusCtl=IntelICH8SMB
;       iGMCHC=
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nICS952803AF   ;ECS 755-A(2)
        ; CPU133.6-DDR267.3-AGP66.6-PCI33.3
        aCR(0x00)=0x02,0x47,0xBF,0xD1,0x00,0x59,0x00,0x01
        aCR(0x08)=0x19,0x17,0x80,0x85,0x7F,0xEF,0x2F,0x00
        iHostBridge=SiS755
        iLpcIfBridge=SiS5513
        iSMBusCtl=SiS5513SMB
;       iGMCHC=
        iSMBadr=0x10E0
;       iMCHC=

    DupPtrCRdata nICS9LPRS906CGLF   ;MSI P35 Platinum
        ; CPU266.8-PEX100.0-PCI33.3
        aCR(0x00)=0x08,0x6D,0xFF,0xFF,0xFF,0xE0,0x55,0x31
        aCR(0x08)=0x1F,0x08,0x80,0x58,0x5F,0xF1,0x23,0x18
        aCR(0x10)=0x4B,0x12,0x24,0x80,0x00,0x00,0x80,0x19
        aCR(0x18)=0x19,0x19,0x31,0x31,0x31,0x0A,0x26,0x00
        iHostBridge=0x29C08086
        iLpcIfBridge=0x29168086
        iSMBusCtl=0x29308086
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS952623CG   ;Toshiba Dynabook
        aCR(0x00)=0x0E,0x07,0x00,0xFE,0x44,0x0B,0x07,0x31
        aCR(0x08)=0x19,0x00,0x80,0x8F,0xF5,0xE9,0x2F,0x1C
        aCR(0x10)=0x1F,0x0F
        iHostBridge=0x25708086
        iLpcIfBridge=0x24D08086
        iSMBusCtl=0x24D38086
;       iGMCHC=
        iSMBadr=0x18A0
;       iMCHC=


    DupPtrCRdata nRTM362_210    ;ABIT IS10
        ; CPU266.6-PEX100.0-PCI33.3
        aCR(0x00)=0xC2,0x7F,0x00,0xFF,0x47,0xDF,0x0B,0x8E
        aCR(0x08)=0x12,0x14,0xFC,0x49,0xFB,0xF5,0x6C,0x40
        aCR(0x10)=0x5B,0x0C,0x40,0x75,0xB6,0x53,0x95,0x95
        aCR(0x18)=0x00,0x00,0x00,0x00,0x20,0x30,0x16,0x18
;       aCR(0x00)=0xC1,0x7F,0x00,0xFF,0x47,0xDF,0x0B,0x8E
;       aCR(0x08)=0x00,0x14,0xFC,0x49,0xFB,0xF5,0x6C,0x40
;       aCR(0x10)=0x5B,0x0C,0x40,0x75,0xB6,0x53,0x95,0x95
;       aCR(0x18)=0x00,0x00,0x00,0x00,0x40,0x30,0x16,0x18
        iHostBridge=0x25708086
        iLpcIfBridge=0x28128086
        iSMBusCtl=0x24D38086
        iGMCHC=0x040D1F00
        iSMBadr=0x500
;       iMCHC=

    DupPtrCRdata nW83194BR_SD   ;Asrock 775I65G
        ; CPU133.6-DDR267.3-AGP66.6-PCI33.3
        aCR(0x00)=0x6C,0xE0,0xFF,0xEF,0xFD,0x36,0x00,0x40
        aCR(0x08)=0x8D,0xD5,0x13,0x1F,0xC4,0x8F,0x00,0x3C
        aCR(0x10)=0x24,0x00,0x00,0x0A,0x47,0x50
        iHostBridge=Intel865P
        iLpcIfBridge=0x24D08086
        iSMBusCtl=0x24D38086
;       iGMCHC=
        iSMBadr=0x0400
;       iMCHC=

    DupPtrCRdata nRTM866_485    ;
        ; CPU266.8-PEX100.0-PCI33.3
        aCR(0x00)=0xE7,0xFE,0x32,0x55,0x55,0xC0,0x22,0x2E
        aCR(0x08)=0x00,0x00,0xF8,0xEA,0x80,0x80,0x80,0xA0
        aCR(0x10)=0x50,0x50,0x50,0x00,0xA0,0xA0,0xB6,0x53
        aCR(0x18)=0x00,0x00,0x40,0x00,0x20,0x22,0x2A,0x02
        aCR(0x20)=0xF0
        iHostBridge=Intel955X
        iLpcIfBridge=IntelICH7
        iSMBusCtl=IntelICH7SMB
;       iGMCHC=
        iSMBadr=0x400
;       iMCHC=

    DupPtrCRdata nICS9LPRS919BKL    ;Foxconn MARS
        ; CPU360.0-PEX100.0-PCI33.3
        aCR(0x00)=0x64,0xB5,0xFE,0xBF,0xFF,0xB8,0x55,0x11
        aCR(0x08)=0x1F,0x07,0xE4,0x20,0xBA,0xF9,0x27,0xC8
        aCR(0x10)=0x37,0x0F,0x30,0x04,0x00,0x7F,0x00,0xBA
        aCR(0x18)=0xBA,0xBA,0x37,0x37,0x37,0x00,0x77,0x00
        iHostBridge=0x29C08086
        iLpcIfBridge=0x29168086
        iSMBusCtl=0x29308086
;       iGMCHC=
        iSMBadr=0x500
;       iMCHC=

    return

#endif

;/パラメータのロード
#const  nPRM_START              nPLL_PRMSIZE*256    ;最初の配列番号
#enum   nPRM_XSCREEN            =   nPRM_START      ;画面のX位置
#enum   nPRM_YSCREEN                                ;画面のY位置
#enum   nPRM_WSCREEN                                ;画面のXサイズ
#enum   nPRM_HSCREEN                                ;画面のYサイズ
#enum   nPRM_CLKGENCMB                              ;
#enum   nPRM_INDEX                                  ;子ウィンドウ
#enum   nPRM_TIMER                                  ;Select Timer
#enum   nPRM_ULTRA                                  ;Ultra
#enum   nPRM_COLORCMB
#enum   nPRM_RANGECMB
#enum   nPRM_SMBUSCMB

    ;Customize
#enum   nPRM_TABSTYLE                               ;タブスタイル

#enum   nPRM_COLTXTTBL                              ;
#enum   nPRM_COLBKGTBL      =   nPRM_COLTXTTBL+8    ;

#enum   nPRM_COLCLKGENTXT   =   nPRM_COLBKGTBL+8    ;
#enum   nPRM_COLCLKGENBKG                           ;
#enum   nPRM_COLSELFSBTXT                           ;
#enum   nPRM_COLSELFSBBKG                           ;
#enum   nPRM_COLSELPCITXT                           ;
#enum   nPRM_COLSELPCIBKG                           ;

#enum   nPRM_COLCURFRQTXT                           ;
#enum   nPRM_COLCURFRQBKG                           ;
#enum   nPRM_COLSELFRQTXT                           ;
#enum   nPRM_COLSELFRQBKG                           ;
#enum   nPRM_COLSELTMRTXT                           ;
#enum   nPRM_COLSELTMRBKG                           ;
#enum   nPRM_COLCPUFRQTXT                           ;
#enum   nPRM_COLCPUFRQBKG                           ;

#define nPRM_INICRC32           nPRM_START+126                  ;
#define nPRM_EXTCRC32           nPRM_START+127                  ;

#deffunc DupPtrPrm
;/変数の初期化
    ; パラメータのクローン変数
    dup xPosScn,aPLLprm(nPRM_XSCREEN)
    dup yPosScn,aPLLprm(nPRM_YSCREEN)
    dup wSizScn,aPLLprm(nPRM_WSCREEN)
    dup hSizScn,aPLLprm(nPRM_HSCREEN)
    dup iClkGenCmb,aPLLprm(nPRM_CLKGENCMB)
    dup iTabIdx,aPLLprm(nPRM_INDEX)
    dup iSelTmr,aPLLprm(nPRM_TIMER)
    dup fUltra,aPLLprm(nPRM_ULTRA)
    dup fTabSty,aPLLprm(nPRM_TABSTYLE)
    dup iColStyCmb,aPLLprm(nPRM_COLORCMB)
    dup iRngCmb,aPLLprm(nPRM_RANGECMB)
    dup iSmbCmb,aPLLprm(nPRM_SMBUSCMB)

    dup aColTxtTbl,aPLLprm(nPRM_COLTXTTBL)
    dup aColBkgTbl,aPLLprm(nPRM_COLBKGTBL)

    dup iColClkGenTxt,aPLLprm(nPRM_COLCLKGENTXT)
    dup iColClkGenBkg,aPLLprm(nPRM_COLCLKGENBKG)
    dup iColNumFsbTxt,aPLLprm(nPRM_COLSELFSBTXT)
    dup iColNumFsbBkg,aPLLprm(nPRM_COLSELFSBBKG)
    dup iColNumPciTxt,aPLLprm(nPRM_COLSELPCITXT)
    dup iColNumPciBkg,aPLLprm(nPRM_COLSELPCIBKG)

    dup iColCurFrqTxt,aPLLprm(nPRM_COLCURFRQTXT)
    dup iColCurFrqBkg,aPLLprm(nPRM_COLCURFRQBKG)
    dup iColSelFrqTxt,aPLLprm(nPRM_COLSELFRQTXT)
    dup iColSelFrqBkg,aPLLprm(nPRM_COLSELFRQBKG)
    dup iColSelTmrTxt,aPLLprm(nPRM_COLSELTMRTXT)
    dup iColSelTmrBkg,aPLLprm(nPRM_COLSELTMRBKG)
    dup iColCpuFrqTxt,aPLLprm(nPRM_COLCPUFRQTXT)
    dup iColCpuFrqBkg,aPLLprm(nPRM_COLCPUFRQBKG)

    dup iIniCrc,aPLLprm(nPRM_INICRC32)
    dup iExtCrc32,aPLLprm(nPRM_EXTCRC32)
    return

#deffunc DupPtrPLL int _p1
    dupptr szPLLmodel,varptr(aPLLprm(nPLL_INTLEN*_p1)),nPLL_STRLEN,vartype("str")
    dupptr aPLLdata,varptr(aPLLprm(nPLL_INTLEN*_p1)),nPLL_INTLEN*4,vartype("int")

    dupptr iPrmVenderID,varptr(aPLLdata(nVENDERID)),4,vartype("int")
    dupptr iPrmByteCount,varptr(aPLLdata(nBYTECOUNT)),4,vartype("int")
    dupptr iPrmFsSource,varptr(aPLLdata(nFSSOURCE)),4,vartype("int")
    dupptr iPrmFsIIc,varptr(aPLLdata(nFSIIC)),4,vartype("int")
    dupptr iPrmFsHw,varptr(aPLLdata(nFSHW)),4,vartype("int")
    dupptr iPrmCpuRatio,varptr(aPLLdata(nCPURATIO)),4,vartype("int")
    dupptr iPrmAgpRatio,varptr(aPLLdata(nAGPRATIO)),4,vartype("int")
    dupptr iPrmPciRatio,varptr(aPLLdata(nPCIRATIO)),4,vartype("int")
    dupptr iPrmMnProgEn,varptr(aPLLdata(nMNPROGEN)),4,vartype("int")
    dupptr iPrmDivMA,varptr(aPLLdata(nDIVMA)),4,vartype("int")
    dupptr iPrmDivNALo,varptr(aPLLdata(nDIVNALO)),4,vartype("int")
    dupptr iPrmDivNAHi,varptr(aPLLdata(nDIVNAHI)),4,vartype("int")
    dupptr iPrmDivMB,varptr(aPLLdata(nDIVMB)),4,vartype("int")
    dupptr iPrmDivNBLo,varptr(aPLLdata(nDIVNBLO)),4,vartype("int")
    dupptr iPrmDivNBHi,varptr(aPLLdata(nDIVNBHI)),4,vartype("int")
    dupptr iPrmAgpFSLo,varptr(aPLLdata(nAGPFSLO)),4,vartype("int")
    dupptr iPrmPciFSLo,varptr(aPLLdata(nPCIFSLO)),4,vartype("int")
    dupptr iPrmAgpPciFSHi,varptr(aPLLdata(nAGPPCIFSHI)),4,vartype("int")
    dupptr iPrmFixBit,varptr(aPLLdata(nFIXBIT)),4,vartype("int")
    dupptr iPrmFixFS,varptr(aPLLdata(nFIXFS)),4,vartype("int")
    dupptr iPrmPLLBRatio,varptr(aPLLdata(nPLLBRATIO)),4,vartype("int")
    dupptr iPrmFsbTrbOfs,varptr(aPLLdata(nFSBTRBOFS)),4,vartype("int")
    dupptr iPrmPllbGear,varptr(aPLLdata(nPLLBGEAR)),4,vartype("int")
    dupptr iPrmRefMaxMin,varptr(aPLLdata(nREFMAXMIN)),4,vartype("int")
    dupptr aPrmFixFreqTbl,varptr(aPLLdata(nFIXFREQTBL)),16,vartype("int")

    dupptr iPrmRamRatio,varptr(aPLLdata(nRAMRATIO)),4,vartype("int")
    dupptr iPrmFsbTrbMax,varptr(aPLLdata(nFSBTRBMAX)),4,vartype("int")
    dupptr iPrmFsbTrbMin,varptr(aPLLdata(nFSBTRBMIN)),4,vartype("int")
    dupptr iPrmPciTrbMax,varptr(aPLLdata(nPCITRBMAX)),4,vartype("int")
    dupptr iPrmPciTrbMin,varptr(aPLLdata(nPCITRBMIN)),4,vartype("int")

    dupptr aPrmCpuDivTbl,varptr(aPLLdata(nCPUDIVTBL)),64,vartype("int")
    dupptr aPrmAgpDivTbl,varptr(aPLLdata(nAGPDIVTBL)),64,vartype("int")
    dupptr aPrmPciDivTbl,varptr(aPLLdata(nPCIDIVTBL)),64,vartype("int")
    dupptr aPrmAgpSelTbl,varptr(aPLLdata(nAGPSELTBL)),32,vartype("int")
    dupptr aPrmPciSelTbl,varptr(aPLLdata(nPCISELTBL)),32,vartype("int")

    dupptr aPrmFsbRefNTbl,varptr(aPLLdata(nFSBREFNTBL)),64,vartype("int")
    dupptr aPrmFsbRefUTbl,varptr(aPLLdata(nFSBREFUTBL)),64,vartype("int")
    dupptr aPrmPllbRefTbl,varptr(aPLLdata(nPLLBREFTBL)),64,vartype("int")
    dupptr aPrmPllbDivTbl,varptr(aPLLdata(nPLLBDIVTBL)),64,vartype("int")

    dupptr aPrmCpuFreqTbl,varptr(aPLLdata(nCPUFREQTBL)),128,vartype("int")
    dupptr aPrmAgpFreqTbl,varptr(aPLLdata(nAGPFREQTBL)),128,vartype("int")
    dupptr aPrmPciFreqTbl,varptr(aPLLdata(nPCIFREQTBL)),128,vartype("int")
    dupptr aPrmFsbGearTbl,varptr(aPLLdata(nFSBGEARTBL)),128,vartype("int")

    return

#deffunc GetClockGeneratorName
    repeat nPLL_PRMSIZE*2
        DupPtrPLL cnt
        szClkGenName+=szPLLmodel+"\n"
        if szPLLmodel="PLL diagnosis" : break
    loop
    return

#defcfunc PLLcodeByte int _p1, int _p2, int _p3, int _p4
    return MAKELONG(MAKEWORD(_p1,_p2),MAKEWORD(_p3,_p4))
#defcfunc PLLcodeWord int _p1, int _p2
    return MAKELONG(_p1,_p2)

#deffunc InitPLLprm
;*******************************************************************************
;  x=0 NG : CpuRatiox, AgpRatiox, PciRatiox, PLLBdiv0
;           FsbRefMax, FsbRefMin, PciRefMax, PciRefMin, RefFsbNx, RefFsbUx
;           DivMx_Unmask=0 -> M_Ofsetを注意
;           CpuRatio
;*******************************************************************************
    DupPtrPLL nRTM866_485 : szPLLmodel="RTM866-485" ;
        iPrmVenderID=PLLcodeByte(nREALTEK_VENDERID_IIC,0x0F,nREALTEK_VENDERID_VAL,0x84)     ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,0x20,0x30)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(8,0x80,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(8,7,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0x1C,0x70,4,2)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0x1D,7,0,0)                                    ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0x1E,0x70,4,6)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(0x1F,1,0,5)                                    ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(0x11,0x7F,1,1)                          ;IIC Register07, Unmask07,left, Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(0x13,5,4,0)                         ;IIC Register8, Unmask8, right, -
        iPrmDivMB=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0x12,0x7F,0,1)                          ;IIC Register29, Unmask29, left, Fix_PLLBM4
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0x1D,1,0x1D,2)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0x1E,0x10,0x1E,0x20)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmAgpPciFSHi=PLLcodeByte(0x1F,4,0x1E,0x40)                                    ;IIC RegisterC, UnmaskC, IIC RegisterC, UnmaskC
        iPrmFixFS=PLLcodeByte(0x20,8,0x20,0x10)                                 ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(10000,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(1,1,1,1)                              ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3750,255)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3530,65)                              ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(3333,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(3333,32)                              ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,8,1,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,10,20,0)                            ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(4,8,24,1)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(6,1,30,2)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(8,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,1)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,2)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($D)=PLLcodeByte(0,0,0,3)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($E)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($F)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(1,1,1,24)                        ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(1,1,0,0)                     ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(1,1,0,0)                     ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(1,1,0,0)                     ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(1,1,0,0)                     ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(1,1,0,0)                     ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(1,1,0,0)                     ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(1,1,0,0)                     ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,5000)                           ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,5000)                           ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,5000)                           ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,5000)                           ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,5000)                           ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,5000)                           ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,5000)                           ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,5000)                           ;PCI Freq7, Cpu Gear7

    DupPtrPLL nW83194BR_SD : szPLLmodel="W83194BR-SD"
        iPrmVenderID=PLLcodeByte(20,0xFF,0x47,7)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,-1,-1)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,4,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x38,0,3)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(1,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(12,0x03,0,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(12,0x70,4,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(12,0x70,4,1)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(13,0x80,0,1)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(8,0x7F,0,4)                               ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(9,0xFF,0,0)                         ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(8,0x80,0,0)                         ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0xCD)                               ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(10,0x7F,0,16)                               ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(4,1,4,2)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(4,1,4,2)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(7,1,7,2)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,32)                              ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,16,16)                          ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3605,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(3435,32)                              ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,5,10,0)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,6,12,1)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(4,7,14,1)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(5,8,16,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(0,10,20,0)                            ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($5)=PLLcodeByte(0,12,24,0)                            ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($6)=PLLcodeByte(0,12,24,0)                            ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($7)=PLLcodeByte(0,12,24,0)                            ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,6,16,6)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,6,0,0)                        ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,6,0,0)                            ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,6,0,0)                            ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,6,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,6,0,0)                            ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,6,0,0)                            ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,6,0,0)                            ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6666)                          ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(20000,6666)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(13333,6666)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,6666)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(20000,6666)                          ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($5)=PLLcodeWord(40000,6666)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($6)=PLLcodeWord(26666,6666)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($7)=PLLcodeWord(33333,6666)                          ;CPU Freq3, AGP Freq3

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3

    DupPtrPLL nRTM362_210 : szPLLmodel="RTM362-210" ;
        iPrmVenderID=PLLcodeByte(0,0,-1,0x81)       ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,0x20,0x30)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,1)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0x1C,0x70,4,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(0,0,1,0)                                   ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0x0B,0xFF,2,8)                                ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(0x11,0xFF,5,0)                          ;IIC Register07, Unmask07,left, Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(0x12,0xF8,3,0)                          ;IIC Register8, Unmask8, right, -
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                            ;IIC Register29, Unmask29, left, Fix_PLLBM4
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(100,0)                                        ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(600,0)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(255,1,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3300,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(16,1,1,3)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(16,1,1,0)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(16,1,1,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(16,1,1,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(24,1,1,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(32,1,1,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(16,1,1,0)                         ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(16,1,1,0)                         ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
;       aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
;       aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
;       aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(73,58,1,48)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(73,58,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(73,58,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(73,58,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(73,58,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(73,58,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(73,58,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(73,58,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,600)                            ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,600)                            ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,600)                            ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,600)                            ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,600)                            ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,600)                            ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,600)                            ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,600)                            ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS952623CG : szPLLmodel="ICS952623CG"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,19)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,3,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,25)                              ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,1,1)                         ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,131)                            ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(4,6,12,0)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,6,12,0)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,6,12,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(3,6,12,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3

;       aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(7,4,1,1)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(10,6,0,0)                            ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(10,6,0,0)                            ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(10,6,0,0)                            ;RefFsbN3, RefFsbU3, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6666)                          ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,6666)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,6666)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,6666)                          ;CPU Freq3, AGP Freq3

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3

    DupPtrPLL nICS9LPRS906CGLF : szPLLmodel="ICS9LPRS906CGLF"       ;
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,1)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0,0x80,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB

        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(48,43)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(2,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(2,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(2,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(48,24,48,18)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(24,18,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(24,18,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(24,18,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(24,18,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(24,18,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(24,18,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(24,18,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,48)                         ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,48)                         ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,48)                         ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,48)                         ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,48)                         ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,48)                         ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,48)                         ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,48)                         ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS952803AF  : szPLLmodel="ICS952803AF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,2)    ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,15)         ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(4,8,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(4,0xF4,0,2)                           ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(5,0x1F,0,2)                            ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                     ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                     ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,1)                     ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,1)                       ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                          ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(1,0xFF,0,17)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,1,0,0)                                ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,1,0,0)                                ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                              ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                          ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14346,49)                              ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,17,17)                          ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(0,511)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)   =PLLcodeWord(3300,131)                          ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)   =PLLcodeWord(3770,255)                          ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)   =PLLcodeWord(4000,65)                               ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(4,12,24,2)                            ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,12,24,1)                            ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(3,12,24,0)                            ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(3,12,24,0)                            ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(6,12,24,0)                            ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(5,12,24,0)                            ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(4,12,24,0)                        ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(4,12,24,0)                        ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(4,2,17,2)                        ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(4,2,0,0)                         ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(4,2,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(4,2,0,0)                         ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(20000,6666)                      ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(23333,6666)                      ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(26667,6666)                      ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(29334,7333)                      ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(13333,6666)                      ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(16667,6666)                      ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(20200,6733)                      ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(22000,7333)                      ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3666,14318)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3366,14318)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3666,14318)                      ;PCI Freq7, Cpu Gear7

    DupPtrPLL nW83115RG_BW : szPLLmodel="W83115RG-BW"   ;
        iPrmVenderID=PLLcodeByte(7,0xFF,4,7)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,-1,-1)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(13,4,0,0)                                  ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(13,0x38,0,3)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0xE0,0,5)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,1)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(14,8,0,1)                          ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(10,0x1F,0,4)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(11,0xFF,10,0x20)                            ;IIC Register07, Unmask07, IIC Register10, Unmask10
        iPrmDivNAHi=PLLcodeByte(10,0x80,10,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,4)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(12,0xFF,3,16)                               ;IIC Register07, Unmask07, N_Ofset[x0x100], DivMB_Fix
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(14,0x10,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(14,0x10,1,1)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(31,1,16,16)                           ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,2047)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,527)                            ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,255)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,65)                             ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(3,8,24,0)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(6,8,24,1)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(4,8,24,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(4,8,24,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,8,24,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(8,8,24,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,8,24,0)                     ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(3,8,24,0)                     ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(1,1,1,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($A)=PLLcodeByte(1,1,1,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($B)=PLLcodeByte(1,1,1,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(24,16,16,24)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(24,16,0,0)                       ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(18,12,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(18,12,0,0)                           ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(18,12,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(18,12,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(18,12,0,0)                           ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(24,16,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(23333,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                      ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS9LPRS919BKL : szPLLmodel="ICS9LPRS919BKL"     ;same as ICS9LPRS916BGLF
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0,0x80,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,140)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(36,18,18,12)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(36,18,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(36,18,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(36,18,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(36,18,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(36,18,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(36,18,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(36,18,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS9LPRS918BKL : szPLLmodel="ICS9LPRS918BKL"     ;same as ICS9LPRS916BGLF
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0,0x80,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,140)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(36,18,18,12)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(36,18,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(36,18,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(36,18,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(36,18,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(36,18,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(36,18,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(36,18,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS9LPRS916BGLF : szPLLmodel="ICS9LPRS916BGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0,0x80,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,140)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(36,18,18,12)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(36,18,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(36,18,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(36,18,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(36,18,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(36,18,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(36,18,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(36,18,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nW83195BG_101 : szPLLmodel="W83195BG-101" ;ASRock ConRoeXFire-eSATA2
        iPrmVenderID=PLLcodeByte(7,0xFF,0x22,7)     ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,-1,-1)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,4,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x38,0,3)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(1,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(12,7,0,0)                          ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(12,0x18,3,0)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(12,0x60,5,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(13,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(8,0x3F,0,4)                               ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(9,0xFF,13,0x40)                         ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(8,0x80,8,0x40)                          ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0x84)                               ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(10,0x7F,1,16)                               ;IIC Register07, Unmask07, N_Ofset[x0x100], DivMB_Fix
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,16,16)                           ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,2047)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,527)                            ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,32)                             ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(2,3,12,1)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,4,16,0)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(4,8,20,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(6,6,24,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(8,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(8,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(8,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(8,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(48,24,16,12)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(32,16,0,0)                       ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(24,12,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(16,8,0,0)                            ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,6,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,6,0,0)                            ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,6,0,0)                            ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,6,0,0)                            ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                      ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS9LPRS509HGLF : szPLLmodel="ICS9LPRS509HGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x00,0x80,0)                            ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,140)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
;       aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
;       aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
;       aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(36,24,24,9)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(24,16,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(24,16,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(24,16,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(24,16,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(24,16,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(24,16,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(24,16,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS954227CGLF : szPLLmodel="ICS954227CGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(10,10,0xFF,0x15)              ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(15,0x40,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(17,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(18,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(17,0x80,17,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,176)                             ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                            ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(6,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(6,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(6,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(6,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(6,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(6,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(6,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(6,4,32,6)                        ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(6,4,0,0)                     ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(6,4,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(6,4,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(6,4,0,0)                     ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(6,4,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(6,4,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(6,4,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS9LPRS552AGLF : szPLLmodel="ICS9LPRS552AGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0x1A,0x1F)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,1)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0x1D,0x0F,0,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0x1D,0xF0,4,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0x1D,0xF0,4,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(1,4,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(48,43)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,6,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,9,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,15,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,9,27,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,12,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,18,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,30,0)                           ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,18,54,0)                           ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,24,2)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,36,0)                           ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,60,0)                           ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,36,108,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,48,0)                           ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,72,0)                           ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,120,0)                          ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,72,216,0)                          ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(54,36,48,18)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(36,24,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(21,14,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(15,10,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(27,18,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(18,12,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(18,12,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(18,12,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,48)                         ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,48)                         ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,48)                         ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,48)                         ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,48)                         ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,48)                         ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,48)                         ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,48)                         ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS950812BG : szPLLmodel="ICS950812BG"
        iPrmVenderID=PLLcodeByte(6,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,0x12)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,3,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0x0F,0,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(16,0x0F,0,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(16,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,131)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,2,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(15,15,15,0)                           ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,4,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(30,30,30,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,8,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(60,60,60,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,16,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(120,120,120,0)                        ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(16,10,1,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(10,6,0,0)                            ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(5,4,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(7,4,0,0)                     ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord( 6666,6666)                          ;CPU Freq0, AGP Freq0 (tableICS950812)
        aPrmCpuFreqTbl($1)=PLLcodeWord(10000,6666)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,6666)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(13333,6666)                          ;CPU Freq3, AGP Freq3

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                              ;PCI Freq1, (Cpu Gear1)
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                              ;PCI Freq2, (Cpu Gear2)
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                              ;PCI Freq3, (Cpu Gear3)
        aPrmPciFreqTbl($4)=PLLcodeWord(0,14318)                         ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($5)=PLLcodeWord(0,14318)                             ;PCI Freq1, (Cpu Gear1)
        aPrmPciFreqTbl($6)=PLLcodeWord(0,14318)                             ;PCI Freq2, (Cpu Gear2)
        aPrmPciFreqTbl($7)=PLLcodeWord(0,14318)                             ;PCI Freq3, (Cpu Gear3)
        aPrmPciFreqTbl($8)=PLLcodeWord(0,14318)                         ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($9)=PLLcodeWord(0,14318)                             ;PCI Freq1, (Cpu Gear1)
        aPrmPciFreqTbl($A)=PLLcodeWord(0,14318)                             ;PCI Freq2, (Cpu Gear2)
        aPrmPciFreqTbl($B)=PLLcodeWord(0,14318)                             ;PCI Freq3, (Cpu Gear3)
        aPrmPciFreqTbl($C)=PLLcodeWord(0,14318)                         ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($D)=PLLcodeWord(0,14318)                             ;PCI Freq1, (Cpu Gear1)
        aPrmPciFreqTbl($E)=PLLcodeWord(0,14318)                             ;PCI Freq2, (Cpu Gear2)
        aPrmPciFreqTbl($F)=PLLcodeWord(0,14318)                             ;PCI Freq3, (Cpu Gear3)

    DupPtrPLL nICS951403CF  : szPLLmodel="ICS951403CF"
        iPrmVenderID=PLLcodeByte(0,0,-1,6)  ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,0x12)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,8,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0xF4,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(5,0x70,0,4)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,7,0xFF,0)                            ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,7,0xFF,1)                            ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,7,0xFF,0)                            ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,1,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,7,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmRamRatio=PLLcodeByte(0,7,0xFF,0)                                ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(4,8,16,0)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(4,8,16,0)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(4,8,16,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(4,8,16,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(3,6,12,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(3,6,12,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(3,6,12,0)                         ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(3,6,12,0)                         ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
;       aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(7,4,1,1)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(7,4,1,1)                         ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(7,4,1,1)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(7,4,1,1)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(10,6,1,1)                            ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(10,6,1,1)                            ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(10,6,1,1)                            ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(10,6,1,1)                            ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6667)                      ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(10000,6667)                      ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(10000,6000)                      ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(10000,6667)                      ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(13333,6667)                      ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(12500,6250)                      ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(12400,6200)                      ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(13333,6667)                      ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(11200,6720)                      ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(15000,6000)                      ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(11111,6667)                      ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(11000,6600)                      ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(16667,6667)                      ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord( 9000,6000)                      ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord( 4800,6400)                      ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord( 4500,6000)                      ;CPU FreqF, AGP FreqF

        aPrmCpuFreqTbl($10)=PLLcodeWord(10030,6687)                     ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($11)=PLLcodeWord(10030,6687)                     ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($12)=PLLcodeWord(10500,6300)                     ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($13)=PLLcodeWord(10030,6687)                     ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($14)=PLLcodeWord(11000,6600)                     ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($15)=PLLcodeWord(10300,6867)                     ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($16)=PLLcodeWord(10300,6867)                     ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($17)=PLLcodeWord(13373,6687)                     ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($18)=PLLcodeWord(13373,6687)                     ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($19)=PLLcodeWord(14000,7000)                     ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($1A)=PLLcodeWord(13733,6867)                     ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($1B)=PLLcodeWord(13733,6867)                     ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($1C)=PLLcodeWord(10500,7000)                     ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($1D)=PLLcodeWord(13833,6917)                     ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($1E)=PLLcodeWord(20000,6667)                     ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($1F)=PLLcodeWord(10425,6950)                     ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,10000)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,13333)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3000,15000)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333, 6667)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,13333)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3125,10000)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3100,12400)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,10000)                      ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3360,11200)                      ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(3000,15000)                      ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(3333,16667)                      ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3300,16500)                      ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3333,16667)                      ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(3000, 9000)                      ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3200, 4800)                      ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(3000, 6000)                      ;PCI FreqF, Cpu GearF

        aPrmPciFreqTbl($10)=PLLcodeWord(3343,10030)                     ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($11)=PLLcodeWord(3343,13373)                     ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($12)=PLLcodeWord(3150,15750)                     ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($13)=PLLcodeWord(3343, 6687)                     ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($14)=PLLcodeWord(3300,11000)                     ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($15)=PLLcodeWord(3433,10300)                     ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($16)=PLLcodeWord(3433,13733)                     ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($17)=PLLcodeWord(3343,10030)                     ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($18)=PLLcodeWord(3343,13373)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($19)=PLLcodeWord(3500,14000)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($1A)=PLLcodeWord(3433,10300)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($1B)=PLLcodeWord(3433,13733)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($1C)=PLLcodeWord(3500,10500)                     ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($1D)=PLLcodeWord(3458,13833)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($1E)=PLLcodeWord(3333,20000)                     ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($1F)=PLLcodeWord(3475,13900)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS9248EF_199    : szPLLmodel="ICS9248D/EF-199"
        iPrmVenderID=PLLcodeByte(0,0,-1,5)  ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,0x12)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(4,8,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(4,0xF4,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(7,0x3C,0,2)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0x0F,0,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(17,0x0F,0,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(16,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmRamRatio=PLLcodeByte(15,0xF0,4,0)                               ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,4,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,7,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,8,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,14,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,16,0)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,28,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,32,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,56,0)                       ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(16,10,1,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(10,6,1,1)                            ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(5,3,1,1)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,1,1)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(7,4,1,1)                         ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,1,1)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,1,1)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,1,1)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,1,1)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,1,1)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,1,1)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,1,1)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,1,1)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,1,1)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,1,1)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,1,1)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(6666,6666)                       ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(10000,6666)                      ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(16666,6666)                      ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(13333,6666)                      ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(6666,6666)                       ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,6666)                      ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(10000,6666)                      ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(13333,6666)                      ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(11200,6720)                      ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(12400,6200)                      ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(13800,6900)                      ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(15000,6000)                      ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(10000,6250)                      ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord(13333,6666)                      ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord(15000,6000)                      ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord(16000,6000)                      ;CPU FreqF, AGP FreqF

        aPrmCpuFreqTbl($10)=PLLcodeWord(9000,6000)                      ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($11)=PLLcodeWord(10090,6727)                     ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($12)=PLLcodeWord(10300,6867)                     ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($13)=PLLcodeWord(13390,6867)                     ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($14)=PLLcodeWord(13733,6695)                     ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($15)=PLLcodeWord(13733,6867)                     ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($16)=PLLcodeWord(10090,6695)                     ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($17)=PLLcodeWord(13390,6695)                     ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($18)=PLLcodeWord(10700,7133)                     ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($19)=PLLcodeWord(10700,7133)                     ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($1A)=PLLcodeWord(14266,7133)                     ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($1B)=PLLcodeWord(11000,7333)                     ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($1C)=PLLcodeWord(11000,7333)                     ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($1D)=PLLcodeWord(14666,7333)                     ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($1E)=PLLcodeWord(16670,6668)                     ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($1F)=PLLcodeWord(20000,6666)                     ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,6666)                       ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,10000)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,16666)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,13333)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,10000)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,6666)                       ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,13333)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,10000)                      ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3360,11200)                      ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(3100,12400)                      ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(3450,13800)                      ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3000,15000)                      ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3125,16666)                      ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(3333,16666)                      ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3000,10000)                      ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(3000,12000)                      ;PCI FreqF, Cpu GearF

        aPrmPciFreqTbl($10)=PLLcodeWord(3000,9000)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($11)=PLLcodeWord(3363,10090)                     ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($12)=PLLcodeWord(3433,10300)                     ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($13)=PLLcodeWord(3348,13390)                     ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($14)=PLLcodeWord(3433,10300)                     ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($15)=PLLcodeWord(3433,13733)                     ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($16)=PLLcodeWord(3348,13390)                     ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($17)=PLLcodeWord(3348,10090)                     ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($18)=PLLcodeWord(3566,10700)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($19)=PLLcodeWord(3566,14266)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($1A)=PLLcodeWord(3566,14266)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($1B)=PLLcodeWord(3666,11000)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($1C)=PLLcodeWord(3666,14666)                     ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($1D)=PLLcodeWord(3666,14666)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($1E)=PLLcodeWord(3125,12500)                     ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($1F)=PLLcodeWord(3333,20000)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS952001AF  : szPLLmodel="ICS952001AF"
        iPrmVenderID=PLLcodeByte(0,0,-1,5)  ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,0x12)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(4,8,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(4,0xF4,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(5,0x1F,0,0)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0x0F,0,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(16,0xF0,4,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(17,0x0F,0,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmRamRatio=PLLcodeByte(15,0xF0,4,0)                               ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,4,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,7,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,8,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,14,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,16,0)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,28,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,32,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,56,0)                       ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(16,10,1,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(10,6,1,1)                            ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(5,3,1,1)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,1,1)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(7,4,1,1)                         ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,1,1)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,1,1)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,1,1)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,1,1)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,1,1)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,1,1)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,1,1)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,1,1)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,1,1)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,1,1)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,1,1)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(6667,6667)                       ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(10000,6667)                      ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(10000,6667)                      ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(10000,6667)                      ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(10000,6000)                      ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,6250)                      ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(10000,6667)                      ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(10000,6667)                      ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(10000,6667)                      ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(10000,6250)                      ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(10000,8333)                      ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(8000,6667)                       ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(8000,6667)                       ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord(9500,6333)                       ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord(9500,6333)                       ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord(6667,5000)                       ;CPU FreqF, AGP FreqF

        aPrmCpuFreqTbl($10)=PLLcodeWord(10500,7000)                     ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($11)=PLLcodeWord(10090,6727)                     ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($12)=PLLcodeWord(10800,7200)                     ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($13)=PLLcodeWord(10090,6727)                     ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($14)=PLLcodeWord(11200,7467)                     ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($15)=PLLcodeWord(13333,6667)                     ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($16)=PLLcodeWord(13333,6667)                     ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($17)=PLLcodeWord(13333,6667)                     ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($18)=PLLcodeWord(10000,6667)                     ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($19)=PLLcodeWord(10000,6667)                     ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($1A)=PLLcodeWord(10000,6250)                     ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($1B)=PLLcodeWord(13333,6667)                     ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($1C)=PLLcodeWord(10000,6667)                     ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($1D)=PLLcodeWord(10000,6667)                     ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($1E)=PLLcodeWord(10000,6250)                     ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($1F)=PLLcodeWord(13333,6667)                     ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,6667)                       ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,10000)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,20000)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,13333)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3000,15000)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3125,12500)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,16000)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,13333)                      ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3333,20000)                      ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(3125,16667)                      ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(4167,16667)                      ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3333,13333)                      ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3333,13333)                      ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(3167,9500)                       ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3167,12667)                      ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(2500,6667)                       ;PCI FreqF, Cpu GearF

        aPrmPciFreqTbl($10)=PLLcodeWord(3500,14000)                     ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($11)=PLLcodeWord(3363,10090)                     ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($12)=PLLcodeWord(3600,14400)                     ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($13)=PLLcodeWord(3363,13453)                     ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($14)=PLLcodeWord(3733,14933)                     ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($15)=PLLcodeWord(3333,10000)                     ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($16)=PLLcodeWord(3333,13333)                     ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($17)=PLLcodeWord(3333,16667)                     ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($18)=PLLcodeWord(3333,13300)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($19)=PLLcodeWord(3333,10000)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($1A)=PLLcodeWord(3125,16667)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($1B)=PLLcodeWord(3333,16000)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($1C)=PLLcodeWord(3333,13300)                     ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($1D)=PLLcodeWord(3333,10000)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($1E)=PLLcodeWord(3125,16667)                     ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($1F)=PLLcodeWord(3333,16000)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nRTM520_39D : szPLLmodel="RTM520-39D" ;
        iPrmVenderID=PLLcodeByte(0,0,-1,0)      ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,-1,0x16)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0x13,8,3,0)                                    ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0x13,8,3,1)                                    ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0x13,8,3,0)                                    ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(0,0,1,0)                                   ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0x12,0xFF,1,1)                                ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(0x11,0xFF,0,0)                          ;IIC Register07, Unmask07,(Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(0,0,0,0)                            ;IIC Register8, Unmask8, right, -
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                            ;IIC Register29, Unmask29, left, Fix_PLLBM4
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(255,1,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,255)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,65)                             ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,3,8,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,3,6,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1

;       aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0

        aPrmFsbRefNTbl($0)=PLLcodeByte(15,11,1,3)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(15,11,0,0)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6667)                          ;CPU Freq0, AGP Freq0 (tableICS954321)

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,28636)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,28636)                          ;PCI Freq1, Cpu Gear1

    DupPtrPLL nICS953002DFLF : szPLLmodel="ICS953002DFLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,22)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(15,0x0F,0,0)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(15,0x0F,0,1)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,2)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(17,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(18,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(17,0x80,17,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(7,0x10,7,0x20)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(7,0x40,7,0x80)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
;       iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
;       iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,148)                             ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,263)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,1023)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,6,3)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,9,1)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,15,3)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,21,1)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,24,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,18,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,30,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,42,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,24,3)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,36,1)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,60,3)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,84,3)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,48,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,72,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,120,0)                      ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,168,0)                      ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,10,7,24)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(14,6,0,0)                        ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(7,2,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(5,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(10,4,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(6,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7
;       aPrmPciFreqTbl($8)=PLLcodeWord(0,14318)                     ;PCI Freq8, Cpu Gear8
;       aPrmPciFreqTbl($9)=PLLcodeWord(0,14318)                     ;PCI Freq9, Cpu Gear9
;       aPrmPciFreqTbl($A)=PLLcodeWord(0,14318)                     ;PCI FreqA, Cpu GearA
;       aPrmPciFreqTbl($B)=PLLcodeWord(0,14318)                     ;PCI FreqB, Cpu GearB
;       aPrmPciFreqTbl($C)=PLLcodeWord(0,14318)                     ;PCI FreqC, Cpu GearC
;       aPrmPciFreqTbl($D)=PLLcodeWord(0,14318)                     ;PCI FreqD, Cpu GearD
;       aPrmPciFreqTbl($E)=PLLcodeWord(0,14318)                     ;PCI FreqE, Cpu GearE
;       aPrmPciFreqTbl($F)=PLLcodeWord(0,14318)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS9LPR501HGLF : szPLLmodel="ICS9LPR501HGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(12,12,0xFF,0x1C)              ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,1)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0xE0,0,5)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(24,0x0F,0,0)                                   ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(25,0x0F,0,0)                                   ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(25,0xF0,4,1)                                   ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(21,0x2,0,2)                            ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(22,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(23,0xFF,0,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(22,0x80,22,0x40)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(17,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(18,0xFF,0,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(17,0x80,17,0x40)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,4,21,1)                                   ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(1,1,21,1)                                   ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(197,0)                                        ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(48,60)                                 ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,255)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,65)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,2,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,1)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,9,9,1)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,4,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                           ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,18,18,0)                           ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,8,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,1)                           ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,3)                           ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,36,36,1)                           ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,16,0)                           ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                           ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                           ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,72,72,0)                           ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(50,50,8,18)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(50,50,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(50,50,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(50,50,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(50,50,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(50,50,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(50,50,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(50,50,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,100)                            ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,100)                            ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,100)                            ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,100)                            ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,100)                            ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,100)                            ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,100)                            ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,100)                            ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS950405AF : szPLLmodel="ICS950405AF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(6,6,0xFF,15)              ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x20,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x0F,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0x0F,0,0)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,-1)                                    ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(9,0x40,0,0)                                 ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(9,0x40,0,0)                                 ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(9,0x80,0,0)                                   ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,1,1)                             ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3300,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3770,263)                             ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,3,6,3)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,4,8,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,5,10,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(2,6,12,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,3,6,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(2,4,8,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,5,10,0)                         ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(2,6,12,0)                         ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(2,5,10,3)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(2,6,12,0)                         ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(2,6,12,0)                         ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(2,8,16,0)                         ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(2,8,16,0)                         ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(2,7,14,0)                         ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(2,8,16,0)                         ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(2,8,16,0)                         ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,10,1,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(22,10,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(22,10,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(22,10,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(22,10,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(22,10,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(22,10,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(22,10,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(22,10,0,0)                       ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(22,10,0,0)                       ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(22,10,0,0)                       ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(22,10,0,0)                       ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(22,10,0,0)                       ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(22,10,0,0)                       ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(22,10,0,0)                       ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(22,10,0,0)                       ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10090,6727)                          ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(13390,6695)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(16800,6720)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(20200,6733)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(10020,6680)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(13350,6675)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(16670,6668)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20040,6680)                          ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(15000,6000)                          ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($9)=PLLcodeWord(18000,6000)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($A)=PLLcodeWord(21000,7000)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($B)=PLLcodeWord(24000,6000)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($C)=PLLcodeWord(27000,6750)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($D)=PLLcodeWord(23333,6667)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($E)=PLLcodeWord(26667,6667)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($F)=PLLcodeWord(30000,7500)                          ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3363,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3348,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3360,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3367,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3340,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3338,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3334,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3340,14318)                          ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3000,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($9)=PLLcodeWord(3000,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($A)=PLLcodeWord(3500,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($B)=PLLcodeWord(3000,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($C)=PLLcodeWord(3375,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($D)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($E)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($F)=PLLcodeWord(3750,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS94228BF : szPLLmodel="ICS94228BF"
        iPrmVenderID=PLLcodeByte(6,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,18)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x40,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x0F,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(5,0x0F,0,0)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(4,0x40,0,0)                            ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(9,0x7F,2,8)                                   ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(10,0xFF,1,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(9,0x80,7,0)                             ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(0,0,1,1)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,131)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,6,12,0)                         ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,6,12,0)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,6,12,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(2,6,12,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,5,10,0)                         ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(2,5,10,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,5,10,0)                         ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(2,4,8,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(2,4,8,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(2,4,8,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(3,5,10,0)                         ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(2,2,4,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(2,6,12,0)                         ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(2,5,10,0)                         ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(2,3,6,0)                          ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(2,4,8,0)                          ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,9,1,1)                        ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,9,0,0)                        ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,9,0,0)                        ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,9,0,0)                        ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,9,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,9,0,0)                        ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,9,0,0)                        ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,9,0,0)                        ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(12,9,0,0)                        ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(12,9,0,0)                        ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(12,9,0,0)                        ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(12,9,0,0)                        ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(12,9,0,0)                        ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(12,9,0,0)                        ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(12,9,0,0)                        ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(12,9,0,0)                        ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(23333,7778)                          ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(22000,7333)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(21000,7000)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(20000,6667)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(19000,7600)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(18000,7200)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(17000,6800)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(15000,7500)                          ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(14000,7000)                          ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($9)=PLLcodeWord(12000,6000)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($A)=PLLcodeWord(11000,6600)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($B)=PLLcodeWord(6667,6667)                           ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($C)=PLLcodeWord(20000,6667)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($D)=PLLcodeWord(16667,6667)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($E)=PLLcodeWord(10000,6667)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($F)=PLLcodeWord(13333,6667)                          ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3888,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3667,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3500,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3800,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3600,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3400,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3750,14318)                          ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3500,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($9)=PLLcodeWord(3000,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($A)=PLLcodeWord(3300,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($B)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($C)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($D)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($E)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($F)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS94225AF : szPLLmodel="ICS94225AF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0xE0,0x20,1)     ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,21)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(6,2,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(6,0x70,0,4)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,0x70,0,4)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,1)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,1,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,7,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(0,0,1,1)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,131)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

;       aPrmCpuDivTbl($0)=PLLcodeByte(2,1,2,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
;       aPrmCpuDivTbl($1)=PLLcodeByte(2,1,2,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
;       aPrmCpuDivTbl($2)=PLLcodeByte(2,1,2,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
;       aPrmCpuDivTbl($3)=PLLcodeByte(2,1,2,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
;       aPrmCpuDivTbl($4)=PLLcodeByte(2,1,2,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
;       aPrmCpuDivTbl($5)=PLLcodeByte(2,1,2,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
;       aPrmCpuDivTbl($6)=PLLcodeByte(2,1,2,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
;       aPrmCpuDivTbl($7)=PLLcodeByte(2,1,2,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($0)=PLLcodeByte(2,4,8,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,3,6,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,3,6,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(2,3,6,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,3,6,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(2,3,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,3,6,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(2,3,6,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,9,1,1)                        ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,9,0,0)                        ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,9,0,0)                        ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,9,0,0)                        ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,9,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,9,0,0)                        ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,9,0,0)                        ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,9,0,0)                        ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(13333,6667)                          ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(9500,6333)                           ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(10099,6733)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(11500,7667)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(10070,6713)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10300,6867)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(10500,7000)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(11000,7333)                          ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3167,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3366,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3833,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3357,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3433,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3500,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3667,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nRTM876_660 : szPLLmodel="RTM876-660" ;
        iPrmVenderID=PLLcodeByte(0,0,-1,0x84)       ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,0x20,0x30)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(0,0,1,0)                                   ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0,0,0,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(0x11,0xFF,2,12)                         ;IIC Register07, Unmask07,left, Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(0x13,0xC0,6,0)                          ;IIC Register8, Unmask8, right, -
        iPrmDivMB=PLLcodeByte(0,0,0,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset

;       iPrmDivNBLo=PLLcodeByte(0x12,0xFF,0,1)  ->NG                        ;IIC Register07, Unmask07, - , Fix_PLLBM4
;       iPrmDivNBLo=PLLcodeByte(0x21,0xFF,0,1)  ->未                        ;IIC Register07, Unmask07, - , Fix_PLLBM4
        iPrmDivNBLo=PLLcodeByte(0x12,0x00,0,1)                          ;IIC Register29, Unmask29, left, Fix_PLLBM4

        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(203,0)                                        ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(1250,0)                                    ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(12,12,1,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,127)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,3)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,12,1,3)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,12,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,12,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,12,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,12,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,12,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,12,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,12,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,10000)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,10000)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,10000)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,10000)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,10000)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,10000)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,10000)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,10000)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS952607EF  : szPLLmodel="ICS952607EF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)    ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,25)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x80,0,0)                            ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x0F,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(24,0x0F,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0x0F,0,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(16,0x0F,0,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(16,0x0F,0,1)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,1)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(5,0x0F,2,8)                               ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(6,0x7F,0,0)                             ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(5,0x20,5,0x40)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(5,0x20,5,0x40)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(6,0x80,3,0x80)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(8000,25)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,15,1)                           ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,32)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,4,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,6,1)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,10,1)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,14,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,8,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,12,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,20,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,28,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,16,0)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,24,1)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,40,1)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,56,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,32,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,48,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,80,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,112,0)                      ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(10,7,10,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(6,4,0,0)                         ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(4,2,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(4,2,0,0)                         ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6666)                      ;CPU Freq0, AGP Freq0
        aPrmCpuFreqTbl($1)=PLLcodeWord(20000,6666)                      ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(13333,6666)                      ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16667,6666)                      ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(20000,6666)                      ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(40000,6666)                      ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(26667,6666)                      ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(33333,6666)                      ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(10100,6733)                      ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(20200,6733)                      ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(13465,6733)                      ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(16831,6733)                      ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(11500,7666)                      ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord(23000,7666)                      ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord(15333,7666)                      ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord(19167,7666)                      ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                      ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                      ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3366,14318)                      ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(3366,14318)                      ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(3366,14318)                      ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3366,14318)                      ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3833,14318)                      ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(3833,14318)                      ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3833,14318)                      ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(3833,14318)                      ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS9LPRS587AGLF : szPLLmodel="ICS9LPRS587AGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,19)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x00,0x80,0)                            ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(1,0x10,4,0)                               ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(200,0)                                    ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(48000,43)                                  ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                                ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                    ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                               ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                    ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                              ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,0)                              ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,1,1,0)                              ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                              ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                              ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                              ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                              ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                              ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,2)                              ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(48,48,12,72)                         ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(48,48,48,18)                         ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(24,24,0,0)                           ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(48,48,0,0)                           ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(48,48,0,0)                           ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(48,48,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(48,48,0,0)                           ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(48,48,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,48000)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,48000)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,48000)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,48000)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,48000)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,48000)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,48000)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,48000)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS954123CGLF : szPLLmodel="ICS954123CGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,21)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x80,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,7,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,2)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,2)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(17,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(18,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(17,0x80,17,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(7,0x10,7,0x20)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(7,0x40,7,0x80)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,148)                             ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(2,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(2,1,1,3)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(2,1,1,1)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(2,1,1,3)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(2,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(2,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(2,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(2,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,1)                      ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,3)                      ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,3)                      ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,10,16,12)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(22,10,0,0)                       ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(22,10,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(22,10,0,0)                           ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(22,10,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(22,10,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(22,10,0,0)                           ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(22,10,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(25000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS954108CFLF : szPLLmodel="ICS954108CFLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,22)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(19,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(19,0x0F,0,0)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(20,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(15,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0x80,15,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,148)                             ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,263)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,1023)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin


        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,4,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,6,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,10,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,14,0)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,8,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,12,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,20,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,28,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,16,3)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,24,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,40,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,56,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,32,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,48,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,80,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,112,0)                      ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,10,7,24)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(14,6,0,0)                        ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(7,2,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(5,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(10,4,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(6,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(0,14318)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(0,14318)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(0,14318)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(0,14318)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(0,14318)                     ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(0,14318)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(0,14318)                     ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(0,14318)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS954141CFLF : szPLLmodel="ICS954141CFLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,22)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(19,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(19,0x0F,0,0)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(20,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,25)                              ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,1,1)                         ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,263)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,127)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,2,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,7,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,4,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,14,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,8,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,28,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,16,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,56,0)                       ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,16,22,8)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(6,4,0,0)                         ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(4,2,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(10,7,0,0)                        ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(0,14318)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(0,14318)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(0,14318)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(0,14318)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(0,14318)                     ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(0,14318)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(0,14318)                     ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(0,14318)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nCY28551LFXC : szPLLmodel="CY28551LFXC"   ;ASUS P5B
        iPrmVenderID=PLLcodeByte(nCYPRESS_VENDERID_IIC,0x0F,nCYPRESS_VENDERID_VAL,2)    ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,19,-1)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(18,0x40,0,1)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(4,0x0F,0,0)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,0x1E,0,1)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,1)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(18,4,0,1)                          ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(15,0x7F,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(14,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(15,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,0,60)                               ;IIC Register07, Unmask07, - , Fix_PLLBM2
        iPrmDivNBHi=PLLcodeByte(18,0x80,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(18,8,0,0)                       ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(6,0x20,0,0)                     ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(30,121)                                ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,60,60)                          ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,131)                            ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,511)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,131)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,2)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,1)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(1,1,1,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(1,1,1,3)                      ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(1,1,1,0)                      ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(1,1,1,0)                      ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(1,1,1,0)                      ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(1,1,1,0)                      ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(1,1,1,0)                      ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(1,1,1,0)                      ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(80,60,60,3)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(80,60,0,0)                           ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(60,45,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(60,45,0,0)                           ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(120,90,0,0)                          ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(60,45,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(120,90,0,0)                          ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(60,45,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(80,60,0,0)                           ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(80,60,0,0)                           ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(60,45,0,0)                           ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(60,45,0,0)                           ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(120,90,0,0)                          ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(60,45,0,0)                           ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(120,90,0,0)                          ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(60,45,0,0)                           ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(26666,13333)                     ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(13333,13333)                     ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(20000,13333)                     ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(16666,12500)                     ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(33333,12500)                     ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord(10000,13333)                     ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord(40000,13333)                     ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord(20000,13333)                     ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,80)                     ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,40)                     ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,60)                     ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,60)                     ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,120)                        ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,30)                     ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,120)                        ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,60)                     ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3366,80)                     ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(3366,40)                     ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(3366,60)                     ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3366,60)                     ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3833,120)                        ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(3833,30)                     ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3833,120)                        ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(3833,60)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS9LPRS511EGLF : szPLLmodel="ICS9LPRS511EGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,1)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,22)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmDivMB=PLLcodeByte(15,0x3F,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,2,0)                                ;IIC Register29, Unmask29, left, (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0xC0,6,0)                                ;IIC Register01, Unmask01, right, (Byte)
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                                      ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,56)                                  ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                                ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,1023)                           ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(3,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,1,1,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(3,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(3,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(3,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(3,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(3,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(3,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,2)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(24,16,28,9)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(24,16,0,0)                       ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(24,16,0,0)                       ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(24,16,0,0)                       ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(24,16,0,0)                       ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(24,16,0,0)                       ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(24,16,0,0)                       ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(24,16,0,0)                       ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,28636)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,28636)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,28636)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,28636)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,28636)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,28636)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,28636)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,28636)                          ;PCI Freq7, Cpu Gear7

    DupPtrPLL nSLG505YC56DT : szPLLmodel="SLG505YC56DT"
        iPrmVenderID=PLLcodeByte(nSILEGO_VENDERID_IIC,0x0F,nSILEGO_VENDERID_VAL,3)      ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(12,0x0D,-1,0x1D)                              ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(14,0x80,0,0)                                   ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(14,0x1C,0,2)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0xE0,0,5)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                                 ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,1)                                 ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(17,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0,0,0,0)                                  ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(15,0xFF,0,1)                            ;IIC Register07, Unmask07,  - , Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(14,1,14,2)                          ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,0,1)                                ;IIC Register07, Unmask07, - , Fix_PLLBM3
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9

        iPrmAgpFSLo=PLLcodeByte(17,0x40,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                                    ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                                  ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(213,0)                                        ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(1000,55)                                   ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(1,1,1,1)                              ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(0,263)                                ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(0,255)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,65)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,2)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,1)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                          ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                          ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)

        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,0)                          ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                          ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                          ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(0,0,0,0)                          ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(0,0,0,0)                          ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(0,0,0,0)                          ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(0,0,0,0)                          ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(1,1,1,3)                     ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(1,1,0,0)                     ;RefFsbN1, RefFsbU1, RefPllB1, PLLBdiv1
        aPrmFsbRefNTbl($2)=PLLcodeByte(1,1,0,0)                     ;RefFsbN2, RefFsbU2, RefPllB2, PLLBdiv2
        aPrmFsbRefNTbl($3)=PLLcodeByte(1,1,0,0)                     ;RefFsbN3, RefFsbU3, RefPllB3, PLLBdiv3
        aPrmFsbRefNTbl($4)=PLLcodeByte(1,1,0,0)                     ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(1,1,0,0)                     ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(1,1,0,0)                     ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(1,1,0,0)                     ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,1000)                           ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,1000)                           ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,1000)                           ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,1000)                           ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,1000)                           ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,1000)                           ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,1000)                           ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,1000)                           ;PCI Freq7, Cpu Gear7

    DupPtrPLL nICS951461BGLF : szPLLmodel="ICS951461BGLF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,22)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x80,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,7,0,0)                                      ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,7,0,0)                                       ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(19,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(19,0x0F,0,0)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(20,0xF0,4,0)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,11,0x40)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(15,0x3F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(16,0xFF,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(15,0x80,15,0x40)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(0,0,0,0)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(19,7,0,0)                             ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,148)                             ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(63,1,63,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,1023)                            ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,263)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,1023)                            ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,263)                                ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,4,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,6,0)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,10,0)                         ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(15,15,15,0)                           ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,8,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,12,0)                         ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,20,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(30,30,30,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,16,3)                         ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,24,0)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,40,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(60,60,60,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,32,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,48,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,80,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(120,120,120,0)                        ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(22,10,34,6)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(14,6,22,9)                           ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(8,4,12,15)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,4,45)                            ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(10,4,16,12)                      ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(6,2,10,18)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,5,30)                            ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,4,90)                            ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,14318)                          ;PCI Freq7, Cpu Gear7
;       aPrmPciFreqTbl($8)=PLLcodeWord(0,14318)                     ;PCI Freq8, Cpu Gear8
;       aPrmPciFreqTbl($9)=PLLcodeWord(0,14318)                     ;PCI Freq9, Cpu Gear9
;       aPrmPciFreqTbl($A)=PLLcodeWord(0,14318)                     ;PCI FreqA, Cpu GearA
;       aPrmPciFreqTbl($B)=PLLcodeWord(0,14318)                     ;PCI FreqB, Cpu GearB
;       aPrmPciFreqTbl($C)=PLLcodeWord(0,14318)                     ;PCI FreqC, Cpu GearC
;       aPrmPciFreqTbl($D)=PLLcodeWord(0,14318)                     ;PCI FreqD, Cpu GearD
;       aPrmPciFreqTbl($E)=PLLcodeWord(0,14318)                     ;PCI FreqE, Cpu GearE
;       aPrmPciFreqTbl($F)=PLLcodeWord(0,14318)                     ;PCI FreqF, Cpu GearF

    DupPtrPLL nICS950703BF : szPLLmodel="ICS950703BF"
        iPrmVenderID=PLLcodeByte(nICS_VENDERID_IIC,0x0F,nICS_VENDERID_VAL,0)        ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(nICS_BYTECOUNT_IIC,8,0xFF,17)             ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0x80,0,0)                                    ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0x78,0,3)                                       ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(6,0x78,0,3)                                        ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(15,0x0F,0,3)                           ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(16,0x0F,0,1)                           ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(16,0xF0,4,1)                           ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(10,0x80,0,1)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(11,0x7F,2,8)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(12,0xFF,0,0)                            ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNAHi=PLLcodeByte(11,0x80,0,0)                            ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,1,1)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(0,0,0,0)                                ;IIC Register07, Unmask07, (Byte), (Byte)
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(5,0x20,0,0)                     ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(5,0x20,0,0)                     ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(5,4,5,8)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(0,0)                              ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(14318,0)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(127,1,1,1)                            ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3300,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3200,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(2963,127)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(3361,127)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(2,2,2,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(3,3,3,3)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(5,5,5,0)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(7,7,7,0)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(4,4,4,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(6,6,6,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(10,10,10,0)                       ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(14,14,14,0)                       ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(8,8,8,0)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(12,12,12,3)                       ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(20,20,20,0)                       ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(28,28,28,0)                       ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3
        aPrmCpuDivTbl($C)=PLLcodeByte(16,16,16,0)                       ;CpuRatioC, AgpRatioC, PciRatioC, (Byte)
        aPrmCpuDivTbl($D)=PLLcodeByte(24,24,24,0)                       ;CpuRatioD, AgpRatioD, PciRatioD, (Byte)
        aPrmCpuDivTbl($E)=PLLcodeByte(40,40,40,0)                       ;CpuRatioE, AgpRatioE, PciRatioE, (Byte)
        aPrmCpuDivTbl($F)=PLLcodeByte(56,56,56,0)                       ;CpuRatioF, AgpRatioF, PciRatioF, (Byte)

        aPrmFsbRefNTbl($0)=PLLcodeByte(16,10,1,1)                       ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(10,6,0,0)                            ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(5,3,0,0)                         ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(4,2,0,0)                         ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(7,4,0,0)                     ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(4,2,0,0)                         ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(4,2,0,0)                         ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(4,2,0,0)                         ;RefFsbN7, RefFsbU7, (Byte), (Byte)
        aPrmFsbRefNTbl($8)=PLLcodeByte(4,2,0,0)                         ;RefFsbN8, RefFsbU8, (Byte), (Byte)
        aPrmFsbRefNTbl($9)=PLLcodeByte(4,2,0,0)                         ;RefFsbN9, RefFsbU9, (Byte), (Byte)
        aPrmFsbRefNTbl($A)=PLLcodeByte(4,2,0,0)                         ;RefFsbNA, RefFsbUA, (Byte), (Byte)
        aPrmFsbRefNTbl($B)=PLLcodeByte(4,2,0,0)                         ;RefFsbNB, RefFsbUB, (Byte), (Byte)
        aPrmFsbRefNTbl($C)=PLLcodeByte(4,2,0,0)                         ;RefFsbNC, RefFsbUC, (Byte), (Byte)
        aPrmFsbRefNTbl($D)=PLLcodeByte(4,2,0,0)                         ;RefFsbND, RefFsbUD, (Byte), (Byte)
        aPrmFsbRefNTbl($E)=PLLcodeByte(4,2,0,0)                         ;RefFsbNE, RefFsbUE, (Byte), (Byte)
        aPrmFsbRefNTbl($F)=PLLcodeByte(4,2,0,0)                         ;RefFsbNF, RefFsbUF, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(10000,6667)                          ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(11500,7667)                          ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(13333,6667)                          ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(14500,7250)                          ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(11500,7667)                          ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(12200,8133)                          ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(15200,7600)                          ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(16000,8000)                          ;CPU Freq7, AGP Freq7
        aPrmCpuFreqTbl($8)=PLLcodeWord(6667,6667)                       ;CPU Freq8, AGP Freq8
        aPrmCpuFreqTbl($9)=PLLcodeWord(8200,8200)                       ;CPU Freq9, AGP Freq9
        aPrmCpuFreqTbl($A)=PLLcodeWord(1000,1000)                       ;CPU FreqA, AGP FreqA
        aPrmCpuFreqTbl($B)=PLLcodeWord(16667,6667)                      ;CPU FreqB, AGP FreqB
        aPrmCpuFreqTbl($C)=PLLcodeWord(17500,7000)                      ;CPU FreqC, AGP FreqC
        aPrmCpuFreqTbl($D)=PLLcodeWord(16000,5333)                      ;CPU FreqD, AGP FreqD
        aPrmCpuFreqTbl($E)=PLLcodeWord(20000,6667)                      ;CPU FreqE, AGP FreqE
        aPrmCpuFreqTbl($F)=PLLcodeWord(21200,7067)                      ;CPU FreqF, AGP FreqF

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,14318)                          ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3833,14318)                          ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,14318)                          ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3625,14318)                          ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3833,14318)                          ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(4067,14318)                          ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3800,14318)                          ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(4000,14318)                          ;PCI Freq7, Cpu Gear7
        aPrmPciFreqTbl($8)=PLLcodeWord(3334,14318)                      ;PCI Freq8, Cpu Gear8
        aPrmPciFreqTbl($9)=PLLcodeWord(4100,14318)                      ;PCI Freq9, Cpu Gear9
        aPrmPciFreqTbl($A)=PLLcodeWord(5000,14318)                      ;PCI FreqA, Cpu GearA
        aPrmPciFreqTbl($B)=PLLcodeWord(3333,14318)                      ;PCI FreqB, Cpu GearB
        aPrmPciFreqTbl($C)=PLLcodeWord(3500,14318)                      ;PCI FreqC, Cpu GearC
        aPrmPciFreqTbl($D)=PLLcodeWord(2667,14318)                      ;PCI FreqD, Cpu GearD
        aPrmPciFreqTbl($E)=PLLcodeWord(3333,14318)                      ;PCI FreqE, Cpu GearE
        aPrmPciFreqTbl($F)=PLLcodeWord(3533,14318)                      ;PCI FreqF, Cpu GearF

    DupPtrPLL nCV122CPVG : szPLLmodel="CV122CPVG"   ;ASUS P5LD2-VM SE
        iPrmVenderID=PLLcodeByte(nIDT_VENDERID_IIC,0x0F,nIDT_VENDERID_VAL,3)    ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(8,8,-1,0x1F)              ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(23,0x40,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(17,0xE0,0,5)                              ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(3,0xE0,0,5)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,2)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(23,0x10,0,0)                           ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(18,0xFF,0,12)                           ;IIC Register07, Unmask07, - , Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(17,1,0,0)                           ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(22,0xFF,0,12)                               ;IIC Register07, Unmask07, - , Fix_PLLBM3
        iPrmDivNBHi=PLLcodeByte(21,1,0,0)                               ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(23,4,23,8)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(5,0x40,0,0)                     ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(5,0x10,5,0x20)                        ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(81,0)                             ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(8000,10)                               ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(12,12,12,12)                          ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,255)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,65)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,0)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,-1)                         ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,1)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,-1)                         ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,3)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,1)                      ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,0)                      ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,0)                      ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,12,12,3)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,12,0,0)                           ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,12,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,12,0,0)                           ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,12,0,0)                           ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,12,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,12,0,0)                           ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,12,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,35268)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,11756)                      ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,17634)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,17634)                      ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,35268)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,8817)                       ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,35268)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,17634)                      ;PCI Freq7, Cpu Gear7

    DupPtrPLL nCV174CPAG : szPLLmodel="CV174CPAG"   ;
        iPrmVenderID=PLLcodeByte(nIDT_VENDERID_IIC,0x0F,nIDT_VENDERID_VAL,3)    ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(12,8,-1,20)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte
        iPrmFsSource=PLLcodeByte(0,0,0,0)                           ;IIC Register, Unmask, Exor, fGearUnitK
        iPrmFsIIc=PLLcodeByte(0,0xE0,0,5)                               ;IIC Register, Unmask, Exor, Right
        iPrmFsHw=PLLcodeByte(0,0xE0,0,5)                                ;IIC Register, Unmask, Exor, Right
        iPrmCpuRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetFix
        iPrmAgpRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, fPllAgp
        iPrmPciRatio=PLLcodeByte(0,0xFF,0xFF,0)                         ;IIC Register, Unmask, Right, iSetAgp  *Same AGP Table
        iPrmMnProgEn=PLLcodeByte(19,8,8,3)                          ;IIC Register, Unmask, Exor, iSetPci
        iPrmDivMA=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNALo=PLLcodeByte(17,0xFF,0,12)                           ;IIC Register07, Unmask07, - , Fix_PLLAM0
        iPrmDivNAHi=PLLcodeByte(16,1,0,0)                           ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmDivMB=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, M_Ofset, N_Ofset
        iPrmDivNBLo=PLLcodeByte(18,0xFF,0,12)                               ;IIC Register07, Unmask07, - , Fix_PLLBM3
        iPrmDivNBHi=PLLcodeByte(0,0,0,0)                                ;IIC Register8, Unmask8, IIC Register9, Unmask9
        iPrmAgpFSLo=PLLcodeByte(19,4,0,4)                       ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPciFSLo=PLLcodeByte(19,2,0,2)                       ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmFixFS=PLLcodeByte(0,0,0,0)                      ;IIC RegisterA, UnmaskA, IIC RegisterB, UnmaskB
        iPrmPLLBRatio=PLLcodeByte(0,0,0,0)                              ;IIC Register, Unmask, Right, (Byte)
        iPrmFsbTrbOfs=PLLcodeWord(81,0)                             ;Fsb RangeoffsetN, U
        iPrmPllbGear=PLLcodeWord(6000,0)                                ;PllbGear, PciTrbOfs
        iPrmRefMaxMin=PLLcodeByte(12,12,12,12)                          ;FsbRefMax, FsbRefMin, PciRefMax, PciRefMin

        aPrmFixFreqTbl(0)=PLLcodeWord(3333,511)                         ;Fix0, FsbTrbMax
        aPrmFixFreqTbl(1)=PLLcodeWord(3636,131)                         ;Fix1, FsbTrbMin
        aPrmFixFreqTbl(2)=PLLcodeWord(4000,255)                         ;Fix2, PciTrbMax
        aPrmFixFreqTbl(3)=PLLcodeWord(0,65)                             ;Fix3, PciTrbMin

        aPrmCpuDivTbl($0)=PLLcodeByte(1,1,1,1)                          ;CpuRatio0, AgpRatio0, PciRatio0, AgpFS0
        aPrmCpuDivTbl($1)=PLLcodeByte(1,1,1,3)                          ;CpuRatio1, AgpRatio1, PciRatio1, AgpFS1
        aPrmCpuDivTbl($2)=PLLcodeByte(1,1,1,1)                          ;CpuRatio2, AgpRatio2, PciRatio2, AgpFS2
        aPrmCpuDivTbl($3)=PLLcodeByte(1,1,1,3)                          ;CpuRatio3, AgpRatio3, PciRatio3, AgpFS3
        aPrmCpuDivTbl($4)=PLLcodeByte(1,1,1,0)                          ;CpuRatio4, AgpRatio4, PciRatio4, (Byte)
        aPrmCpuDivTbl($5)=PLLcodeByte(1,1,1,0)                          ;CpuRatio5, AgpRatio5, PciRatio5, (Byte)
        aPrmCpuDivTbl($6)=PLLcodeByte(1,1,1,0)                      ;CpuRatio6, AgpRatio6, PciRatio6, (Byte)
        aPrmCpuDivTbl($7)=PLLcodeByte(1,1,1,0)                      ;CpuRatio7, AgpRatio7, PciRatio7, (Byte)
        aPrmCpuDivTbl($8)=PLLcodeByte(0,0,0,1)                          ;CpuRatio8, AgpRatio8, PciRatio8, PciFS0
        aPrmCpuDivTbl($9)=PLLcodeByte(0,0,0,3)                      ;CpuRatio9, AgpRatio9, PciRatio9, PciFS1
        aPrmCpuDivTbl($A)=PLLcodeByte(0,0,0,1)                      ;CpuRatioA, AgpRatioA, PciRatioA, PciFS2
        aPrmCpuDivTbl($B)=PLLcodeByte(0,0,0,3)                      ;CpuRatioB, AgpRatioB, PciRatioB, PciFS3

        aPrmFsbRefNTbl($0)=PLLcodeByte(12,12,12,3)                      ;RefFsbN0, RefFsbU0, RefPllB0, PLLBdiv0
        aPrmFsbRefNTbl($1)=PLLcodeByte(12,12,0,0)                           ;RefFsbN1, RefFsbU1, (Byte), (Byte)
        aPrmFsbRefNTbl($2)=PLLcodeByte(12,12,0,0)                           ;RefFsbN2, RefFsbU2, (Byte), (Byte)
        aPrmFsbRefNTbl($3)=PLLcodeByte(12,12,0,0)                           ;RefFsbN3, RefFsbU3, (Byte), (Byte)
        aPrmFsbRefNTbl($4)=PLLcodeByte(12,12,0,0)                           ;RefFsbN4, RefFsbU4, (Byte), (Byte)
        aPrmFsbRefNTbl($5)=PLLcodeByte(12,12,0,0)                           ;RefFsbN5, RefFsbU5, (Byte), (Byte)
        aPrmFsbRefNTbl($6)=PLLcodeByte(12,12,0,0)                           ;RefFsbN6, RefFsbU6, (Byte), (Byte)
        aPrmFsbRefNTbl($7)=PLLcodeByte(12,12,0,0)                           ;RefFsbN7, RefFsbU7, (Byte), (Byte)

        aPrmCpuFreqTbl($0)=PLLcodeWord(26666,10000)                         ;CPU Freq0, AGP Freq0 (tableICS954321)
        aPrmCpuFreqTbl($1)=PLLcodeWord(13333,10000)                         ;CPU Freq1, AGP Freq1
        aPrmCpuFreqTbl($2)=PLLcodeWord(20000,10000)                         ;CPU Freq2, AGP Freq2
        aPrmCpuFreqTbl($3)=PLLcodeWord(16666,10000)                         ;CPU Freq3, AGP Freq3
        aPrmCpuFreqTbl($4)=PLLcodeWord(33333,10000)                         ;CPU Freq4, AGP Freq4
        aPrmCpuFreqTbl($5)=PLLcodeWord(10000,10000)                         ;CPU Freq5, AGP Freq5
        aPrmCpuFreqTbl($6)=PLLcodeWord(40000,10000)                         ;CPU Freq6, AGP Freq6
        aPrmCpuFreqTbl($7)=PLLcodeWord(20000,10000)                         ;CPU Freq7, AGP Freq7

        aPrmPciFreqTbl($0)=PLLcodeWord(3333,16000)                      ;PCI Freq0, Cpu Gear0
        aPrmPciFreqTbl($1)=PLLcodeWord(3333,8000)                       ;PCI Freq1, Cpu Gear1
        aPrmPciFreqTbl($2)=PLLcodeWord(3333,12000)                      ;PCI Freq2, Cpu Gear2
        aPrmPciFreqTbl($3)=PLLcodeWord(3333,8000)                       ;PCI Freq3, Cpu Gear3
        aPrmPciFreqTbl($4)=PLLcodeWord(3333,16000)                      ;PCI Freq4, Cpu Gear4
        aPrmPciFreqTbl($5)=PLLcodeWord(3333,6000)                       ;PCI Freq5, Cpu Gear5
        aPrmPciFreqTbl($6)=PLLcodeWord(3333,24000)                      ;PCI Freq6, Cpu Gear6
        aPrmPciFreqTbl($7)=PLLcodeWord(3333,12000)                      ;PCI Freq7, Cpu Gear7

        DupPtrPLL nPLLDIAGNOSIS : szPLLmodel="PLL diagnosis"    ;
        iPrmVenderID=PLLcodeByte(0,0x0F,-1,0)       ;IIC Register, Unmask, PLL_VenderID, PLL_Type
        iPrmByteCount=PLLcodeByte(0,-1,-1,-1)               ;IIC Register, ReadByte_Min, PLL_WriteByte, PLL_ReadByte

    iIniCrc=-1
    xPosScn=0
    yPosScn=0
    wSizScn=MainScreenW
    hSizScn=MainControlScreenH
    iClkGenCmb=0
    iSelTmr=1
    fUltra=0
    iTabIdx=0
    iColStyCmb=0
    iRngCmb=0
    iSmbCmb=0

    fTabSty=1
    aColTxtTbl=RGB(0,0,0),RGB(255,0,0),RGB(0,255,0),RGB(255,255,0),RGB(0,0,255),RGB(255,0,255),RGB(0,255,255),RGB(255,255,255)
    aColBkgTbl=-1,RGB(191,255,0),RGB(255,223,63),RGB(191,255,255),RGB(255,191,255),RGB(255,255,191),RGB(0,0,0),RGB(255,255,255)
    iColClkGenTxt=4
    iColClkGenBkg=3
    iColNumFsbTxt=0
    iColNumFsbBkg=1
    iColNumPciTxt=0
    iColNumPciBkg=1

    iColCurFrqTxt=4
    iColCurFrqBkg=0
    iColSelFrqTxt=4
    iColSelFrqBkg=0
    iColSelTmrTxt=4
    iColSelTmrBkg=0
    iColCpuFrqTxt=0
    iColCpuFrqBkg=0

    return

;------------------------------------------------------------------------------