This file lists the previously undocumented features available in the program. These features may change or be discontinued at any time. Their use is totally unsupported. In prime.ini you can force the program to use different filenames for 6 files. This is in response to a user that is running security software that prevents writing to any file with a .ini extension. There may well be other uses. You can also change the working directory (identical to the -W command line argument). prime.ini=your_filename local.ini=your_filename worktodo.ini=your_filename prime.log=your_filename prime.spl=your_filename results.txt=your_filename WorkingDir=your_directory_name You can change the program's behavior at various times of the day. See the Time= option described in the readme.txt file. You can limit how far the program tries to factor a number. This feature should not be used with the Primenet server. To prevent the factoring code from factoring higher than 2^n, enter this in prime.ini: FactorOverride=n You can force the Options/CPU dialog to display times using AM/PM or a 24-hour clock format. Otherwise, the program will make its best guess as to the proper format. Add this line to prime.ini: AMPM=n where n is 1 for AM/PM formatting and n is 2 for 24-hour formatting. You can adjust how many decimal digits of precision are displayed in lines output to the screen. In prime.ini enter a value between 0 and 6: PercentPrecision=n You can choose whether the program uses the system clock or the read timestamp counter instruction (RDTSC) to time events. In prime.ini, enter 0 for using the system clock, 1 for using RDTSC but not outputting clock counts, and 2 for using RDTSC and outputting clock counts. RdtscTiming=n You can alter the way the program outputs timings. In prime.ini set: TimingOutput=n Where n=1 for seconds with 3 digits of precision, n=2 for milliseconds with 1 digit of precision, n=3 for milliseconds with 2 digits of precision, n=4 for milliseconds with 3 digit of precision. You can turn off the outputting of date and time to the screen. In prime.ini: TimeStamp=0 You can have the timings that are output to the screen be cumulative (from program restart or start of a new exponent) rather than resetting after each screen output. Add this line to prime.ini: CumulativeTiming=1 The program normally will not start any calculation until 90 seconds after a reboot. This is done so that your normal boot up procedure can be as fast as possible. You can control how long this delay is by adding this line to prime.ini, where n is the number of seconds to sleep: BootDelay=n The program supports 4 different code paths for LL testing depending on the CPU type. It also has a few different factoring code paths. You can force the program to choose a specific code path by setting the proper combination of these settings in local.ini: CpuSupportsRDTSC=0 or 1 CpuSupportsCMOV=0 or 1 CpuSupportsPrefetch=0 or 1 CpuSupportsSSE=0 or 1 CpuSupportsSSE2=0 or 1 This shouldn't be necessary though. Setting the CPU type in Options/CPU is the preferred method. There is one IMPORTANT EXCEPTION. If you have a Celeron the program distinguishes between a Celeron 1 and a Celeron 2 by the clock speed you enter. Anything above 533 is assumed to be a Celeron 2. If you have a Celeron 1 chip running above 533 MHz, then set CpuSupportsPrefetch=0. If you have a Celeron 2 and it is running at 533 MHz or less, then set CpuSupportsPrefetch=1. The program used to do factoring and P-1 testing on exponents even if they were not the first entry in worktodo.ini. The rationale was that if the number had a factor, the server could be contacted and another exponent reserved. This avoids the possible scenario where the LL test for the first worktodo.ini line completes, a factor is quickly found for the second line in worktodo.ini and the computer now sits idle until the server can be contacted. This behavior was confusing, especially to newcomers. To restore this old behavior add this line to prime.ini: SequentialWorkToDo=0 One added benefit is time estimates in Test/Status will be more accurate because we'll know no factors will be found and the LL test must be run. The program will restrict how many exponents can be added to worktodo.ini. To override this, change prime.ini: MaxExponents=n By default, ECM will stop when a new factor is found for exponents above 5825. You can have ECM always stop or always continue searching for factors by using a value of zero or one in prime.ini: ContinueECM=n You can skip the GCD in stage 1 of P-1 factoring with this prime.ini setting: Stage1GCD=0 You can prevent users from accessing the Test/User Information dialog box. In prime.ini enter: LockUserInfo=1 You can make prime95 ping the Primenet server every time it starts up. I don't know why you'd want to do this. In prime.ini enter: PingAtStartup=1 You can have the program generate save files every n iterations. The files will have a .XXX extension where XXX equals the current iteration divided by n. In prime.ini enter: InterimFiles=n You can have the program output residues every n iterations. The default value is the InterimFiles value. In prime.ini enter: InterimResidues=n You can force prime95 to skip the trial factoring step prior to running a Lucas-Lehmer test. In prime.ini add this line: SkipTrialFactoring=1 You can do P-1 factoring by adding lines to worktodo.ini: Pfactor=exponent,how_far_factored,has_been_LL_tested_once For example, Pfactor=10000157,64,0 You can reduce the number of times worktodo.ini is read and written by setting in prime.ini: WellBehavedWork=1 This only works for worktodo.ini files that contain only Factor= lines. Only turn this on if you have BIG worktodo.ini files and each Factor= operation does not take much time. You must stop prime95 before manually editing the worktodo.ini file. In Advanced/Time, you can enter a value between 9994 and 9999 for the exponent to run a QA script. The QA file looks like this: 64511,0,400,99999999,3389BC878321980A Where the first value is the exponent, the second value is the FFT size where zero means use the default FFT size. The third value is the number of iterations to run. The fourth value is the shift count (if the shift count is greater than the exponent a random shift count is used). The final value is the expected 64-bit residue. The dialog box values between 9994 and 9999 force slightly different code to run. 9999 and 9998 run straightforward squaring code, 9998 differs by gathering some standard deviation data. 9997 does squarings also but exercises the general purpose add/sub/mul routines too. 9996 does operations typical during ECM - the final residue won't match but the convolution error data can be useful. 9994 and 9995 probably blow up. You can factor a range of exponents for certain factors between b1 and b2 bits inclusive. This feature is likely to be deleted in a future release. Add this to your worktodo.ini file: AdvancedFactor=start_exponent,end_exponent,b1,b2 AdvancedFactor uses the file p0000000 as the name of the continuation file. This causes problems if you try to run two prime95s doing Advanced/Factoring on a dual-CPU machine from the same directory. Add this line to prime.ini to use a different Advanced/Factor continuation file name: AdvFacFileName=filename In AdvancedFactor, a start exponent of 8888 forces reading of a file called factors. The program then tries to refind each factor using the factoring code. This is not an efficient way to verify factors as it goes through the entire sieving process and trial factoring many potential factors. In local.ini, both the DayMemory and NightMemory values can be negative numbers meaning use all but this many megabytes. Thus on a 128MB system a value of -32 means the program can use 96MB of memory. You can control which FFT sizes are tested by the torture test. In prime.ini you can set: MinTortureFFT=n MaxTortureFFT=m Where n and m are in "K". The default for n and m is 8 and 1024 which will run tests on FFT sizes rom 8K to 1024K. Set n to 8 and m to 16 and you will run only small FFT sizes. These FFTs will fit in the L2 cache and may be more stressful to the CPU. You can control how many minutes each FFT size is tested by the torture test. In prime.ini set: TortureTime=n The default value is 15 minutes.