GlobalDeffuncInit.as [初期設定定義命令]

;*******************************************************************************
; SetFSB Initialize Global Space Definition Function  [2007.09.15]
;   Programmed in HSP Ver3.1 ONION software(http://www.onionsoft.net/hsp/)
;
; 1. ColorStyleTxtBak
; 2. SetColorStyle
; 3. ChipsetInfo
; 4. StrFreq()
; 5. SetfsbObjDisable
; 6. SetfsbObjEnable
; 7. ConfigurationRegister
; 8. InitializeScreen
;
;*******************************************************************************

;"Color Style"
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc ColorStyleTxtBak int _fObj, int _hObj, var _ColTxt, var _ColBak
; Object [Control] Tab
    if _fObj {
        objenable hwColStyCmb,0
        objenable _hObj,0
        _ColTxt=Getupdnpos(hwColTxtUpd)
        _ColBak=Getupdnpos(hwColBkgUpd)
        objcolor _hObj,CND(aColBkgTbl(_ColBak)!-1,aColBkgTbl(_ColBak),rgbCol3df),aColTxtTbl(_ColTxt)
    }
;"Color Style" Combox,Text/Back Updown
    objcolor hwColStyCmb,CND(aColBkgTbl(_ColBak)!-1,aColBkgTbl(_ColBak),rgbCol3df),aColTxtTbl(_ColTxt)  ;"Color Style" Combox
    setupdnpos hwColTxtUpd,_ColTxt  ;"Color Style" Text Updown control
    settext hwColTxtStc,str(_ColTxt)
    setupdnpos hwColBkgUpd,_ColBak  ;"Color Style" Back Updown control
    settext hwColBkgStc,str(_ColBak)
    if _fObj {
        objenable _hObj,1
        objenable hwColStyCmb,1
    }
    return

;/Set Color Style Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
; SetColorStyle 
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc SetColorStyle int _fObj
    switch iColStyCmb
    case 0
        ColorStyleTxtBak _fObj,hwClkGenCmb,iColClkGenTxt,iColClkGenBkg
        swbreak
    case 1
        ColorStyleTxtBak _fObj,hwNumFsbStc,iColNumFsbTxt,iColNumFsbBkg
        swbreak
    case 2
        ColorStyleTxtBak _fObj,hwNumPciStc,iColNumPciTxt,iColNumPciBkg
        swbreak
    case 3
        ColorStyleTxtBak _fObj,hwCurFrqStc,iColCurFrqTxt,iColCurFrqBkg
        swbreak
    case 4
        ColorStyleTxtBak _fObj,hwSelFrqStc,iColSelFrqTxt,iColSelFrqBkg
        swbreak
    case 5
        ColorStyleTxtBak _fObj,hwCurCpuStc,iColCpuFrqTxt,iColCpuFrqBkg
        swbreak
    case 6
        ColorStyleTxtBak _fObj,hwSelTmrStc,iColSelTmrTxt, iColSelTmrBkg
        swbreak
    swend
    return

;/Chipset Information Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc ChipsetInfo
    switch iHostBridge&0xFFFF
    case VidIntel
        switch iHostBridge
        case Intel440LX
        case Intel440BX
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#3 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        default
            if iHostBridge=Intel850 : lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#50: "+StrUpper(strf("%08x",iMCHC))+"h"
            if iHostBridge=Intel855GM : lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#3 Ofs#C0: "+StrUpper(strf("%08x",iHPLLCC))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#31 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#31 Fnc#3 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        swend
        swbreak
    case VidAti
        switch iHostBridge
        case AtiX3200   ;
            lstaddstring hwChpInfLst,"Bus#0 Dev#20 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        case AtiIGP320  ;
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#4 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        swend
        swbreak
    case VidAmd
        switch iHostBridge
        case Amd760
            if iAsus {  ;ASUS A7M266
                lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#88: "+StrUpper(strf("%08x",iGMCHC))+"h"
                lstaddstring hwChpInfLst,"Bus#0 Dev#04 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
                lstaddstring hwChpInfLst,"Bus#0 Dev#04 Fnc#4 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
                lstaddstring hwChpInfLst,"Bus#0 Dev#04 Fnc#4 Ofs#48: "+StrUpper(strf("%08x",iGpoAdr))+"h"
            } else {    ;EPoX EP-8K7A
                lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#88: "+StrUpper(strf("%08x",iGMCHC))+"h"
                lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
                lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#4 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            }
            swbreak
        swend
        swbreak
    case VidVia
        switch iHostBridge
        case ViaPro133  ;Chaintech CT-6ASA4
            lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#54: "+StrUpper(strf("%08x",iGMCHC))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#68: "+StrUpper(strf("%08x",iDRAMCCS))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#07 Fnc#4 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        default
            lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#54: "+StrUpper(strf("%08x",iGMCHC))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#68: "+StrUpper(strf("%08x",iDRAMCCS))+"h"
            lstaddstring hwChpInfLst,"Bus#0 Dev#17 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
            swbreak
        swend   
        swbreak
    case VidSiS
        lstaddstring hwChpInfLst,"Bus#0 Dev#00 Fnc#0 Ofs#60: "+StrUpper(strf("%08x",iGMCHC))+"h"
        lstaddstring hwChpInfLst,"Bus#0 Dev#02 Fnc#0 Ofs#00: "+StrUpper(strf("%08x",iLpcIfBridge))+"h"
        lstaddstring hwChpInfLst,"Bus#0 Dev#02 Fnc#1 Ofs#00: "+StrUpper(strf("%08x",iSMBusCtl))+"h"
        lstaddstring hwChpInfLst,"Bus#0 Dev#02 Fnc#1 Ofs#40: "+StrUpper(strf("%08x",iHOSTC))+"h"
        swbreak
    swend   
    return

;/String Frequency Static Text Control Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#defcfunc StrFreq
    switch iHostBridge
    case Intel850
    case SiS658
    case SiS659
        return "FSB/RDR/AGP/PCI Frequency"
        swbreak
    case Intel440BX
    case Intel440LX
    case ViaPro133
    case SiS630
    case SiS730
    case SiS733
        return "FSB/SDR/AGP/PCI Frequency"
        swbreak
    case SiS635
    case SiS640
    case SiS645
    case SiS735
    case SiS740
        if iGMCHC&0x40 : return "FSB/DDR/AGP/PCI Frequency" : else : return "FSB/SDR/AGP/PCI Frequency"
        swbreak
    default
        if fPllAgp : return "FSB/DDR/AGP/PCI Frequency" : else : return "FSB/DDR/PCI-E/PCI Frequency"
        swbreak
    swend
    return

;/Configuration Register Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc ConfigurationRegister
    #if TEST
        InitCRdata
        DupPtrCRdata iClkGenCmb
    #else
        dim aCR,0x30                    ;ワーク領域
        io_outd CONFIG_ADDRESS,0x80000000 : iHostBridge=Io_inpd(CONFIG_DATA)
        switch iHostBridge&0xFFFF   ;20b5
        case VidIntel
            switch iHostBridge
            case Intel440LX
            case Intel440BX
                io_outd CONFIG_ADDRESS,0x80003800 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003B00 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003B90 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                swbreak
            default
                io_outd CONFIG_ADDRESS,0x80000050 : iMCHC=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x800000C4 : iGMCHC=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x800003C0 : iHPLLCC=Io_inpd(CONFIG_DATA)

                io_outd CONFIG_ADDRESS,0x8000F800 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x8000F8F0 : io_outd CONFIG_DATA,Io_inpd(CONFIG_DATA)&0xFFF7FFFF ;0 = SMBus controller is enabled

                io_outd CONFIG_ADDRESS,0x8000FB00 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x8000FB20 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                swbreak
            swend
            swbreak
        case VidAti
            switch iHostBridge
            case AtiX3200   ;
                io_outd CONFIG_ADDRESS,0x8000A000 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x8000A090 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                     ;SMBus Address
                swbreak
            case AtiIGP320  ;
                io_outd CONFIG_ADDRESS,0x8000A000 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003800 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003C00 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003C90 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                swbreak
            default
                iSetFsbFlg|=ErrChipset
                swbreak
            swend
            swbreak
        case VidAmd
            switch iHostBridge
            case Amd760 ;EPoX EP-8K7A, GIGABYTE GA-7DXR, ASUS A7M266
                io_outd CONFIG_ADDRESS,0x80000088 : iGMCHC=Io_inpd(CONFIG_DATA)

                io_outd CONFIG_ADDRESS,0x80003800 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                if iLpcIfBridge=Via82C686 { ;EPoX EP-8K7A, GIGABYTE GA-7DXR
                    io_outd CONFIG_ADDRESS,0x80003C00 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                    io_outd CONFIG_ADDRESS,0x80003C90 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                } else {    ;ASUS A7M266
                    io_outd CONFIG_ADDRESS,0x80002000 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                    io_outd CONFIG_ADDRESS,0x80002400 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                    io_outd CONFIG_ADDRESS,0x80002448 : iGpoAdr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;GPO Address
                    io_outd CONFIG_ADDRESS,0x80002490 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                }
                swbreak
            default
                iSetFsbFlg|=ErrChipset
                swbreak
            swend
            swbreak
        case VidVia
            switch iHostBridge
            case ViaKT266   ;EPoX EP-8KHA+, EPoX EP-8K3A/+, ASUS A7V333
            case ViaKT400   ;
            case ViaK8T800  ;ASUS K8V
            case ViaP4M890  ;
                io_outd CONFIG_ADDRESS,0x80000054 : iGMCHC=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80000068 : iDRAMCCS=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80008800 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x800088D0 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                swbreak
            case ViaPro133  ;Chaintech CT-6ASA4
                io_outd CONFIG_ADDRESS,0x80000054 : iGMCHC=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80000068 : iDRAMCCS=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003800 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003C00 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80003C90 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                swbreak
            default
                iSetFsbFlg|=ErrChipset
                swbreak
            swend
            swbreak
        case VidSiS
            io_outd CONFIG_ADDRESS,0x80000060 : iGMCHC=Io_inpd(CONFIG_DATA)
            io_outd CONFIG_ADDRESS,0x80001000 : iLpcIfBridge=Io_inpd(CONFIG_DATA)
            switch iLpcIfBridge ;20b15l
            case SiS964
                io_outd CONFIG_ADDRESS,0x80001074 : iSMBadr=(Io_inpd(CONFIG_DATA)&0xFF00)+0x80                  ;SMBus Address
                swbreak
            default
                io_outd CONFIG_ADDRESS,0x80001074 : io_outd CONFIG_DATA,Io_inpd(CONFIG_DATA)&0xEFFFFFFF ;SMBusCtl on
                io_outd CONFIG_ADDRESS,0x80001100 : iSMBusCtl=Io_inpd(CONFIG_DATA)
                io_outd CONFIG_ADDRESS,0x80001120 : iSMBadr=Io_inpd(CONFIG_DATA)&0xFFF0                 ;SMBus Address
                io_outd CONFIG_ADDRESS,0x80001140 : iHOSTC=Io_inpd(CONFIG_DATA)                         ;
                io_outd CONFIG_ADDRESS,0x80001074 : io_outd CONFIG_DATA,Io_inpd(CONFIG_DATA)|0x10000000 ;SMBusCtl off
                swbreak
            swend   
            swbreak
        default
            iSetFsbFlg|=ErrChipset
            swbreak
        swend   
    #endif

;   Asus Flag
    if iHostBridge=Intel850 & iSMBadr=0xE800 : iAsus=1
    if iHostBridge=Amd760 & iSMBadr=0xE800 : iAsus=2
    if (iHostBridge=ViaKT266 | iHostBridge=ViaKT400) & iSMBadr=0xE800 : iAsus=3
    if iHostBridge=SiS645 & iSMBadr=0xE600 : iAsus=4
    if iHostBridge=SiS745 & iSMBadr=0xE600 : iAsus=5

    return

;/SetFSB Objct Disable Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#define nGetFSB 0
#define nSetFSB 1
#define nApplyFSB 2
#define nRefresh 3
#define nAllDis -1

#deffunc SetfsbObjDisable int _nPrm
    objenable hwFsbTrb,0    ;FSB Trackbar control
    objenable hwPciTrb,0    ;PCI Trackbar control
    objenable hwFsbUpd,0    ;FSB Updown control
    objenable hwPciUpd,0    ;PCI Updown control
    objenable hwSelTmrUpd,0 ;Select Timer Updown control
    await
    objcolor hwNumPciStc,rgbCol3df,RGBblack
    objcolor hwNumFsbStc,rgbCol3df,RGBblack

    objcolor hwCurFrqStc,rgbCol3df,RGBblack

;   objenable hwCaptureBtn,0    ;[capture] button
    objenable hwGetFsbBtn,0 ;[Get FSB] button
    objenable hwSetFsbBtn,0 ;[Set FSB] button
    objenable hwAutoBtn,0   ;[Auto] button
    objenable hwCurFrqStc,0 ;"Current FSB" static control


    objenable hwNumFsbStc,0 ;"FSB Number" static control
    objenable hwNumPciStc,0 ;PCI Number" static control
    objenable hwSelTmrStc,0 ;"Select Timer" static control
    objenable hwCurCpuStc,0 ;"Current CPU" static control
;   objenable hwClkGenCmb,0 ;Clock Generator combo box
    objenable hwUltChk,0    ;Ultra checkbox object

    switch _nPrm
    case nGetFSB
        objcolor hwSelFrqStc,rgbCol3df,RGBblack
        objenable hwSelFrqStc,0 ;"Select FSB" static control
    case nSetFSB
    case nApplyFSB
        objcolor hwCurCpuStc,rgbCol3df,RGBblack
        objcolor hwSelTmrStc,rgbCol3df,RGBblack
    swbreak
    case nAllDis
        objcolor hwSelFrqStc,rgbCol3df,RGBblack
        objenable hwSelFrqStc,0 ;"Select FSB" static control
        objenable hwRngCmb,0
        objenable hwUpdateBtn,0     ;[Update] button
        objenable hwApplyBtn,0      ;[Apply] button
        swbreak
    swend
    return

;/SetFSB Objct Enable Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc SetfsbObjEnable int _fInit
    switch _fInit
    case 0
;       objenable hwCaptureBtn,1    ;[capture] button enable
        if OsType()=Windows9X : objenable hwAutoBtn,1   ;win98/Me [Auto] button enable
        if iDivN07B_Unmask {
            objenable hwPciUpd,1    ;PCI Updown control enable
            objcolor hwNumPciStc,CND(aColBkgTbl(iColNumPciBkg)!-1,aColBkgTbl(iColNumPciBkg),rgbCol3df),aColTxtTbl(iColNumPciTxt)
            objenable hwNumPciStc,1 ;PCI Number" static control
            objenable hwPciTrb,1    ;PCI Trackbar control
        }

        objcolor hwNumFsbStc,CND(aColBkgTbl(iColNumFsbBkg)!-1,aColBkgTbl(iColNumFsbBkg),rgbCol3df),aColTxtTbl(iColNumFsbTxt)

        if szPLLmodel="PLL diagnosis" {
            objenable hwSetFsbBtn,0 ;[Set FSB] button
            objenable hwFsbTrb,0    ;FSB Trackbar control
            objenable hwFsbUpd,0    ;FSB Updown control
            objenable hwNumFsbStc,0 ;"FSB Number" static control
        }
        else {
            objenable hwSetFsbBtn,1 ;[Set FSB] button
            objenable hwFsbTrb,1    ;FSB Trackbar control
            objenable hwFsbUpd,1    ;FSB Updown control
            objenable hwNumFsbStc,1 ;"FSB Number" static control
        }

        objcolor hwCurFrqStc,CND(aColBkgTbl(iColCurFrqBkg)!-1,aColBkgTbl(iColCurFrqBkg),rgbCol3df),aColTxtTbl(iColCurFrqTxt)
        objenable hwCurFrqStc,1 ;"Current FSB" static control
        objcolor hwSelFrqStc,CND(aColBkgTbl(iColSelFrqBkg)!-1,aColBkgTbl(iColSelFrqBkg),rgbCol3df),aColTxtTbl(iColSelFrqTxt)
        objenable hwSelFrqStc,1 ;"Select FSB" static control

        objcolor hwCurCpuStc,CND(aColBkgTbl(iColCpuFrqBkg)!-1,aColBkgTbl(iColCpuFrqBkg),rgbCol3df),aColTxtTbl(iColCpuFrqTxt)
        objcolor hwSelTmrStc,CND(aColBkgTbl(iColSelTmrBkg)!-1,aColBkgTbl(iColSelTmrBkg),rgbCol3df),aColTxtTbl(iColSelTmrTxt)

;       objenable hwClkGenCmb,1 ;Clock Generator combo box

        objenable hwRngCmb,1
        objenable hwUpdateBtn,1     ;[Update] button
        objenable hwApplyBtn,1      ;[Apply] button
    case 1
        if NOTL(iSetFsbFlg&ErrChipset) : objenable hwGetFsbBtn,1    ;[Get FSB] button
        objenable hwUltChk,1        ;Ultra checkbox object
        objenable hwSelTmrStc,1 ;"Select Timer" static control
        objenable hwSelTmrUpd,1 ;Select Timer Updown control
;       objenable hwCurCpuStc,1 ;"Current CPU" static control
        swbreak
    swend
    return

;/Initialize Screen Definition Function
;--------+---------+---------+---------+---------+---------+---------+---------+
#deffunc InitializeScreen
;/画面の初期化
;--------+---------+---------+---------+---------+---------+---------+---------+
; 画面サイズ、タイトル、フォント、背景、ライン、メッセージ
;--------+---------+---------+---------+---------+---------+---------+---------+
#const  FontSize    14

;********+*********+*********+*********+*********+*********+*********+*********+
    ;Main Screen[ID=0,wSizScn,hSizScn,hide,xPosScn,yPosScn]
    screen nMainScreen,wSizScn,MainScreenHmax,screen_hide,xPosScn,yPosScn,wSizScn,hSizScn

    ;Title
    #if TEST
        title2 SoftName+VerNo+"  - test mode -"
    #else
        title2 SoftName+VerNo
    #endif

    ;Font
    font "Arial",14 : objmode 2                     ;プロポーショナル(P)フォント"Arial"

    ;Background
    syscolor COLOR_3DFACE                               ;3D Face color
    mref bmscr,67
    iCol3dfR=GETRVALUE(bmscr(40))-(OsType()!WindowsNT) : iCol3dfG=GETGVALUE(bmscr(40))-(OsType()!WindowsNT) : iCol3dfB=GETBVALUE(bmscr(40))-(OsType()!WindowsNT)
    rgbCol3df=RGB(iCol3dfR,iCol3dfG,iCol3dfB)
    color iCol3dfR,iCol3dfG,iCol3dfB : boxf                     ;light gray(薄灰色)

    ;▼タブコントロール作成 (フラットボタン固定幅スタイルで作成)
    objsize wSizScn-4,MainScreenHmax-6
    hwTabWnd=Createtabctl(1,2,4,0,0)    ;フラットボタン固定幅スタイルで作成

    ;▼項目の追加
    tabadditem hwTabWnd,"Control",0
    tabadditem hwTabWnd,"Customize",1
    tabadditem hwTabWnd,"Diagnosis",2
;   tabadditem hwTabWnd,"Creator",3

;/オブジェクトの配置
    ;// 操作先のウィンドウでオブジェクトの色をかえられるようにする。
    objcolorscreen

#const  BTN_x01 440
#const  BTN_y01 4
#const  BTN_w01 60
#const  BTN_h01 FontSize+10
    pLabel=*btn_capture : hwCaptureBtn=Createbutton(BTN_x01,BTN_y01,BTN_w01,BTN_h01,"Capture",pLabel)       ;[Capture] button

;********+*********+*********+*********+*********+*********+*********+*********+
    ;Control Tab Screen[ID=nTabControl]
    bgscr nTabControl,,,2 : tabchild hwTabWnd
    
    ;Font
    font "Arial",14 : objmode 2                     ;プロポーショナル(P)フォント"Arial"

    ;Background
    color iCol3dfR,iCol3dfG,iCol3dfB : boxf                     ;light gray(薄灰色)

    ;Line
#const  Frame_x1    0
#const  Frame_y1    0
#const  Frame_x2    TabScreenW-2
#const  Frame_y2    TabControlScreenH-12
#const  Erase_x1    270
#const  Erase_x2    Erase_x1+205
#const  Line_x1     Frame_x1+6
#const  Line_x2     Frame_x2-5
#const  Line_y1     Frame_y1+35
#const  Line_y2     Frame_y1+155
    frame3d Frame_x1,Frame_y1,Frame_x2,Frame_y2,Erase_x1,Erase_x2
    hline3d Line_x1,Line_y1,Line_x2,Line_y1
    hline3d Line_x1,Line_y2,Line_x2,Line_y2

    ;Mes
#const  MES_x1  Erase_x1+8
#const  MES_y1  Frame_y2-7

    color 0x7F,0x7F,0x7F                ;メッセージ(灰)
    pos MES_x1,MES_y1 : mes Copyright

;/オブジェクトの配置
    ;// 操作先のウィンドウでオブジェクトの色をかえられるようにする。
    objcolorscreen

    ;Obj
#const  OBJ_x1  Frame_x1+10
#const  OBJ_xE  Frame_x2-10
#const  OBJ_y1  Frame_y1+10
#const  OBJ_y2  Line_y1+7
#const  OBJ_y3  OBJ_y2+20
#const  OBJ_y4  OBJ_y3+22
#const  OBJ_y5  OBJ_y4+35
#const  OBJ_y6  Line_y2+7

;  button (gosub) object
#const  BTN_xs  2
#const  BTN_w1  120
#const  BTN_w2  (BTN_w1-BTN_xs)/2
#const  BTN_h1  FontSize+10
#const  BTN_x1  OBJ_xE-BTN_w1
#const  BTN_x2  OBJ_xE-BTN_w1-BTN_w2-BTN_xs
#const  BTN_x3  OBJ_xE-BTN_w2
#const  BTN_y1  OBJ_y1-3
#const  BTN_y2  OBJ_y5+4
    pLabel=*btn_getfsb : hwGetFsbBtn=Createbutton(BTN_x1,BTN_y1,BTN_w1,BTN_h1,"Get FSB",pLabel)     ;[Get FSB] button
    pLabel=*btn_setfsb : hwSetFsbBtn=Createbutton(BTN_x2,BTN_y2,BTN_w1,BTN_h1,"Set FSB",pLabel)     ;[Set FSB] button
    pLabel=*btn_auto : hwAutoBtn=Createbutton(BTN_x3,BTN_y2,BTN_w2,BTN_h1,"Auto",pLabel)            ;[Auto] button

;  static control
#const  STC_w1  104
#const  STC_w2  252
#const  STC_w3  210
#const  STC_w4  72
#const  STC_w5  211
#const  STC_w6  45
#const  STC_w7  100
#const  STC_h1  FontSize+2
#const  STC_h2  FontSize+4

#const  STC_x1  OBJ_x1
#const  STC_x2  OBJ_x1+7
#const  STC_x3  OBJ_xE-STC_w3
#const  STC_x4  OBJ_xE-STC_w4
#const  STC_x5  BTN_x2-STC_w4-9
#const  STC_x6  STC_x5+12
#const  STC_x7  OBJ_xE-STC_w7
#const  STC_y1  OBJ_y1
#const  STC_y2  OBJ_y2
#const  STC_y3  OBJ_y3
#const  STC_y4  OBJ_y4
#const  STC_y5  OBJ_y5
#const  STC_y6  OBJ_y6

    hwClkGenStrStc=Createstatic(STC_x1,STC_y1+1,STC_w1,STC_h1,"Clock Generator",SS_RIGHT)       ;"Clock Generator" static control
    objcolor hwClkGenStrStc,rgbCol3df,RGBblack

    hwCurFrqStrStc=Createstatic(STC_x2,STC_y2+1,STC_w2,STC_h1,"Current "+StrFreq(),SS_RIGHT)    ;"Current FSB" static control
    objcolor hwCurFrqStrStc,rgbCol3df,RGBblack
    hwSelFrqStrStc=Createstatic(STC_x2,STC_y3+1,STC_w2,STC_h1,"Select "+StrFreq(),SS_RIGHT) ;"Select FSB" static control
    objcolor hwSelFrqStrStc,rgbCol3df,RGBblack

    hwCurFrqStc=Createstatic(STC_x3,STC_y2,STC_w3,STC_h2,"Unknown",SS_CENTER|SS_SUNKEN) ;"Current FSB" static control
    objcolor hwCurFrqStc,rgbCol3df,RGBblue                                      ;文字(青)
    hwSelFrqStc=Createstatic(STC_x3,STC_y3,STC_w3,STC_h2,"Unknown",SS_CENTER|SS_SUNKEN) ;"Select FSB" static control
    objcolor hwSelFrqStc,rgbCol3df,RGBblue                                      ;文字(青)

    hwNumFsbStc=Createstatic(STC_x4,STC_y4,STC_w4,STC_h2,"/",SS_CENTER|SS_SUNKEN)   ;FSB Number static control
    objcolor hwNumFsbStc,rgbCol3df,RGBblack                                         ;文字(黒)

    hwNumPciStc=Createstatic(STC_x5,STC_y5,STC_w4,STC_h2,"/",SS_CENTER|SS_SUNKEN)   ;PCI Number static control
    objcolor hwNumPciStc,rgbCol3df,RGBblack                                         ;文字(黒)

    hwCpuFrqStrStc=Createstatic(STC_x2,STC_y6+1,STC_w5,STC_h1,"Current CPU Frequency : Internal",SS_RIGHT)  ;"Current CPU" static control
    objcolor hwCpuFrqStrStc,rgbCol3df,RGBblack                                          ;文字(黒)
    hwSelTmrStc=Createstatic(STC_x6,STC_y6,STC_w6,STC_h2,"",SS_CENTER|SS_SUNKEN)        ;"Select Timer" static control
    objcolor hwSelTmrStc,CND(aColBkgTbl(iColSelTmrBkg)!-1,aColBkgTbl(iColSelTmrBkg),rgbCol3df),aColTxtTbl(iColSelTmrTxt)
    settext hwSelTmrStc,szTmrTxtTbl(iSelTmr)
    
    hwCurCpuStc=Createstatic(STC_x7,STC_y6,STC_w7,STC_h2,"",SS_CENTER|SS_SUNKEN)    ;"Current CPU" static control
    objcolor hwCurCpuStc,CND(aColBkgTbl(iColCpuFrqBkg)!-1,aColBkgTbl(iColCpuFrqBkg),rgbCol3df),aColTxtTbl(iColCpuFrqTxt)

;  combox object
#const  CMB_x1  OBJ_x1+STC_w1+10
#const  CMB_y1  OBJ_y1-3
#const  CMB_w1  155
    hwClkGenCmb=Createcombox(CMB_x1,CMB_y1,CMB_w1,24,iClkGenCmb,164,szClkGenName)
    objcolor hwClkGenCmb,CND(aColBkgTbl(iColClkGenBkg)!-1,aColBkgTbl(iColClkGenBkg),rgbCol3df),aColTxtTbl(iColClkGenTxt)

;  chkobj object
#const  CHK_w1  50
#const  CHK_h1  FontSize+2
#const  CHK_x1  BTN_x1-CHK_w1-5
#const  CHK_y1  OBJ_y1+1
    hwUltChk=Createchkbox(CHK_x1,CHK_y1,CHK_w1,CHK_h1,"Ultra",fUltra)       ; Ultra checkbox object
    objcolor hwUltChk,rgbCol3df,RGBblack                                            ;文字(黒)

;  trackbar control
#const  TRB_w1  407 ;380
#const  TRB_w2  217 ;190
#const  TRB_h1  32
#const  TRB_x1  OBJ_x1-4
#const  TRB_y1  OBJ_y4
#const  TRB_y2  OBJ_y5
    hwFsbTrb=Createtrackbar(TRB_x1,TRB_y1,TRB_w1,TRB_h1,TBS_TOP)            ; FSB Trackbar
    objcolor hwFsbTrb,rgbCol3df,RGBblack                ;文字(青)
    objcursor hwFsbTrb,IDC_HAND
    settrackrng hwFsbTrb,0,1
    hwPciTrb=Createtrackbar(TRB_x1,TRB_y2,TRB_w2,TRB_h1,TBS_TOP)            ; Pci Trackbar
    objcolor hwPciTrb,rgbCol3df,RGBblack                ;文字(青)
    objcursor hwPciTrb,IDC_HAND
    settrackrng hwPciTrb,0,1

;  updown control
#const  UPDN_w1 STC_w4
#const  UPDN_w2 STC_w4
#const  UPDN_w3 15
#const  UPDN_h1 14
#const  UPDN_h2 14
#const  UPDN_h3 STC_h2+2
#const  UPDN_x1 STC_x4
#const  UPDN_x2 STC_x5
#const  UPDN_x3 STC_x6+STC_w6
#const  UPDN_y1 OBJ_y4+18
#const  UPDN_y2 OBJ_y5+18
#const  UPDN_y3 OBJ_y6-1

    hwFsbUpd=Createupdown(UPDN_x1,UPDN_y1,UPDN_w1,UPDN_h1,UDS_HOTTRACK|UDS_HORZ)        ;FSB Updown control
    setupdnrng hwFsbUpd,0,1
    hwPciUpd=Createupdown(UPDN_x2,UPDN_y2,UPDN_w2,UPDN_h2,UDS_HOTTRACK|UDS_HORZ)        ;PCI Updown control
    setupdnrng hwPciUpd,17,92
    hwSelTmrUpd=Createupdown(UPDN_x3,UPDN_y3,UPDN_w3,UPDN_h3,UDS_HOTTRACK)          ;Select Timer Updown control
    setupdnrng hwSelTmrUpd,0,2
    setupdnpos hwSelTmrUpd,iSelTmr

;********+*********+*********+*********+*********+*********+*********+*********+
; Diagnosis Child Screen[ID=nChildDiagnosis]
;********+*********+*********+*********+*********+*********+*********+*********+
    childscreen hwnd,nChildDiagnosis,0,TabControlScreenH,TabScreenW,TabDiagnosisScreenH-206

    ;Font
    font "Arial",14 : objmode 2                     ;プロポーショナル(P)フォント"Arial"

    ;Background
    color iCol3dfR,iCol3dfG,iCol3dfB : boxf 0,0,TabScreenW-5,TabCustomizeScreenH-207            ;light gray(薄灰色)

;/オブジェクトの配置
    ;// 操作先のウィンドウでオブジェクトの色をかえられるようにする。
    objcolorscreen

    SetWindowLong hwnd, GWL_STYLE, _GetWindowLong (hwnd, GWL_STYLE) ^ $2000000

#const  ChildDiagOBJ_x1 Frame_x1+10
#const  ChildDiagOBJ_y1 4

#const  ChildDiagSTC_W1 45
#const  ChildDiagSTC_W2 70
#const  ChildDiagSTC_W3 30
#const  ChildDiagSTC_W4 30
#const  ChildDiagSTC_W5 460
#const  ChildDiagSTC_h1 18
#const  ChildDiagEdt_w1 26
#const  ChildDiagEdt_w2 80
#const  ChildDiagEdt_h1 ChildDiagSTC_h1+2
#const  ChildDiagBTN_w1 70
#const  ChildDiagBTN_h1 24

; [Fx]グループボックス
#const  ChildDiagCHK_w1 478
#const  ChildDiagCHK_h1 90
#const  ChildDiagCHK_h2 54
#const  ChildDiagCHK_h3 80
#const  ChildDiagCHK_x1 ChildDiagOBJ_x1
#const  ChildDiagCHK_y1 ChildDiagOBJ_y1
#const  ChildDiagCHK_y2 ChildDiagCHK_y1+ChildDiagCHK_h1+4
#const  ChildDiagSTC_y1 ChildDiagCHK_y2+ChildDiagCHK_h2+9
#const  ChildDiagCHK_y3 ChildDiagSTC_y1+ChildDiagSTC_h1+4
    hwCtlRegGbx=Createchkbox(ChildDiagCHK_x1, ChildDiagCHK_y1,ChildDiagCHK_w1,ChildDiagCHK_h1," PLL Control Registers ",iGbx)
    setstygrpbox hwCtlRegGbx
    objcolor hwCtlRegGbx,rgbCol3df,RGBblack

    hwSmbGbx=Createchkbox(ChildDiagCHK_x1, ChildDiagCHK_y2,ChildDiagCHK_w1,ChildDiagCHK_h2," SMBus I/O Registers  --- Base Address "+StrUpper(strf("%x",iSMBadr))+"h --- ",iGbx)
    setstygrpbox hwSmbGbx
    objcolor hwSmbGbx,rgbCol3df,RGBblack

    hwChpGbx=Createchkbox(ChildDiagCHK_x1, ChildDiagCHK_y3,ChildDiagCHK_w1,ChildDiagCHK_h3," Chipset Information  --- Host Bridge Device/Vender "+StrUpper(strf("%08x",iHostBridge))+"h --- ",iGbx)
    setstygrpbox hwChpGbx
    objcolor hwChpGbx,rgbCol3df,RGBblack

#const  ChildDiagLBA_x1 ChildDiagCHK_x1+8
#const  ChildDiagLBA_y1 ChildDiagCHK_y1+16
#const  ChildDiagLBA_y2 ChildDiagCHK_y2+16


#const  ChildDiagSTC_x1 ChildDiagLBA_x1
#const  ChildDiagSTC_x2 ChildDiagLBA_x1+ChildDiagSTC_W1+5
#const  ChildDiagSTC_x3 ChildDiagSTC_x2+ChildDiagSTC_W2+5
#const  ChildDiagEdt_x1 ChildDiagSTC_x3+ChildDiagSTC_W3+5
#const  ChildDiagSTC_x4 ChildDiagEdt_x1+ChildDiagEdt_w1+5
#const  ChildDiagEdt_x2 ChildDiagSTC_x4+ChildDiagSTC_W4+5


#const  ChildDiagEdt_y1 ChildDiagSTC_y1-2

#const  ChildDiagBTN_x1 ChildDiagEdt_x2+ChildDiagEdt_w2+10
#const  ChildDiagBTN_x2 ChildDiagBTN_x1+ChildDiagBTN_w1+5
#const  ChildDiagBTN_y1 ChildDiagSTC_y1-4

#const  ChildDiagSTC_y21    ChildDiagCHK_y3+18
#const  ChildDiagSTC_y22    ChildDiagSTC_y21+20
#const  ChildDiagSTC_y23    ChildDiagSTC_y22+20


    hwOfsStrStc=Createstatic(ChildDiagSTC_x1, ChildDiagSTC_y1, ChildDiagSTC_W1, ChildDiagSTC_h1,"Offset" ,SS_RIGHT)
    objcolor hwOfsStrStc,rgbCol3df,RGBblack
    hwHexStrStc=Createstatic(ChildDiagSTC_x3, ChildDiagSTC_y1, ChildDiagSTC_W3, ChildDiagSTC_h1,"Hex" ,SS_RIGHT)
    objcolor hwHexStrStc,rgbCol3df,RGBblack
    hwBinStrStc=Createstatic(ChildDiagSTC_x4, ChildDiagSTC_y1, ChildDiagSTC_W4, ChildDiagSTC_h1,"Bin" ,SS_RIGHT)
    objcolor hwBinStrStc,rgbCol3df,RGBblack
    pLabel=*btn_update : hwUpdateBtn=Createbutton(ChildDiagBTN_x1,ChildDiagBTN_y1,ChildDiagBTN_w1,ChildDiagBTN_h1,"Update",pLabel)      ;[Update] button
    pLabel=*btn_apply : hwApplyBtn=Createbutton(ChildDiagBTN_x2,ChildDiagBTN_y1,ChildDiagBTN_w1,ChildDiagBTN_h1,"Apply",pLabel)     ;[Apply] button

    ;Font
    font "Courier",16 : objmode 2               ;等幅(固定ピッチ)フォント"Courier"

    listboxarray ChildDiagLBA_x1,ChildDiagLBA_y1,hwCrLst,0x30,rgbCol3df
    listboxarray ChildDiagLBA_x1,ChildDiagLBA_y2,hwSmbLst,0x10,rgbCol3df
    repeat 0x10
        lstreset hwSmbLst(cnt) : lstaddstring hwSmbLst(cnt),StrUpper(strf("%02x",Io_inp(iSMBadr+cnt)))
    loop

    hwOfsStc=Createstatic(ChildDiagSTC_x2, ChildDiagSTC_y1-1, ChildDiagSTC_W2, ChildDiagSTC_h1,"",SS_LEFT|SS_SUNKEN)
    objcolor hwOfsStc,rgbCol3df,RGBblack
    hwHexEdt=Createeditbox(ChildDiagEdt_x1, ChildDiagEdt_y1, ChildDiagEdt_W1, ChildDiagEdt_h1,szCrHex)
    objcolor hwHexEdt,RGB(255,255,191),RGBred
    hwBinEdt=Createeditbox(ChildDiagEdt_x2, ChildDiagEdt_y1, ChildDiagEdt_W2, ChildDiagEdt_h1,szCrBin,ES_NUMBER)
    objcolor hwBinEdt,RGB(255,255,191),RGBred

    hwChpInfLst=Createlistbox(ChildDiagSTC_x1,ChildDiagSTC_y21,ChildDiagSTC_W5,60,iChpInf,0,"")
    objcolor hwChpInfLst,rgbCol3df,RGBblack
    ChipsetInfo

;********+*********+*********+*********+*********+*********+*********+*********+
; Customize Child Screen[ID=nChildCustomize]
;********+*********+*********+*********+*********+*********+*********+*********+
    gsel nTabControl            ; ScreenID=nTabControl
    childscreen hwnd,nChildCustomize,0,TabControlScreenH,TabScreenW,TabCustomizeScreenH-206

    ;Font
    font "Arial",14 : objmode 2                     ;プロポーショナル(P)フォント"Arial"

    ;Background
    color iCol3dfR,iCol3dfG,iCol3dfB : boxf 0,0,TabScreenW,TabCustomizeScreenH-207          ;light gray(薄灰色)

;/オブジェクトの配置
    ;// 操作先のウィンドウでオブジェクトの色をかえられるようにする。
    objcolorscreen

    SetWindowLong hwnd, GWL_STYLE, _GetWindowLong (hwnd, GWL_STYLE) ^ $2000000

#const  OBJ_x51 Frame_x1+10
#const  OBJ_y51 Frame_y1+10
; [Fx]グループボックス
#const  CHK_w51 140
#const  CHK_w52 250
#const  CHK_w53 478
#const  CHK_h51 55
#const  CHK_h52 55
#const  CHK_x51 OBJ_x51
#const  CHK_x52 CHK_x51+CHK_w51+10

#const  CHK_y51 OBJ_y51
#const  CHK_y52 CHK_y51+CHK_h51+5
#const  CHK_y53 CHK_y52+CHK_h51+5

    hwTabStyGbx=Createchkbox(CHK_x51, CHK_y51,CHK_w51,CHK_h51," Tab Style ",iGbx)
    setstygrpbox hwTabStyGbx
    objcolor hwTabStyGbx,rgbCol3df,RGBblack

    hwColStyGbx=Createchkbox(CHK_x52, CHK_y51,CHK_w52,CHK_h51," Color Style                   Text     Back ",iGbx)
    setstygrpbox hwColStyGbx
    objcolor hwColStyGbx,rgbCol3df,RGBblack

    hwFrqRngGbx=Createchkbox(CHK_x51, CHK_y52,CHK_w53,CHK_h52," Range                PLL Gear   Min Freq.      Max Freq.     PLL N      PLL M ",iGbx)
    setstygrpbox hwFrqRngGbx
    objcolor hwFrqRngGbx,rgbCol3df,RGBblack

    hwSmbRwGbx=Createchkbox(CHK_x51, CHK_y53,CHK_w53,CHK_h52," SMBus Read/Write",iGbx)
    setstygrpbox hwSmbRwGbx
    objcolor hwSmbRwGbx,rgbCol3df,RGBblack

#const  CMB_w51 120
#const  CMB_w52 140
#const  CMB_w53 100
#const  CMB_w54 180
#const  CMB_x51 OBJ_x51+10
#const  CMB_x52 CMB_x51+CMB_w51+30
#const  CMB_y51 CHK_y51+20
#const  CMB_y52 CHK_y52+20
#const  CMB_y53 CHK_y53+20

    hwTabStyCmb=Createcombox(CMB_x51,CMB_y51,CMB_w51,24,fTabSty,160,"Normal Button\nFlat Button")
    objcolor hwTabStyCmb,rgbCol3df,RGBblack

    hwColStyCmb=Createcombox(CMB_x52,CMB_y51,CMB_w52,24,iColStyCmb,160,"Clock Generator\nFSB Number\nPCI Number\nCurrent FSB\nSelect FSB\nCurrent CPU\nSelect Timer")

    hwRngCmb=Createcombox(CMB_x51,CMB_y52,CMB_w53,24,iRngCmb,160,"Normal FSB\nUltra FSB\nPCI/PCI-E")
    objcolor hwRngCmb,rgbCol3df,RGBblack

    hwSmbCmb=Createcombox(CMB_x51,CMB_y53,CMB_w54,24,iSmbCmb,160,"Auto[PLL parameter]\nDiagnosis[Read 48byte]")
    objcolor hwSmbCmb,rgbCol3df,RGBblack

#const  STC_w51 20
#const  STC_w52 75
#const  STC_w53 30
#const  STC_w54 40
#const  STC_w50 55
#const  STC_h51 18
#const  STC_y51 CMB_y51+3
#const  STC_y52 CMB_y52+3

#const  UPDN_w51    15
#const  UPDN_h51    24
#const  STC_x51     CMB_x52+CMB_w52+10
#const  UPDN_x51    STC_x51+STC_w51
#const  STC_x52     UPDN_x51+UPDN_w51+10
#const  UPDN_x52    STC_x52+STC_w51
#const  UPDN_y51    CMB_y51

#const  STC_x50 CMB_x51+CMB_w53+10
#const  STC_x53 STC_x50+STC_w50+10
#const  STC_x54 STC_x53+STC_w52+10
#const  STC_x55 STC_x54+STC_w52+10

#const  UPDN_x53    STC_x55+STC_w54
#const  UPDN_y53    CMB_y52
#const  STC_x56 UPDN_x53+UPDN_w51+10
#const  UPDN_x54    STC_x56+STC_w53

    hwColTxtStc=Createstatic(STC_x51,STC_y51,STC_w51,STC_h51,"",SS_CENTER|SS_SUNKEN)    ;Color Text static control
    objcolor hwColTxtStc,rgbCol3df,RGBblue
    hwColBkgStc=Createstatic(STC_x52,STC_y51,STC_w51,STC_h51,"",SS_CENTER|SS_SUNKEN)    ;Color Back static control
    objcolor hwColBkgStc,rgbCol3df,RGBblue

    hwColTxtUpd=Createupdown(UPDN_x51,UPDN_y51,UPDN_w51,UPDN_h51,UDS_HOTTRACK)          ;Color Text Updown control
    setupdnrng hwColTxtUpd,0,7
    hwColBkgUpd=Createupdown(UPDN_x52,UPDN_y51,UPDN_w51,UPDN_h51,UDS_HOTTRACK)          ;Color Back Updown control
    setupdnrng hwColBkgUpd,0,7

    SetColorStyle 0

    hwPllGearStc=Createstatic(STC_x50,STC_y52,STC_w50,STC_h51,"",SS_CENTER|SS_SUNKEN)   ;Renge Max static control
    objcolor hwPllGearStc,rgbCol3df,RGBblack

    hwRngFsbMinStc=Createstatic(STC_x53,STC_y52,STC_w52,STC_h51,"",SS_CENTER|SS_SUNKEN) ;Renge Min static control
    objcolor hwRngFsbMinStc,rgbCol3df,RGBblue
    hwRngFsbMaxStc=Createstatic(STC_x54,STC_y52,STC_w52,STC_h51,"",SS_CENTER|SS_SUNKEN) ;Renge Max static control
    objcolor hwRngFsbMaxStc,rgbCol3df,RGBblue

    hwTrbFsbMaxStc=Createstatic(STC_x55,STC_y52,STC_w54,STC_h51,"",SS_CENTER|SS_SUNKEN) ;Renge Max static control
    objcolor hwTrbFsbMaxStc,rgbCol3df,RGBblue
    hwTrbFsbMaxUpdn=Createupdown(UPDN_x53,UPDN_y53,UPDN_w51,UPDN_h51,UDS_HOTTRACK)              ;Color Text Updown control
    setupdnrng hwTrbFsbMaxUpdn,0,1
    objenable hwTrbFsbMaxUpdn,0

    hwPllRefStc=Createstatic(STC_x56,STC_y52,STC_w53,STC_h51,"",SS_CENTER|SS_SUNKEN)    ;Renge Max static control
    objcolor hwPllRefStc,rgbCol3df,RGBblue
    hwPllRefUpd=Createupdown(UPDN_x54,UPDN_y53,UPDN_w51,UPDN_h51,UDS_HOTTRACK)              ;Color Text Updown control
    setupdnrng hwPllRefUpd,0,1
    objenable hwPllRefUpd,0

;********+*********+*********+*********+*********+*********+*********+*********+
    ;Creator Tab Screen[ID=nTabCreator]
;   bgscr nTabCreator,,,2 : tabchild hwTabWnd

    ;Font
;   font "Arial",14 : objmode 2                     ;プロポーショナル(P)フォント"Arial"

    ;Background
;   color iCol3dfR,iCol3dfG,iCol3dfB : boxf 0,0,TabScreenW,TabCreatorScreenH        ;light gray(薄灰色)

    return

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