During the past couple days a certain person (or persons) have been spreading blatant lies about the "Ryzen Timing Checker", claiming that it features malware and puts the systems it has been executed on in immediate risk.<br><br>

Several additional claims regarding various aspects of it have been made by the same person, but listing all of them would be rather futile as some of the claims are outright insane (some of the claims about me e.g. working for "an outfit" can still be found from other topic on this forum).<br><br><b><span style="font-size:16px;">So what Ryzen Timing Checker actually is and what exactly does it do?</span></b><br><br>

RTC is a tiny application which can be used to read most of the DRAM timings on Zeppelin and Raven based CPUs and APUs. RTC accesses the DRAM timing (UMC) registers through the standard access port located in the PCI config space (SBDF). It uses a separate WinRing0 driver to access the hardware, because Windows (unlike Linux) doesn't provide a built-in access. Upon starting the RTC it executes several predefined PCI read and write operations (to the SMU data ports) and an additional MSR read operation (in order to check the platform compability). Once the program has finished reading the necessary registers, it displays the results and waits until the GUI window is terminated by the user. It doesn't perform any actions once the GUI is visible and never accesses the internet or the memory space.<br><br><b><span style="font-size:16px;">How Ryzen Timing Checker was coded?</span></b><br><br>

RTC uses AutoIT engine (version 3.3.14.2 to be specific). AutoIT is an automation language, and it's syntaxes are similar to BASIC. AutoIT is extremely versatile and based on my experience it is no lesser than the actual programming languages (C, C++, etc.) in terms of functionality, yet much more easier to produce code on.<br><br>

AutoIT, like each and every other coding style / language has also been used for malicous purposes in the past. Because of that, some of the lesser AV solutions generally automatically flag all AutoIT executables as malware, regardless if there is anything malicious in them or not. Reputable AV providers such as F-Secure, Kaspersky or Symantec don't do that.<br><br>

Read more about AutoIT: <a class="bbcode_url" href="https://en.wikipedia.org/wiki/AutoIt" target="_blank">https://en.wikipedia.org/wiki/AutoIt</a><br>

Check AutoIT's <a class="bbcode_url" href="https://www.autoitscript.com/site/" target="_blank">official website</a> and <a class="bbcode_url" href="https://www.autoitscript.com/forum/" target="_blank">user forum</a> featuring > 72k members.<br><br><b><span style="font-size:16px;">If there isn't anything malicious in the code, then why is the RTC binary distribution password protected and the binary itself encrypted?</span></b><br><br>

