Files and directories in SuperMemo

These are the files used by a typical SuperMemo installation:

SuperMemo Directory - usually c:\sm8 or c:\sm98

  • sm98.exe - the program: SuperMemo 98
  • bin - some working files used by SuperMemo
    • sm8.ini - text file with some parameters used by SuperMemo. You can modify this file manually. Please do it with caution and make a back-up before introducing any changes
    • tips.txt - text file with tips used in Question of the Day. You can modify this file manually
    • smhelp.chm - help file for SuperMemo (if you are not reading this text over the Internet, you are probably reading this file). If you download shorthelp.chm (0.5 MB help instead of 2.0 MB help), you should rename it to smhelp.chm if you want SuperMemo to use it as a substitute for the full help file
  • systems - collections used by SuperMemo
    • <name of the collection>.kno - file with most important parameters of the collection such as the total number of elements, number of memorized elements, date of creating the collection, etc. For more details see below
    • <name of the collection> - directory with the remaining files of the collection
      • ks.ini - text file with some parameters used by the collection. You can modify this file manually. Please do it with caution and make a back-up before introducing any changes
      • info - most important information files
        • compon.dat - binary file with the layout and attributes of all components used in the collection
        • elinfo.dat - information about all individual elements: A-factor, last repetition date, number of repetitions, forgetting index, etc.
        • contents.dat - information about the structure of the knowledge tree. Each element has its parent, siblings and the first child recorded in this file along with the number of children and the number of descendants
        • reps.dat - repetition history of all individual elements. This file is optional and you can remove it with File : Reset : Repetition history
        • burden.dat - file with the number of repetition planned for each day and the pointer to the first item on the repetition list for each day
        • intact.dat - element subset file with all pending elements (i.e. pending queue)
        • sm8opt.dat - optimization data record file used by the Algorithm-SM8. Read more about this record in: Implementing SuperMemo with sm8opt.dll
        • appnodes.dat - information about all contents categories
        • drill.dat - element subset file with all elements scheduled for the final drill (i.e. the final drill queue). You can delete this file (the final drill queue will be emptied)
        • history.dat - element subset file with the last fifty most recently visited elements. You can always delete this file
      • registry - registries used by the collection (except translation and transcription registries; see below)
        • text.* - text registry files
          • text.inf - information about all registry members stored in the text registry (e.g. number of using elements, pointer to the text.reg file storing the name of the text registry member, pointer to the text.lst file storing the list of elements using a given member, etc.)
          • text. lst - list of all element using all individual text registry members
          • text.ptr - registry subset storing the sorted subset of all members in the text registry
          • text.reg - names of all text registry members. You can view this file in any file editor. If you opt for editing this file, never change the length of individual records. This would destroy the integrity of the text registry
        • font.* - font registry files
        • sound.*, etc. etc.
      • elements - multimedia files associated with individual registries such as video, sound, images, html, OLE, scripts, etc. You can edit all those files but you must not rename or move them as this would destroy the integrity of the collection. The elements directory can be transferred to secondary storage (e.g. with File : Semi-Copy) and be stored on a CD-ROM or CDR. This way substantial hard disk savings can be made. The directory tree in elements is growing gradually as you are adding new files to the system. However, it sticks to the 40-files-per-directory limit to maximize the performance on CD-ROM media
      • translat - translation registries available for the collection (see: Tools : Options : Language : Collection translation). You can delete this directory; however, the translations will become unavailable
      • subsets - element subsets created by the user. You can delete this directory if you do not need the subsets. Read more: Using subsets
      • reports - text file with reports generated by SuperMemo (e.g. recovery report, translation import report, transfer report, etc.). You can delete this directory if you do not need the reports
      • files - other files used by SuperMemo (e.g. template files). You can delete this directory
      • temp - temporary files used by SuperMemo. You can always delete this directory. Note, however, that you will loose users recordings generated in pronunciation exercises
  • translat - SuperMemo localization table files used in displaying various language interfaces of SuperMemo (see: Tools : Options : Language : Localization table)
  • phonetic - phonetic transcription registries (see: Tools : Options : Language : Phonetic transcription)
  • filters - filter files for processing texts in collections (extension flt)
  • alg - plug-in algorithm DLLs and accompanying files

Most important fields of the KNO file

  • Total,Memorized:longint; - the number of undeleted elements in the collection and the number of memorized elements

  • AllocatedFileSpaceSlots:longint; - number of slots alocated for files in the elements directory

  • Version:byte; - collection structure version number (for checking compatibility with the used software release)

  • Burden:real48; - the average number of items to repeated per day

  • FirstDay,LastDay:word; - first day of the learning process relative to Jan 1, 1980, and the last day on which repetitions have been cleared (relative to FirstDay)

  • DefaultFI:byte; - default forgetting index in the collection

  • MeasuredFI:real48; - measured forgetting index

  • MeasuredFICases:word; - the number of repetitions contributing to MeasuredFI

  • FutureReps:real48; - not used in the current version SuperMemo

  • ALR,AFI, AR,AL,AI,AF,ATim,AG:real48; - various averages: Average Last Repetition, Average FI, AverageRepetition, AverageLapses, AverageInterval, AverageFactor, AverageTime, and  AverageGrade

  • AFactorDistribution:array[1..20] of word;

  • IntervalDistribution:array[1..13] of word;

  • LapsesDistribution:array[1..15] of word;

  • RepetitionsDistribution:array[1..20] of word;

  • author specific data, repetition time measurements, repetition counters, reserved fields, collection version, etc.

The size of variables used above in bytes is: longint 4, byte 1, real48 6, and word 2.

Frequently Asked Questions

(Marcin Piekarniak, Poland, Dec 2, 1997)
How to easily back up Advanced English 97? In Advanced English 94 the entire system could be compressed to a 1.4 MB file!
You can backup the learning process only. This way only the data pertaining to items in the learning process will be stored (not items themselves). Use File : Export : Learning process to export the data. Later, upon reinstalling Advanced English 97, you can restore the learning process with File : Import : Learning process