Along with several other projects I'm working on, the MC-10 ROM is getting a little attention again.
It's been a few months, so before porting to the 68hc11, I thought I'd get reacquainted with the code by working on a new release.
The floating point division code has been optimized a little more. It's pretty minor, but it's in the inner loop, and if you use a lot of division, it and the savings from previous optimizations add up.
The array index to address calculation uses a 16x16 bit multiply, but it does not take advantage of the MUL instruction. We'll see if the new code offers a noticeable speed improvement.
The code that reduces the number of times the keyboard is scanned was not in the previous release, so that has been added.
The optimization for storing the pointer to the next line is going to get a look. That has a lot of potential to speed up complex code.
It would be nice to finish the 16 bit string compare and memory move functions before another release. Sorting string arrays should be much faster once that's implemented.
It's been a few months, so before porting to the 68hc11, I thought I'd get reacquainted with the code by working on a new release.
The floating point division code has been optimized a little more. It's pretty minor, but it's in the inner loop, and if you use a lot of division, it and the savings from previous optimizations add up.
The array index to address calculation uses a 16x16 bit multiply, but it does not take advantage of the MUL instruction. We'll see if the new code offers a noticeable speed improvement.
The code that reduces the number of times the keyboard is scanned was not in the previous release, so that has been added.
The optimization for storing the pointer to the next line is going to get a look. That has a lot of potential to speed up complex code.
It would be nice to finish the 16 bit string compare and memory move functions before another release. Sorting string arrays should be much faster once that's implemented.