The most convinient place for me (and the users downloading it) to host any file for the time being is OneDrive. There are several other potential places to host the files at, but none of the other free solutions are ad, popup and potentially malware ( <img alt="wink.gif" class="bbcode_smiley" src="http://files.overclock.net/images/smilies/wink.gif"> ) free. Based on my past experience OneDrive prevents downloading any archive, which contains an executable binary in it (regardless if it's e.g. the newest official Blender build). To prevent this behavior and to make it possible the users to download the app in the first place, the archive was password protected. That's simply a workaround for OneDrive's behavior, since it cannot block and archive containing an exe file if it cannot see it.<br><br>

The RTC binary is not encrypted in any way. The RTC script is simply obfuscated in order to protect access methods and register information (i.e. which PCI device to access, which offsets and which SMU addresses), which as of now is still confidential. You can check if that's really the case by looking at the Zeppelin PPR available at AMD Techdocs: <a class="bbcode_url" href="http://support.amd.com/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf" target="_blank">http://support.amd.com/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf</a> This document does not disclose (try seaching for a DRAM timing, e.g. tRFC) any of the information I just mentioned, and neither does any of the Github or Linux repos (as far as I know).<br><br>

As said before, obfuscating the code makes it significantly harder to read (eventhou still possible) but it is by no means a method of encryption as it can still be read.<br><br>

In order to end all of this crap that has been spread during the past couple days, I decided to release the non-obfuscated "source code" of the exact script used for RTC 1.01 version. The only changes which have been made to the code is related to confidential register info. In the sanitized version of the code the register addresses are set to zero. In order to compare the resulting code between the original release and the one you just compiled yourself, use following workflow:<br><br><b><span style="font-size:16px;">How to audit the code?</span></b><br><br>

- Download AutoIT: <a class="bbcode_url" href="https://www.autoitscript.com/site/autoit/downloads/" target="_blank">https://www.autoitscript.com/site/autoit/downloads/</a><br>

- Install it<br>

- Download the Obfuscator version used for RTC (AutoIt3 Source Obfuscator v1.0.30.4, by Jos van der Zande): <a class="bbcode_url" href="https://1drv.ms/u/s!Ag6oE4SOsCmDhRTQg6bz8L_qyc8p" target="_blank">https://1drv.ms/u/s!Ag6oE4SOsCmDhRTQg6bz8L_qyc8p</a> (PW: Obfuscator)<br>

- Save the script as Audit.au3<br>

- Obfuscate the script source (.au3) using command "Obfuscator Audit.au3"<br>

- Compile the resulting Audit_Obfuscated.au3 with AutoIT x64<br>

- Download the original RTC 1.01 release: <a class="bbcode_url" href="https://1drv.ms/u/s!Ag6oE4SOsCmDhQW33FeZaWSlOIds" target="_blank">https://1drv.ms/u/s!Ag6oE4SOsCmDhQW33FeZaWSlOIds</a> (PW: RyzenDRAM)<br>

- Use 7-Zip to extract the compiled script from both of the exes (.rsrc\0\RCDATA\SCRIPT)<br>

- Compare the sizes and other similarities<br><br>

The size will differ by few bytes due to the sanitized register values, however you can verify that by changing them yourself as well.<br>

Also try what happens if you make other kind of changes to the code.<br><a class="spoiler-link H-spoiler-toggle" href="#"><strong>RTC 1.01 SCRIPT SOURCE</strong> <span class="spoiler-help">(Click to show)</span></a><div class="spoiler-hidden">

<div class="bbcode_code">

<div class="bbcode_code_head">Code:</div>

<pre>

<code>#RequireAdmin

#NoTrayIcon

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

If Not FileExists("WinRing0x64.dll") Then

MsgBox(16, "Error: A missing component", "Part of the driver: WinRing0x64.dll is missing!")

Exit

ElseIf Not FileExists("WinRing0x64.sys") Then

MsgBox(16, "Error: A missing component", "Part of the driver: WinRing0x64.sys is missing!")

Exit

EndIf

If FileExists("Slow.txt") Then

$SMUDelay = 60

Else

$SMUDelay = 20

EndIf

$DLL = DllOpen("WinRing0x64.dll")

$InitCheck = DllCall($DLL, "bool", "InitializeOls")

Sleep(100)

$DllCheck = DllCall($DLL, "dword", "GetDllStatus")

Sleep(100)

If $InitCheck[0] = 0 Then

MsgBox(16, "Cannot initialize the driver!", "The driver failed to initialize!")

Exit

EndIf

If $DllCheck[0] = 1 Then

MsgBox(16, "Driver error", "This platform is not supported by the driver!")

Exit

ElseIf $DllCheck[0] = 2 Then

MsgBox(16, "Driver error", "The driver could not be loaded!")

Exit

ElseIf $DllCheck[0] = 3 Then

MsgBox(16, "Driver error", "The driver seems to be incomplete. Please relocate the files!")

Exit

ElseIf $DllCheck[0] = 4 Then

MsgBox(16, "Driver error", "The driver has been unloaded unexpectedly!")

Exit

ElseIf $DllCheck[0] = 9 Then

MsgBox(16, "Driver error", "An unspecified error has occured!")

Exit

EndIf

$CPUID = ""

$CPUFMS = ""

$SMUORG = ""

$BGS = ""

$DramConfiguration = ""

$DramTiming1 = ""

$DramTiming2 = ""

$DramTiming3 = ""

$DramTiming4 = ""

$DramTiming5 = ""

$DramTiming6 = ""

$DramTiming7 = ""

$DramTiming8 = ""

$DramTiming9 = ""

$DramTiming10 = ""

$DramTiming12 = ""

$DramTiming13 = ""

$DramTiming20 = ""

$DramTiming21 = ""

$DramTiming22 = ""

$tRFCTiming0 = ""

$tRFCTiming1 = ""

$tSTAGTiming0 = ""

$tSTAGTiming1 = ""

$DramTiming35 = ""

$tRFCTiming = ""

$tSTAGTiming = ""

$Preamble2T = ""

$GDM = ""

$Cmd2T = ""

$MEMCLK = ""

$MEMCLKTRxx = ""

$tRCDWR = ""

$tRCDRD = ""

$tRAS = ""

$tCL = ""

$tRPPB = ""

$tRP = ""

$tRCPB = ""

$tRC = ""

$tRTP = ""

$tRRDDLR = ""

$tRRDL = ""

$tRRDS = ""

$tFAWDLR = ""

$tFAWSLR = ""

$tFAW = ""

$tWTRL = ""

$tWTRS = ""

$tCWL = ""

$tWR = ""

$tRCPage = ""

$tRDRDBAN = ""

$tRDRDSCL = ""

$tRDRDSCDLR = ""

$tRDRDSC = ""

$tRDRDSD = ""

$tRDRDDD = ""

$tWRWRBAN = ""

$tWRWRSCL = ""

$tWRWRSCDLR = ""

$tWRWRSC = ""

$tWRWRSD = ""

$tWRWRDD = ""

$tWRRDSCDLR = ""

$tRDWR = ""

$tWRRD = ""

$tREF = ""

$tREFCT = ""

$tMODPDA = ""

$tMRDPDA = ""

$tMOD = ""

$tMRD = ""

$tSTAG = ""

$tCKE = ""

$tPHYWRD = ""

$tPHYRDLAT = ""

$tPHYWRLAT = ""

$tRDDATA = ""

$tRFC4 = ""

$tRFC4CT = ""

$tRFC2 = ""

$tRFC2CT = ""

$tRFC = ""

$tRFCCT = ""

$tSTAG4LR = ""

$tSTAG2LR = ""

$tSTAGLR = ""

$tWRMPR = ""

$CPUID = DllCall($DLL, "dword", "CpuidPx", "dword", "0x80000001", "dword*", "", "dword*", "", "dword*", "", "dword*", "", "uint", "0x01")

$CPUFMS = BitAND($CPUID[2], 0xFFFF00)

If Not ($CPUFMS = "0x00800F00" Or $CPUFMS = "0x00810F00") Then

Msgbox(16, "Error", "The software only supports RV & ZP based Ryzen CPUs")

DllCall($DLL, "none", "DeinitializeOls")

Exit

EndIf

$SMUORG = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$BGS = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$BGSA = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramConfiguration = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming1 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming2 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming3 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming4 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming5 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming6 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming7 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming8 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming9 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming10 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming12 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming13 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming20 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming21 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming22 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$tRFCTiming0 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$tRFCTiming1 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$tSTAGTiming0 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$tSTAGTiming1 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "0x00000000")

