wPrime Build log First beta - beta 1 ------------------- First working model beta2 ----- Implemented console system. Added CPU stressing before clock reading to prevent false clock reading due to power saving technologies. beta3 ----- Fixed bug where only one thread would operate. Improved console system reliability. Added functinality to set different thread count. Added record system. Allows user to set whether to cache results. Added debug mode test. beta4 ----- Fixed cpu usage when waiting for input. Bug returneed whether only one thread operates. Fixed index out of bounds error upon completion of debug mode test when it attempts to store result for test. beta5 ----- Fixed bug where only one thread would operate, though all tests run in one physical thread. beta6 ----- Added copy command to copy console. beta7 ----- Added system thread indentifier. beta8 ----- Began submission system. beta10 ------ Improved threading. beta11 ------ Rearranged console input system. First release v1.00 ----- Fixed submission functionality in which checksum would fail as server used 64bit floating points whilest client used 32bit to store results and thus checksum would fail in some cases. Added get command. Fixed alignment issue with console entry point. v1.01 ----- Isolated hardware information retreival and submission of results so that program would not crash if library missing. v1.02 ----- Set each thread to attempt signal parent every few seconds to see if parent has quit so that they quit with parent in the event of program crash. v1.03 ----- Added "Type help for instructions" after setup. v1.04 ----- Fixed bug in which subsequent calls of "lt" will cause the list not to appear. Server Update ------------- Some clients were submitting results with , for a decimal point so made server replace these with decimal points to avoid checksum failures. v1.05 ----- Cleared records only after successful score submission to avoid loss of score if winsock control is missing. Server Update ------------- Made server not thank clients when no score is submitted. v1.06 ----- Added Graphical User Interface. Fixed major threading bug which caused previous instances of threads to run instead of the latest copy if exe was run from a different directory to a previous instance. If previous instance was deleted program would error. v1.07 ----- Found when switching from GUI to console, subsequent tests would run multiple times upseting results. Disabled switching for now. When running in tc mode, made it verify results upon completion to test memory integrity. v1.08 ----- Verified results for individual threads. Made GUI check if user name field is not empty before submitting. Cleared console when it exceeded 32,000 bytes. v1.09 ----- Made program unregister when typing "exit". Fixed version number. (1.08 said 1.07). v1.10 ----- Used third party library for retreiving real-time clock rate. Isolated this to allow the program without this library. Changed intitial stress test to stop hang when wPrime isn't registered. Included libraries within program that can be installed with "install " command. v1.11 ----- Found by removing the initial stress test, the first test would run in a chaotic thread structure. Reinserted it. v1.12 ----- Fixed typo in help. Implemented installation within GUI. v1.20 ----- Increased maximum test to be 32G (only available through console). Implemented hwbot submission system. Completely redesigned GUI to be alot more user friendly. Restricted GUI access only to 32M and 1G tests. Made it not save score if errors occured during the test. Made it report status more frequently during test - this slowed down test considerably so I used a different approach to the status reporting which sped up the test noticably. (so all scores after around id=300 will be slightly faster) Server Update ------------- Made server return correct test number in success string. Increased maximum acceptable test to 32G. v1.21 ----- Fixed minor bug when submitting gui would not return. v1.22 ----- Another attempted fix. v1.23 ----- Fixed two minor typos. v1.24 ----- Fixed file loading problem. v1.25 ----- Made GUI version only warn once that error submitting. v1.26 ----- Made it display version number in caption bar. v1.27 ----- Replaced sqrt in checksum to use system sqrt instead of home-made one. Server Update ------------- Replaced sqrt in checksum to use system sqrt instead of home-made one. v1.28 ----- Allowed new GUI version to force thread count. v1.29 ----- Introduced method to prevent cheating. v1.30 ----- Changed checksum to avoid usage of older versions. Server Update ------------- Updated server checksum. v1.31 ----- Fixed bug in saving and changed loading to support scores saved with a bugged version. v1.32 ----- Packaged cpuz and used it to retreive more accurate and detailed hardware information. Fixed bug in saving such that it doesn't save thread count. Server Update ------------- Updated server to accept extra information provided by CPUz. v1.33 ----- Support for HT link. Support for Independent Cache Made it inform user that CPUz gathering may take time. v1.34 ----- Packaged CPUz readme visible at the cpuz install screen. Sped up cpuz output parse time significantly by ignoring information that isn't used. Put option to cancel CPUz request. Put percentage in parse time. v1.35 ----- Fixed vcore readout. Made it send hwbot servers CPUz CPU name instead of specification. v1.36 ----- Fixed minor bug in loading in which it missed loading the thread count, thus everything ended up out of order. v1.37 ----- Fixed bug in loading in which scores with cpu clock saved with comma instead of decimal point would fail to load. Server Update ------ ------ Gave server ability to accept clock with ',' delimiter. v1.38 ----- Made it submit rounded results with rounded value used in calc of checksum. v1.39 ----- Made it not display Vcore if Vcore not read. Made it send appropriate checksum to hwbot server. Server Update ------ ------ Fixed error in server in which you would get a Type Mismatch on the server-side. Resubmitted last 30 or so scores. v1.40 ----- Fixed up library alignment issue. v1.41 ----- Made invalid thread count complain instead of cause crash. Search.cgi ---------- Converted the search algorithm into an iterative approach so it could handle large amounts of results. v1.41a ------ Fix version number to match version v1.42 ----- Updated CPUz to v1.39. v1.43 (GUI version only) ----- Fix checksum compatibilty with hwbot. Fix verification link sent to hwbot (was still sending old one). v1.44 (GUI version only) ----- Made hwbot and wprime links use default browser. v1.45 ----- Fixed bug where it would read CPUz's output before CPUz has closed access to file. v1.50 service release --------------------- Added wserver, hserver, getwserver, gethserver, refcpuz console commands. Type help for more details. Made ~ key show console. v1.51 ----- Added submission of motherboard and memory details to hwbot. v1.52 ----- Added console command, subhttp, which alters the wprime submission method to be via HTTP GET method. This is ideal for those behind proxies or with other ports blocked. This uses iexplore (not the default browser). Made wPrime automatically switch to http submission if standard one fails. v1.53 ----- Made console unavailable when in load score file mode. Made default submission method via HTTP GET. Removed rdtsc library. Removed wserver command. Made wPrime save new information required for new hwbot information (prev version would not send new information if loaded from saved file). New save files will not work in older versions (though older ones will work in latest version). Fixed bug where wPrime will not reach GUI if Winsock not installed. Improved cheat detection. v1.54 ----- Added load and save to console. Increase thread count capability to 256. Included a 'cleanup' function in the console. Updated CPUz to v1.41 v1.55 ----- Fixed bug where it would not submit to hwbot. v1.56 ----- Removed old hardware detection (still available from console). Now uses CPUz only for hardware detection. Automatically attempts to install latest version of CPUz on startup. Uses CPUz for thread detection, enables automatically thread setting on Vista. Added customizable startup routine. Bundled hwbot submission into wPrime submission code allowing submission from console, and thus submission via customization. Updated CPUz to version 1.42 v1.57 ----- Fixed incomplete update to CPUz 1.42 which would cause problems if 1.41 wasn't installed. v1.58 ----- Fixed load bug v1.59 ----- Fixed another load bug. v1.60 ----- Removed compile optimizations to bring consistancy between versions. v1.61 ----- Put complile optimizations back in. v1.62 ----- Removed submission to wPrime website. v1.63 ----- Added sft command which sets thread count to if thread count hasn't been set. Used to avoid error on abort of CPUz check. Added hide command which hides the console Added killdelay