| Wrapping a ROM Function with a Macro

Previous | Overcoming AMS Dependencies | Next

Sometimes a ROM function exists as a normal ROM call in the jump table, but for some reason it is not usable in a direct way. This means that it has to be implemented either using macros or using a wrapper function in `tigcc.a`. Using a macro prevents you from taking the address of the function and therefore from using it as a callback function.
This does not have to be related to an AMS dependency, although it is in the special case of XR_stringPtr. In fact, all functions returning `float` values are implemented in this way, since the TIOS method of returning floats is strange to say the least.