Sleep($SMUDelay)

$DramTiming35 = DllCall($DLL, "dword", "ReadPciConfigDword", "byte", "0x00", "byte", "0x00", "dword", "")

Sleep($SMUDelay)



DllCall($DLL, "dword", "WritePciConfigDword", "byte", "0x00", "byte", "0x00", "dword", $SMUORG[0])

Sleep($SMUDelay)



If $tRFCTiming0[0] = $tRFCTiming1[0] Then ; Checks if 2DPC is used or if tRFC has been manually set.

$tRFCTiming = $tRFCTiming0[0]

$tSTAGTiming = $tSTAGTiming0[0]

ElseIf $tRFCTiming0[0] = 0x21060138 Then ; Checks if DIMM0 tRFC is set to AGESA defaults, meaning DIMM1 is populated.

$tRFCTiming = $tRFCTiming1[0]

$tSTAGTiming = $tSTAGTiming1[0]

Else

$tRFCTiming = $tRFCTiming0[0]

$tSTAGTiming = $tSTAGTiming0[0]

EndIf



If $BGS[0] = 2271560481 Then

$BGS = "Disabled"

Else

$BGS = "Enabled"

EndIf



If $BGSA[0] = 286328817 Then

$BGSA = "Enabled"

Else

$BGSA = "Disabled"

EndIf



$Preamble2T = BitAND($DramConfiguration[0], 0x1000)

$Preamble2T = BitShift($Preamble2T, 12)

If $Preamble2T = 1 Then

$Preamble2T = "Enabled"

Else

$Preamble2T = "Disabled"

EndIf



$GDM = BitAND($DramConfiguration[0], 0x800)

$GDM = BitShift($GDM, 11)

If $GDM = 1 Then

