Recovering from “Renumber Master Checklist”

AviSys includes a utility called “Renumber Master Checklist”. After you have run the 2024 taxonomy update, never run Renumber Master Checklist ever again! The reason is technical and is detailed below if you are interested.

Unfortunately it is not possible to make any changes to the AviSys program, because the code is lost, so this utility cannot be removed, and unfortunate people may run it sometimes. Running it corrupts your entire data set in a way that AviSys cannot recover from, making all of your data completely inaccessible, so I have written a separate program that will restore your data to its original condition.

To run the recovery program (RecoverRenumber.exe), download it here:

Download RecoverRenumber.exe

Store the file in your AviSys data folder (not the main AVI6 folder, but your data folder). Double-click it (after taking the anti-virus step described below). That's all, your data will be recovered! When you then run AviSys, there will be a couple of prompts to respond to, and AviSys will restart; this is expected.

Please understand that you can only run the program on a data set that has been corrupted by renumbering. If you run it successfully once, you have a corrected data set and you'll only get an error message if you try running the program again on a data set that is not corrupted.

Anti-virus

One time only, before running the program for the first time, right click it and from the menu select "Properties" (down at the bottom) to get a window like the one shown below. At the bottom you should see a "Security" message with an "Unblock" check-box. Check Unblock and your anti-virus should give you less grief when you run the program.

Technical details

In the Avisys taxonomy, every species is numbered so that they can be sorted taxonomically. They aren't numbered consecutively; Jerry counted by threes, 1,4,7,10, etc, so that you could insert up to two new species between any two others. For example, if you wanted to insert a new species between 4 and 7, 5 was available. And 6 was available for a second insert. But you couldn't insert a third species because the numbers were all used up, 4, 5, 6, 7. In that case you had to renumber the whole taxonomy to get a whole new set of intervals of 3. This worked well during Jerry's lifetime, and through the 2023 update. Actually the renumbering per se still works, but there's another problem.

To number the species, Jerry used an unsigned 16-bit integer. Within the constraints of 16 bits, you can count as high as 65535 (64K), but no higher (it would be like trying to go past 9999999 on a calculator, but in binary). This limitation poses no problem. However, at some unknown point in the code, Jerry uses a signed, rather than unsigned, 16-bit integer when he references the species numbers. With a signed integer, one bit is used for the sign (+/-), leaving only 7 bits for the number, meaning that you can only count up to 32767 (32K). In 2024, for the first time, there are enough species that counting them by threes takes you past 32767, rendering the numbers of the last few dozen species as negative garbage. AviSys cannot cope with this, and you cannot access any of your data at all.

Beginning with the 2024 update I count by twos so the count doesn't have to go so high, but now you can only insert a maximum of one species in any one place. You might be tempted to renumber but DON'T DO IT. It will renumber by threes and YOU WILL BE SORRY. If you really can't wait for the update to do a split involving more than one new species, your only choice is to insert them out of sequence in the wrong places.

Future renumbering

I intend to provide another utility for renumbering in the future, but I haven't started on it.