If recompiled older add-ins should be able to work. There's nothing wrong with directly accessing the hardware as long as you do it in a safe and efficient way. My preferred method is to use a set of standardized libraries that can updated when hardware changes without having to modify someone's legacy code. For example a set_cpu_frequency(int) function could be designed to be both hardware compatible with all current casio calcs and be flexible enough to be expanded for future designs. This is also why I'm such a strong advocate for open-source projects as old apps that are no longer maintained by their original authors can no longer work if they were closed source. This is especially distressing if only a few minor modifications were required to upgrade to the newer gII. To prevent this in the future I've been working on standardizing methods for the Prizm as it will be necessary if casio changes the hardware. In fact I'm going to try and extend these hardware libraries to all casio calcs that way standardized hardware functions can be used for nearly half a dozen calcs. Do note that the professional software industry deals with these issues to a far more difficult level than we do. As an example look at the x86 architecture. The number of modifications and additions it has gone through is far more than the super h. And yet something like windows has to directly access the hardware on the tens of thousands of different pc's out there and is expected to work right out of the box.