A few years back I heard a tale about the first creation of artificial diamonds. I think it was the GE corporation that was trying to make diamonds for industrial purposes (and NOT to get rich in the jewelry market), but the tale I heard and/or read was that diamonds were first synthesized in the 1950’s, and recently scientist went back and researched the original process, "recreating" the steps that lead to the discovery. Anyway, in going back through the journals and papers of the time, modern scientists discovered that the original data were wrong, and that the diamonds that they thought were created were actually diamonds that had been intentionally seeded to start the crystal growth! However, the experiment was a success, because the process was right, and the artificial diamond industry was born, even if on an incorrect premise.
Here’s why I’m mentioning this: I’ve been writing about a VB creation of mine called ChipWits. I started it years ago, got off to a slow start, and then not quite two years ago found a Commodore 64 version of it, and with a C64 emulator was able to see how the program was supposed to work (instead of relying on 20 year old memories), and ultimately got a near-Beta quality program finished. I never got much further 1-1/2 years ago, however because I thought I had a serious bug somewhere. I owned a 1984 Mac version of ChipWits, and still have the disks and documentation. Within the manual, there are print-outs of sample ChipWit IBOL programs. (Not listings per se, because IBOL, the "Icon-Based Operating Language" was entirely graphic, and programs consisted of collections of the various IBOL "chips.") One of the sample programs was OctoBuster, which worked in the Octopus Garden maze (8 paths lead off a central room, with treasures at the end of each path). Well, I duplicated the Octopus Garden maze from the C64 version in my version of ChipWits, entered the manual’s OctoBuster program, and … it didn’t work. The poor robot just spun around in circles, going nowhere. Obviously, I had an error deep in my ChipWit version, or so I thought. I hunted for a while, but after not finding anything blatant, I lost some degree of interest, and
Recently (like in the past few weeks), I found other bloggers who wrote about ChipWits (the original Mac version), and in contacting some of them I started thinking again about my program and the problems therein. Something made me look at the C64 version of OctoBuster, and lo and behold, it was different than the printed manual version! I saved a copy of my OctoBuster (from the manual), entered the C64 program, and IT WORKED! The little robot bugger actually walks down each of the paths, finds the treasure at the end, and walks back to the main room, using the stack to keep track of the moves it made so it can return semi-efficiently. Cool.
I’m still in a little bit of shock over this. I had the program working for 18 months, but didn’t know it because the test data was bad. Who’da thought?
There’s still more coding to be done, but I’m pleased with what I’ve got. I’m gonna go look for some more artificial diamonds.