It took some time today but eventually I managed to spot the error I made when I implemented half-wave dumping in my low-cost version of DC2N5. The error consists in a typo (what a surprise!) I made. I wrote:
#if DUMP_READ_INVERTED ... block of code 1 ... #esle ... block of code 2 ... #endif
Now note that due to the fact the “else” directive is not spelled correctly, when DUMP_READ_INVERTED is zero neither block of code (1 and 2 above) is executed, which is not the right behaviour. As the wrong directive is inside a properly defined if/endif block it simply does not get checked by the pre-processor if DUMP_READ_INVERTED is zero.
The bug was very subtle indeed 🙂
Now what’s left to do is still a graphic interface that is user-friendly and then work at the hardware design, in an attempt to come up with a smaller board that fits nicely in a tiny case 🙂
As John and a few others asked in the past, the active part of the board that I am using is the upper half, i.e. the one above the white line between the two crystals.