Dieses Kapitel beschreibt wie man für eine neue Platform Treiber-Code hinzufügt. Beschreibung aufgesetzt am WIN-GDI Treiber Alle Systemtreiber befinden sich in einem separaten Verzeichnis innerhalb des Engine Source Codes: [l3lib] /src/driver. Innerhalb des Verzeichnisses gibt es das wichtige driver.h und für jede Unterstützte Systemplatform ein eigenes Unterverzeichnis. Im Unterverzeichnis generic befinden sich Systemplatform unabhängige Treibercodes die als Templates für Systemplatform spezifische Treiber verwendet werden können. Generische Treiber sind komplett vollständig, die jeweiligen Systemtreiber beinhalten nur die Treiberfiles die nicht aus dem generic verwendet werden können. z.B: generic/drv_path.cpp ist für viele Systeme einsetzbar, jedoch nicht unter Windows. In jedem Windowstreiber Verzeichnis ist daher eine eigene drv_path.cpp Variante. Das umwandlen und linken eines Treibers für eine Platform wird über über das DEFINE SYS_PLATFORM_??? gesteuert. Im headerfile driver.h befindet sich für jede Platform ein Define Abschnitt wo system spezifische Includes geladen werden.

in driver.h SYS_PLATFORM_GENERIC define Block kopieren und umbenennen auf SYS_PLATFORM_NEU

\2) Treiber Verzeichnis anlegen

In [l3lib] /src/driver ein Subverzeichnis anlegen. Namenskonvention: [system_kurzname]_[subsystem].

\3) Treiber sourcen kopieren.

Von generic oder ähnlicher Platform in das neue Treiberverzeichnis kopieren. Nur Files kopieren die geändert werden. Für neue Systemtreiber speziell: drv_gfx_dev.cpp, drv_mouse.cpp, drv_keyboard.cpp ...

\4) Makefile anpassen

Für GCC das Makefile im [l3lib]src öffnen und den neuen Treiber einfügen. Beschreibung dazu im Kapitel: ,

=ul>
***********************************************************************/
 Win32 GDI Driver
************************************************************************/
#if defined(SYS_PLATFORM_WIN32_GDI)
#define SYS_PLATFORM_DEFINED
#define OK		(0)
#define FAIL	(__LINE__)
#define EXTERN	extern	
#include 
#include 					
#include "generic/sys_types.h"
#include "generic/sys_assert.h"
#include "generic/sys_debug.h"
#include "generic/drv_fileio.h"
#include "generic/sys_txCopy.h"
#pragma comment( lib, "lowlevellib_vc6_gdi" )
#endif //SYS_PLATFORM_WIN32_GDI
/* * * * * * * * * */ Project lowlevellib_vc6 laden und eine Konfiguration kopieren. Beispiel: Win32 gp2x -> Win32 gdi Danach die Sourcefiles hinzufügen: Die Konfiguration einstellen: Beim Präprozessor die SYS_PLATFORM_??? Variable einfügen und beim Linker als Ziel die neue Bibliothek angeben. Namenskonvention ist lowlevellib_[kompiler]_[platform].lib. Anschließend alle Ordner vom Erstellen ausblenden die nicht zum neuen Treiber der Konfiguration und zum Generic Ordner gehören.