RossH
11-14-2010, 05:08 AM
All,
Attached is a tutorial-style introduction to Catalina Targets, Plugins and the Registry. It is intended mainly for people interested in developing new plugins for Catalina, using existing Catalina plugins in other language environments, or developing Catalina-compatible plugins for use with both Catalina and other language environments.
It is suitable for Catalina 2.6 or later (Windows or Linux).
Several people have commented that Catalina is complex - and they are correct. However, what they usually mean is that the default Catalina Target Support Package is complex. This is not surprising - Catalina now supports so many platforms, so many plugins, so many memory models, so many kernels and so many different loaders that it can be difficult (even for me!) to figure out how it all actually works, or how to add anything new.
And yet the principals involved are not that difficult.
The attached zip file contains a new minimalist Target Support Package. This package supports only LMM programs. It supports only one kernel variant. It supports only one plugin. It supports only one target, and that target supports only two platforms - the HYDRA, and a CUSTOM platform which you can tailor to suit your hardware (if you do not have a HYDRA).
But best of all, it consists of only a few files - so figuring out how it works (which is also described in the enclosed tutorial document, as well as in various README.txt files) is easy.
The main purpose of this package is to demonstrate how to develop a new Catalina plugin, how to create a target that knows how to load it, and how to write some C code that knows how to use it. But for some users - those who have a specific embedded application, and don't need XMM RAM, 5 different kinds of video drivers, 2 different kinds of keyboard and mouse drivers, SD card support, serial I/O, proxy drivers (and all the other stuff supported by the default Target Support Package) this minimalist target support package may provide all they will ever want or need to use Catalina. Or if they need only one or two of those additional plugins, then starting out from this minimalist base and then adding in only what they need may be a much better option.
The attached zip file contains a fully documented and working example of a fairly generic plugin, plus a simple demo program that shows it being loaded and used. The enclosed tutorial also describes the registry in detail, since this is important in understanding how C programs interact with such plugins.
Finally, a more complex demo program is also included - this example shows how a C program can dynamically load and unoad plugins at run-time.
Ross.
Attached is a tutorial-style introduction to Catalina Targets, Plugins and the Registry. It is intended mainly for people interested in developing new plugins for Catalina, using existing Catalina plugins in other language environments, or developing Catalina-compatible plugins for use with both Catalina and other language environments.
It is suitable for Catalina 2.6 or later (Windows or Linux).
Several people have commented that Catalina is complex - and they are correct. However, what they usually mean is that the default Catalina Target Support Package is complex. This is not surprising - Catalina now supports so many platforms, so many plugins, so many memory models, so many kernels and so many different loaders that it can be difficult (even for me!) to figure out how it all actually works, or how to add anything new.
And yet the principals involved are not that difficult.
The attached zip file contains a new minimalist Target Support Package. This package supports only LMM programs. It supports only one kernel variant. It supports only one plugin. It supports only one target, and that target supports only two platforms - the HYDRA, and a CUSTOM platform which you can tailor to suit your hardware (if you do not have a HYDRA).
But best of all, it consists of only a few files - so figuring out how it works (which is also described in the enclosed tutorial document, as well as in various README.txt files) is easy.
The main purpose of this package is to demonstrate how to develop a new Catalina plugin, how to create a target that knows how to load it, and how to write some C code that knows how to use it. But for some users - those who have a specific embedded application, and don't need XMM RAM, 5 different kinds of video drivers, 2 different kinds of keyboard and mouse drivers, SD card support, serial I/O, proxy drivers (and all the other stuff supported by the default Target Support Package) this minimalist target support package may provide all they will ever want or need to use Catalina. Or if they need only one or two of those additional plugins, then starting out from this minimalist base and then adding in only what they need may be a much better option.
The attached zip file contains a fully documented and working example of a fairly generic plugin, plus a simple demo program that shows it being loaded and used. The enclosed tutorial also describes the registry in detail, since this is important in understanding how C programs interact with such plugins.
Finally, a more complex demo program is also included - this example shows how a C program can dynamically load and unoad plugins at run-time.
Ross.