Permutations Program Web Page (with more details): http://www.geonius.com/writing/articles/permutations.html Pierre Houbert's TI58C EMULATOR: http://83.156.189.247/ti58c/index.php?langue=EN To get to the emulator page, click the "Emulators" tab and, in the drop-down menu, click on "TI58C Emulator". The emulator runs *really* well under Windows 7 and Windows 10. I also installed it in Wine on Linux Mint 17.2. It still runs well, but not quite as fast as under native Windows. (But still a lot faster than the real calculator and printer!) ********** NOTE that all of the files below are ASCII text files. ALL of the files MUST have Windows-style carriage-return/line-feed line terminators. If the emulator fails to load the files, you probably unzipped the files incorrectly. Try again with the correct text-file settings. (This will most likely happen on Unix/Linux or Mac computers.) ********** Permutations Program ("TRY IT"): This is the permutations program. It will work on a real calculator. The ".hlp" HELP file is a regular text file; open it in NOTEPAD or whatever text editor you use to see the instructions for setting up and running the program. The ".wri" memory register file for Pierre Houbert's TI58C EMULATOR presets registers 0-24 for the 6-character text string, "TRY IT". After loading the program and data, just press R/S to generate the 720 permutations of the string. NOTE that there is, at the time I write this, a bug in the emulator when recalling a memory register indirectly (RC* nn). Consequently, this program will print out incorrect permutations if you use memory registers 25-29 for a different string. The "indirect" program below has a work-around that performs the RC* correctly, but causes the program to exceed 240 steps. This is no problem for the emulator and the program without the fix already works on a real calculator. permutations.t58 (Program in TI58C EMULATOR format) permutations.hlp (Program's HELP file in TI58C EMULATOR format) permutations_01.wri (Memory registers preset for "TRY IT" string) permutations.lst (Program listing in Guillaume Tello's format) Permutations Program ("ABCDEF"): The ".wri" memory register files for Pierre Houbert's TI58C EMULATOR preset registers 0-26 for the 6-character text string, "ABCDEF". After loading the program and data, just press R/S to generate the 720 permutations of the string. Because of the RC* bug described above, the program will generate incorrect permutations in the TI58C EMULATOR. Hopefully, the bug will be fixed in the future. In the meantime, use the "indirect" program in the next section. permutations_abcdef.t58 (Identical program as above) permutations_abcdef.hlp (HELP file for "ABCDEF" example) permutations_abcdef_01.wri (Memory registers 0-24) permutations_abcdef_02.wri (Memory registers 25-49) Permutations Program ("ABCDEF") with Indirect RC* Fix: This program has the work-around for the RC* bug and will generate the correct permutations when registers 25-29 are used. permutations_abcdef_indirect.t58 permutations_abcdef_indirect.hlp (HELP for fixed "ABCDEF" example) permutations_abcdef_indirect_01.wri permutations_abcdef_indirect_02.wri Original Permutations Program: This is the original TI-58 program I wrote back in the 1970s. It uses absolute branch locations, has some redundant code, and uses the memory registers slightly differently. This is of historical interest only to me, I guess! permutations_orig.t58 permutations_orig.hlp (HELP file for original program) permutations_orig_01.wri (Memory registers preset for "TRY IT") permutations_orig.lst C Permutations Program: This C program implements Horowitz's and Sahni's PERM algorithm. I wrote it when I was trying to figure out what algorithm I used for the calculator program. Since it turns out that I didn't use their algorithm (see my web page), this C program is not of much interest. After compiling the program, run it with a single argument, the string to be permuted. If no argument is specified, the program will generate the 24 permutations of "abcd". perm.c Local Copy of Web Page: The only image included (and needed) is the table of PC-100 printer codes. permutations.html pc100_chars.gif - Alex Measday (calexm5y@gmail.com)