$GDM = "Enabled"

Else

$GDM = "Disabled"

EndIf



$Cmd2T = BitAND($DramConfiguration[0], 0x400)

$Cmd2T = BitShift($Cmd2T, 10)

If $Cmd2T = 1 Then

$Cmd2T = "2T"

Else

$Cmd2T = "1T"

EndIf



$MEMCLK = BitAND($DramConfiguration[0], 0x7F)

$MEMCLKTRxx = ($MEMCLK / 3) * 100

$MEMCLK = Int(($MEMCLK / 3) * 200)



$tRCDWR = BitAND($DramTiming1[0], 0x3F000000)

$tRCDWR = BitShift($tRCDWR, 24)



$tRCDRD = BitAND($DramTiming1[0], 0x3F0000)

$tRCDRD = BitShift($tRCDRD, 16)



$tRAS = BitAND($DramTiming1[0], 0x7F00)

$tRAS = BitShift($tRAS, 8)



$tCL = BitAND($DramTiming1[0], 0x3F)



$tRPPB = BitAND($DramTiming2[0], 0x3F000000)

$tRPPB = BitShift($tRPPB, 24)



$tRP = BitAND($DramTiming2[0], 0x3F0000)

$tRP = BitShift($tRP, 16)



$tRCPB = BitAND($DramTiming2[0], 0xFF00)

$tRCPB = BitShift($tRCPB, 8)



$tRC = BitAND($DramTiming2[0], 0xFF)



$tRTP = BitAND($DramTiming3[0], 0x1F000000)

$tRTP = BitShift($tRTP, 24)



$tRRDDLR = BitAND($DramTiming3[0], 0x1F0000)

$tRRDDLR = BitShift($tRRDDLR, 16)



$tRRDL = BitAND($DramTiming3[0], 0x1F00)

$tRRDL = BitShift($tRRDL, 8)



$tRRDS = BitAND($DramTiming3[0], 0x1F)



$tFAWDLR = BitAND($DramTiming4[0], 0x7E000000)

$tFAWDLR = BitShift($tFAWDLR, 25)



$tFAWSLR = BitAND($DramTiming4[0], 0xFC0000)

$tFAWSLR = BitShift($tFAWSLR, 18)



$tFAW = BitAND($DramTiming4[0], 0x7F)



$tWTRL = BitAND($DramTiming5[0], 0x7F0000)

$tWTRL = BitShift($tWTRL, 16)



$tWTRS = BitAND($DramTiming5[0], 0x1F00)

$tWTRS = BitShift($tWTRS, 8)



$tCWL = BitAND($DramTiming5[0], 0x3F)



$tWR = BitAND($DramTiming6[0], 0x7F)



$tRCPage = BitAND($DramTiming7[0], 0xFFF00000)

$tRCPage = BitShift($tRCPage, 20)



$tRDRDBAN = BitAND($DramTiming8[0], 0xC0000000)

$tRDRDBAN = BitShift($tRDRDBAN, 30)

If $tRDRDBAN = 0 Then

$tRDRDBAN = "Disabled"

ElseIf $tRDRDBAN = 1 Then

$tRDRDBAN = "Ban 2"

ElseIf $tRDRDBAN = 2 Then

$tRDRDBAN = "Ban 2&3"

EndIf



$tRDRDSCL = BitAND($DramTiming8[0], 0xF000000)

$tRDRDSCL = BitShift($tRDRDSCL, 24)



$tRDRDSCDLR = BitAND($DramTiming8[0], 0xF00000)

$tRDRDSCDLR = BitShift($tRDRDSCDLR, 20)



$tRDRDSC = BitAND($DramTiming8[0], 0xF0000)

$tRDRDSC = BitShift($tRDRDSC, 16)



$tRDRDSD = BitAND($DramTiming8[0], 0xF00)

$tRDRDSD = BitShift($tRDRDSD, 8)



$tRDRDDD = BitAND($DramTiming8[0], 0xF)



$tWRWRBAN = BitAND($DramTiming9[0], 0xC0000000)

$tWRWRBAN = BitShift($tWRWRBAN, 30)

If $tWRWRBAN = 0 Then

$tWRWRBAN = "Disabled"

ElseIf $tWRWRBAN = 1 Then

$tWRWRBAN = "Ban 2"

ElseIf $tWRWRBAN = 2 Then

