Archive for Educational Software

Using Mapletop Software’s smconv.exe on Mac OSX

A few weeks ago I received an e-mail from a fellow Mac and Palm SuperMemo user asking how to convert flashcards from text format to PDB format. Mapletop Software, the maker of Palm SuperMemo, provides a command-line utility called smconv.exe to perform the conversion on the PC. To run the tool on the Mac requires a change to the line endings in your flashcard text file as well as a DOS emulator. It’s not as bad as it sounds, really. Read on.

I’ve provided a zip file with the tools you will need to perform the conversion. Download and unzip the file, and while you’re at it, copy your text flashcard file to the downloaded folder. The zip file includes a couple of simple scripts I wrote and DOSBOX, a free DOS emulator for Mac. If you have any trouble with the copy in the zip file, you might try downloading the emulator directly from the source.

  1. First, of course, you will need to create some flashcards. Any text editor will do, but I use my own program, SuperMemo Creator. (As an aside, when run on Windows, SuperMemo Creator handles text-to-PDB conversion behind the scenes. I haven’t tested it with the recently-released Palm SuperMemo 2.0, however.)
  2. Windows uses line ending characters that are different from most other operating systems. These characters are invisible but will cause smconv.exe to fail if not in the Windows format. I wrote a little shell script to convert from Mac to Windows line endings. Open Terminal (usually located under Applications / Utilities), change into the unzipped SuperMemo directory, make the line ending conversion script (convert.sh) executable, and run the script on your text flashcard file:

    > cd Documents/SuperMemo # Your path may vary.
    > chmod 750 convert.sh
    > ./convert.sh your-file.qna #Your file name will vary.
  3. Next, launch DOSBOX by running the script dosbox.sh. This script assumes that DOSBOX is located in the same directory as the script.

    > chmod 750 dosbox.sh
    > ./dosbox.sh
  4. In the DOSBOX window, run smconv.exe:

    > smconv.exe your-file.qna
    A SuperMemo PDB file will be created. In Finder, double-click on the PDB file and it should be installed on your Palm the next time you HotSynch.

That’s it. Please let me know if you have any questions or comments.