The OSDK contains a decently complete standard library, and also some Oric specific functionalities.
Most other SDK are based on binary library files, and the right functions are included in the final executable during the link phase. This SDK works differently because the library is made of source code that is included in the main program by the linker before the final assembly pass.
This method is interesting because it's possible to easily add functions, and correct bugs.
The OSDK\INCLUDE folder contains all the header files. If you add a function in the library, you will have to add a function declaration in one of the header files. LIB.H is a good choice for that operation.
The OSDK\LIB folder contains a bunch of assembly code source file, as well as a LIBRARY.NDX file.
The LIBRARY.NDX file simply is a list of all source files with the exported functions it contains.
The source files simply are normal assembly code functions and declarations. Please note that only function that starts by a underscore ("_") symbol will be accessible from C source code.
Issue #28: Additional BASIC functions
Details: Some users would like to have additional functions, similar to BASIC, like PLOT, SCRN, etc... added to the OSDK. (See: topic)
Issue #26: Random generator conflicts
Details: When including lib.h, two defines exposing the 32 bit random generator conflicts with the RND function from the ROM, resulting in corrupted results. (See: topic)
Fixed in OSDK 1.13
Details: For some reason calling the Sedoric() function results in a link error. (See: topic)
Fixed in OSDK 1.12
Details: When trying to use the 'scanf' functions from the OSDK libraries, XA complains with multiple syntax errors.
comments powered by Disqus