$tWRWRBAN = "Ban 2&3"

EndIf



$tWRWRSCL = BitAND($DramTiming9[0], 0x3F000000)

$tWRWRSCL = BitShift($tWRWRSCL, 24)



$tWRWRSCDLR = BitAND($DramTiming9[0], 0xF00000)

$tWRWRSCDLR = BitShift($tWRWRSCDLR, 20)



$tWRWRSC = BitAND($DramTiming9[0], 0xF0000)

$tWRWRSC = BitShift($tWRWRSC, 16)



$tWRWRSD = BitAND($DramTiming9[0], 0xF00)

$tWRWRSD = BitShift($tWRWRSD, 8)



$tWRWRDD = BitAND($DramTiming9[0], 0xF)



$tWRRDSCDLR = BitAND($DramTiming10[0], 0x1F0000)

$tWRRDSCDLR = BitShift($tWRRDSCDLR, 16)



$tRDWR = BitAND($DramTiming10[0], 0x1F00)

$tRDWR = BitShift($tRDWR, 8)



$tWRRD = BitAND($DramTiming10[0], 0xF)



$tREF = BitAND($DramTiming12[0], 0xFFFF)

$tREFCT = Int(((1000 / $MEMCLKTRxx) * $tREF))



$tMODPDA = BitAND($DramTiming13[0], 0x3F000000)

$tMODPDA = BitShift($tMODPDA, 24)



$tMRDPDA = BitAND($DramTiming13[0], 0x3F0000)

$tMRDPDA = BitShift($tMRDPDA, 16)



$tMOD = BitAND($DramTiming13[0], 0x3F00)

$tMOD = BitShift($tMOD, 8)



$tMRD = BitAND($DramTiming13[0], 0x3F)



$tSTAG = BitAND($DramTiming20[0], 0xFF0000)

$tSTAG = BitShift($tSTAG, 16)



$tCKE = BitAND($DramTiming21[0], 0x1F000000)

$tCKE = BitShift($tCKE, 24)



$tPHYWRD = BitAND($DramTiming22[0], 0x7000000)

$tPHYWRD = BitShift($tPHYWRD, 24)



$tPHYRDLAT = BitAND($DramTiming22[0], 0x3F0000)

$tPHYRDLAT = BitShift($tPHYRDLAT, 16)



$tPHYWRLAT = BitAND($DramTiming22[0], 0x1F00)

$tPHYWRLAT = BitShift($tPHYWRLAT, 8)



$tRDDATA = BitAND($DramTiming22[0], 0x7F)



$tRFC4 = BitAND($tRFCTiming, 0xFFC00000)

$tRFC4 = BitShift($tRFC4, 22)



$tRFC4CT = Round(((1000 / $MEMCLKTRxx) * $tRFC4), 3)



$tRFC2 = BitAND($tRFCTiming, 0x3FF800)

$tRFC2 = BitShift($tRFC4, 11)

$tRFC2CT = Round(((1000 / $MEMCLKTRxx) * $tRFC2), 3)



$tRFC = BitAND($tRFCTiming, 0x7FF)

$tRFCCT = Round(((1000 / $MEMCLKTRxx) * $tRFC), 3)



$tSTAG4LR = BitAND($tSTAGTiming, 0x1FF00000)

$tSTAG4LR = BitShift($tSTAG4LR, 20)

If $tSTAG4LR = 0 Then

$tSTAG4LR = "Disabled"

EndIf



$tSTAG2LR = BitAND($tSTAGTiming, 0x7FC00)

$tSTAG2LR = BitShift($tSTAG2LR, 10)

If $tSTAG2LR = 0 Then

$tSTAG2LR = "Disabled"

EndIf



$tSTAGLR = BitAND($tSTAGTiming, 0x1FF)

If $tSTAGLR = 0 Then

$tSTAGLR = "Disabled"

EndIf



$tWRMPR = BitAND($DramTiming35[0], 0x3F000000)

$tWRMPR = BitShift($tWRMPR, 24)

$RTC = GUICreate("Ryzen Timing Checker", 520, 600, 192, 124)

