XL2CL
5.107.0
4/17/2026

The inline ASM in OpenLoop_Press_Timer was not compatible with the new Builder 12 compiler so it was converted to C.

There has been a workaround for a Linker Bug in the Linker for hardware (XLINK86). This bug clobbered the Test_Record_Chain function in some cases. It did this for the last instance in any module according to comments in the files. The work around was to move all of the intantiation of these teemplates to one modujle and then provide a sacrificial instance that never got called.

This work around was not working for the Builder 12 compiler we are trying to transition to. Working with Claude, we figured out that the bug could be bypassed by splitting the Test_Record Chain into smaller smaller functions by making some of the code subroutines. This bypassed the bug for builder 12.

The AA Option, when configured for speed based on Part Length, the following change has been made.

When transitioning from a longer part to a shorter part, the speed reduction will take place one part early. This will provide time for the speed reduction to take place before the shorter part is run.

When transitioning to a longer part from a shorter part, the speed increase will occur as it always has, it will transition to the faster speed, once the longer part becomes the actively running part.

The Borland 5.02 compiler is no longer the compiler we will be using for the XL200 software projects. The last copywrite date for this compiler was 1997.

The new compiler comes from Embarcadero, called Builder 12. It has a copywrite date of 2024. It contains compilers and linkers that are compatible with the tools and techniques required to support the XL200 software projects and Hardware.

There is much less danger in a windows update causing issues with this new compiler. It will provide additional tools that will help us better support the existing hardware and to be able to eventually transition to more modern Source Control tools.

The AA Option was causing Encoder Simulation issues on the PC Simulation in the Closed Loop. It caused spikes in the Encoder Simulation output when the simulation would write simulate writing a new value. This has been resolved.