$MEMCLKBox = GUICtrlCreateInput($MEMCLK, 10, 14, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$MEMCLKLabel = GUICtrlCreateLabel("MEMCLK Ratio", 80, 17, 95, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($MEMCLKBox, $GUI_DISABLE)



$Cmd2tBox = GUICtrlCreateInput($GDM, 170, 14, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$Cmd2tLabel = GUICtrlCreateLabel("GearDownMode", 240, 17, 85, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($Cmd2tBox, $GUI_DISABLE)



$GDMBox = GUICtrlCreateInput($Cmd2t, 10, 44, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$GDMLabel = GUICtrlCreateLabel("Cmd2t", 80, 47, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($GDMBox, $GUI_DISABLE)



$BGSBox = GUICtrlCreateInput($BGS, 170, 44, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$BGSLabel = GUICtrlCreateLabel("BankGroupSwap", 240, 47, 85, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($BGSBox, $GUI_DISABLE)



$BGSABox = GUICtrlCreateInput($BGSA, 330, 14, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$BGSALabel = GUICtrlCreateLabel("BankGroupSwapAlt", 400, 17, 100, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($BGSABox, $GUI_DISABLE)



$tCLBox = GUICtrlCreateInput($tCL, 10, 94, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tCLLabel = GUICtrlCreateLabel("tCL", 80, 97, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tCLBox, $GUI_DISABLE)



$tRCDWRBox = GUICtrlCreateInput($tRCDWR, 10, 124, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRCDWRLabel = GUICtrlCreateLabel("tRCDWR", 80, 127, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRCDWRBox, $GUI_DISABLE)



$tRCDRDBox = GUICtrlCreateInput($tRCDRD, 10, 154, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRCDRDLabel = GUICtrlCreateLabel("tRCDRD", 80, 157, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRCDRDBox, $GUI_DISABLE)



$tRPBox = GUICtrlCreateInput($tRP, 10, 184, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRPLabel = GUICtrlCreateLabel("tRP", 80, 187, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRPBox, $GUI_DISABLE)



$tRASBox = GUICtrlCreateInput($tRAS, 10, 214, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRASLabel = GUICtrlCreateLabel("tRAS", 80, 217, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRASBox, $GUI_DISABLE)



$tRCBox = GUICtrlCreateInput($tRC, 10, 244, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRCLabel = GUICtrlCreateLabel("tRC", 80, 247, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRCBox, $GUI_DISABLE)



$tRRDSBox = GUICtrlCreateInput($tRRDS, 10, 274, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRRDSLabel = GUICtrlCreateLabel("tRRDS", 80, 277, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRRDSBox, $GUI_DISABLE)



$tRRDLBox = GUICtrlCreateInput($tRRDL, 10, 304, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRRDLLabel = GUICtrlCreateLabel("tRRDL", 80, 307, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRRDLBox, $GUI_DISABLE)



$tFAWBox = GUICtrlCreateInput($tFAW, 10, 334, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tFAWLabel = GUICtrlCreateLabel("tFAW", 80, 337, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tFAWBox, $GUI_DISABLE)



$tFAWDLRBox = GUICtrlCreateInput($tFAWDLR, 10, 364, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tFAWDLRLabel = GUICtrlCreateLabel("tFAWDLR", 80, 367, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tFAWDLRBox, $GUI_DISABLE)



$tFAWSLRBox = GUICtrlCreateInput($tFAWSLR, 10, 394, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tFAWSLRLabel = GUICtrlCreateLabel("tFAWSLR", 80, 397, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tFAWSLRBox, $GUI_DISABLE)



$tWTRSBox = GUICtrlCreateInput($tWTRS, 10, 424, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWTRSLabel = GUICtrlCreateLabel("tWTRS", 80, 427, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWTRSBox, $GUI_DISABLE)



$tWTRLBox = GUICtrlCreateInput($tWTRL, 10, 454, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWTRLLabel = GUICtrlCreateLabel("tWTRL", 80, 457, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWTRLBox, $GUI_DISABLE)



$tWRBox = GUICtrlCreateInput($tWR, 10, 484, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRLabel = GUICtrlCreateLabel("tWR", 80, 487, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRBox, $GUI_DISABLE)



$tRCPageBox = GUICtrlCreateInput($tRCPage, 10, 514, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRCPageLabel = GUICtrlCreateLabel("tRCPage", 80, 517, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRCPageBox, $GUI_DISABLE)



$tRDRDSCLBox = GUICtrlCreateInput($tRDRDSCL, 10, 544, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDSCLLabel = GUICtrlCreateLabel("tRDRDSCL", 80, 547, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDSCLBox, $GUI_DISABLE)



$tWRWRSCLBox = GUICtrlCreateInput($tWRWRSCL, 10, 574, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRSCLLabel = GUICtrlCreateLabel("tWRWRSCL", 80, 577, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRSCLBox, $GUI_DISABLE)



$tRFCBox = GUICtrlCreateInput($tRFC, 170, 94, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRFCLabel = GUICtrlCreateLabel("tRFC", 240, 97, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRFCBox, $GUI_DISABLE)



$tRFCCTBox = GUICtrlCreateInput($tRFCCT, 170, 124, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRFCCTLabel = GUICtrlCreateLabel("tRFC (ns)", 240, 127, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRFCCTBox, $GUI_DISABLE)



$tCWLBox = GUICtrlCreateInput($tCWL, 170, 154, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tCWLLabel = GUICtrlCreateLabel("tCWL", 240, 157, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tCWLBox, $GUI_DISABLE)



$tRTPBox = GUICtrlCreateInput($tRTP, 170, 184, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRTPLabel = GUICtrlCreateLabel("tRTP", 240, 187, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRTPBox, $GUI_DISABLE)



$tRDWRBox = GUICtrlCreateInput($tRDWR, 170, 214, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDWRLabel = GUICtrlCreateLabel("tRDWR", 240, 217, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDWRBox, $GUI_DISABLE)



$tWRRDBox = GUICtrlCreateInput($tWRRD, 170, 244, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRRDLabel = GUICtrlCreateLabel("tWRRD", 240, 247, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRRDBox, $GUI_DISABLE)



$tWRWRSCBox = GUICtrlCreateInput($tWRWRSC, 170, 274, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRSCLabel = GUICtrlCreateLabel("tWRWRSC", 240, 277, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRSCBox, $GUI_DISABLE)



$tWRWRSDBox = GUICtrlCreateInput($tWRWRSD, 170, 304, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRSDLabel = GUICtrlCreateLabel("tWRWRSD", 240, 307, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRSDBox, $GUI_DISABLE)



$tWRWRDDBox = GUICtrlCreateInput($tWRWRDD, 170, 334, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRDDLabel = GUICtrlCreateLabel("tWRWRDD", 240, 337, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRDDBox, $GUI_DISABLE)



$tRDRDSCBox = GUICtrlCreateInput($tRDRDSC, 170, 364, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDSCLabel = GUICtrlCreateLabel("tRDRDSC", 240, 367, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDSCBox, $GUI_DISABLE)



$tRDRDSDBox = GUICtrlCreateInput($tRDRDSD, 170, 394, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDSDLabel = GUICtrlCreateLabel("tRDRDSD", 240, 397, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDSDBox, $GUI_DISABLE)



$tRDRDDDBox = GUICtrlCreateInput($tRDRDDD, 170, 424, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDDDLabel = GUICtrlCreateLabel("tRDRDDD", 240, 427, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDDDBox, $GUI_DISABLE)



$tCKEBox = GUICtrlCreateInput($tCKE, 170, 454, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tCKELabel = GUICtrlCreateLabel("tCKE", 240, 457, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tCKEBox, $GUI_DISABLE)



$tRPPBBox = GUICtrlCreateInput($tRPPB, 170, 484, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRPPBLabel = GUICtrlCreateLabel("tRPPB", 240, 487, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRPPBBox, $GUI_DISABLE)



$tRCPBBox = GUICtrlCreateInput($tRCPB, 170, 514, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRCPBLabel = GUICtrlCreateLabel("tRCPB", 240, 517, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRCPBBox, $GUI_DISABLE)



$tRRDDLRBox = GUICtrlCreateInput($tRRDDLR, 170, 544, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRRDDLRLabel = GUICtrlCreateLabel("tRRDDLR", 240, 547, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRRDDLRBox, $GUI_DISABLE)



$tRDRDBANBox = GUICtrlCreateInput($tRDRDBAN, 170, 574, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDBANLabel = GUICtrlCreateLabel("tRDRDBAN", 240, 577, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDBANBox, $GUI_DISABLE)



$tRDRDSCDLRBox = GUICtrlCreateInput($tRDRDSCDLR, 330, 94, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDRDSCDLRLabel = GUICtrlCreateLabel("tRDRDSCDLR", 400, 97, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDRDSCDLRBox, $GUI_DISABLE)



$tWRWRBANBox = GUICtrlCreateInput($tWRWRBAN, 330, 124, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRBANLabel = GUICtrlCreateLabel("tWRWRBAN", 400, 127, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRBANBox, $GUI_DISABLE)



$tWRWRSCDLRBox = GUICtrlCreateInput($tWRWRSCDLR, 330, 154, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRWRSCDLRLabel = GUICtrlCreateLabel("tWRWRSCDLR", 400, 157, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRWRSCDLRBox, $GUI_DISABLE)



$tWRRDSCDLRBox = GUICtrlCreateInput($tWRRDSCDLR, 330, 184, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRRDSCDLRLabel = GUICtrlCreateLabel("tWRRDSCDLR", 400, 187, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRRDSCDLRBox, $GUI_DISABLE)



$tREFBox = GUICtrlCreateInput($tREF, 330, 214, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tREFLabel = GUICtrlCreateLabel("tREF", 400, 217, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tREFBox, $GUI_DISABLE)



$tREFCTBox = GUICtrlCreateInput($tREFCT, 330, 244, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tREFCTLabel = GUICtrlCreateLabel("tREF (ns)", 400, 247, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tREFCTBox, $GUI_DISABLE)



$tMODBox = GUICtrlCreateInput($tMOD, 330, 274, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tMODLabel = GUICtrlCreateLabel("tMOD", 400, 277, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tMODBox, $GUI_DISABLE)



$tMODPDABox = GUICtrlCreateInput($tMODPDA, 330, 304, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tMODPDALabel = GUICtrlCreateLabel("tMODPDA", 400, 307, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tMODPDABox, $GUI_DISABLE)



$tMRDBox = GUICtrlCreateInput($tMRD, 330, 334, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tMRDLabel = GUICtrlCreateLabel("tMRD", 400, 337, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tMRDBox, $GUI_DISABLE)



$tMRDPDABox = GUICtrlCreateInput($tMRDPDA, 330, 364, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tMRDPDALabel = GUICtrlCreateLabel("tMRDPDA", 400, 367, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tMRDPDABox, $GUI_DISABLE)



$tSTAGBox = GUICtrlCreateInput($tSTAG, 330, 394, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tSTAGLabel = GUICtrlCreateLabel("tSTAG", 400, 397, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tSTAGBox, $GUI_DISABLE)



$tPHYWRDBox = GUICtrlCreateInput($tPHYWRD, 330, 424, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tPHYWRDLabel = GUICtrlCreateLabel("tPHYWRD", 400, 427, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tPHYWRDBox, $GUI_DISABLE)



$tPHYWRLBox = GUICtrlCreateInput($tPHYWRLAT, 330, 454, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tPHYWRLLabel = GUICtrlCreateLabel("tPHYWRL", 400, 457, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tPHYWRLBox, $GUI_DISABLE)



$tPHYRDLBox = GUICtrlCreateInput($tPHYRDLAT, 330, 484, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tPHYRDLLabel = GUICtrlCreateLabel("tPHYRDL", 400, 487, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tPHYRDLBox, $GUI_DISABLE)



$tRDDATABox = GUICtrlCreateInput($tRDDATA, 330, 514, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tRDDATALabel = GUICtrlCreateLabel("tRDDATA", 400, 517, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tRDDATABox, $GUI_DISABLE)



$tSTAGLRBox = GUICtrlCreateInput($tSTAGLR, 330, 544, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tSTAGLRLabel = GUICtrlCreateLabel("tSTAGLR", 400, 547, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tSTAGLRBox, $GUI_DISABLE)



$tWRMPRBox = GUICtrlCreateInput($tWRMPR, 330, 574, 60, 18, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))

GUICtrlSetFont(-1, 8, 400, 0, "Arial")

$tWRMPRLabel = GUICtrlCreateLabel("tWRMPR", 400, 577, 70, 17)

GUICtrlSetFont(-1, 8, 800, 0, "Arial")

GUICtrlSetState($tWRMPRBox, $GUI_DISABLE)

GUISetState(@SW_SHOW)



While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

DllCall($DLL, "none", "DeinitializeOls")

Exit



EndSwitch

WEnd



</code>

</pre></div>

</div>