]> git.sur5r.net Git - cc65/commitdiff
Separated tgi_load and tgi_load_driver.
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 11 Sep 2009 18:47:33 +0000 (18:47 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 11 Sep 2009 18:47:33 +0000 (18:47 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4152 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/tgi/Makefile
libsrc/tgi/tgi_load.c
libsrc/tgi/tgi_load_driver.c [new file with mode: 0644]

index bc3da90928181b50943c2935565fdfbe93e080cb..ad9737cc4ba4fab0d5f4a369fe469fbda961302c 100644 (file)
@@ -29,7 +29,8 @@ CFLAGS        = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
 #--------------------------------------------------------------------------
 # Object files
 
-C_OBJS =        tgi_load.o
+C_OBJS =        tgi_load.o              \
+                tgi_load_driver.o
 
 S_OBJS =               tgi-kernel.o            \
                 tgi_bar.o               \
index 657f42194b6703fddbafd5918ebe8185100d1a34..99959ca9518f98c6f11a171efc7644be1417a1ca 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2002-2003 Ullrich von Bassewitz                                       */
-/*               Römerstrasse 52                                             */
-/*               D-70794 Filderstadt                                         */
-/* EMail:        uz@cc65.org                                                 */
+/* (C) 2002-2009, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <modload.h>
 #include <tgi.h>
 #include <tgi/tgi-kernel.h>
 
 
 
+/*****************************************************************************/
+/*                                   Code                                    */
+/*****************************************************************************/
+
+
+
 void __fastcall__ tgi_load (unsigned char mode)
 /* Install the matching driver for the given mode. Will just load the driver
  * and check if loading was successul. Will not switch to gaphics mode.
@@ -59,42 +61,3 @@ void __fastcall__ tgi_load (unsigned char mode)
 
 
 
-void __fastcall__ tgi_load_driver (const char* name)
-/* Install the given driver. This function is identical to tgi_load with the
- * only difference that the name of the driver is specified explicitly. You
- * should NOT use this function in most cases, use tgi_load() instead.
- */
-{
-    static struct mod_ctrl ctrl = {
-        read            /* Read from disk */
-    };
-    unsigned Res;
-
-    /* Check if we do already have a driver loaded. If so, remove it. */
-    if (tgi_drv != 0) {
-        tgi_unload ();
-    }
-
-    /* Now open the file */
-    ctrl.callerdata = open (name, O_RDONLY);
-    if (ctrl.callerdata >= 0) {
-
-        /* Load the module */
-        Res = mod_load (&ctrl);
-
-        /* Close the input file */
-        close (ctrl.callerdata);
-
-        /* Check the return code */
-        if (Res == MLOAD_OK) {
-
-            /* Check the driver signature, install the driver */
-            tgi_install (ctrl.module);
-            return;
-
-        }
-    }
-
-    /* Error loading the driver */
-    tgi_error = TGI_ERR_CANNOT_LOAD;
-}
diff --git a/libsrc/tgi/tgi_load_driver.c b/libsrc/tgi/tgi_load_driver.c
new file mode 100644 (file)
index 0000000..e4319e0
--- /dev/null
@@ -0,0 +1,88 @@
+/*****************************************************************************/
+/*                                                                           */
+/*                             tgi_load_driver.c                             */
+/*                                                                           */
+/*                       Loader module for TGI drivers                       */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
+/* (C) 2002-2009, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
+/* warranty.  In no event will the authors be held liable for any damages    */
+/* arising from the use of this software.                                    */
+/*                                                                           */
+/* Permission is granted to anyone to use this software for any purpose,     */
+/* including commercial applications, and to alter it and redistribute it    */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
+/* 1. The origin of this software must not be misrepresented; you must not   */
+/*    claim that you wrote the original software. If you use this software   */
+/*    in a product, an acknowledgment in the product documentation would be  */
+/*    appreciated but is not required.                                       */
+/* 2. Altered source versions must be plainly marked as such, and must not   */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
+/*****************************************************************************/
+
+
+
+#include <unistd.h>
+#include <fcntl.h>
+#include <modload.h>
+#include <tgi.h>
+#include <tgi/tgi-kernel.h>
+
+
+
+/*****************************************************************************/
+/*                                   Code                                    */
+/*****************************************************************************/
+
+
+
+void __fastcall__ tgi_load_driver (const char* name)
+/* Install the given driver. This function is identical to tgi_load with the
+ * only difference that the name of the driver is specified explicitly. You
+ * should NOT use this function in most cases, use tgi_load() instead.
+ */
+{
+    static struct mod_ctrl ctrl = {
+        read            /* Read from disk */
+    };
+    unsigned Res;
+
+    /* Check if we do already have a driver loaded. If so, remove it. */
+    if (tgi_drv != 0) {
+        tgi_unload ();
+    }
+
+    /* Now open the file */
+    ctrl.callerdata = open (name, O_RDONLY);
+    if (ctrl.callerdata >= 0) {
+
+        /* Load the module */
+        Res = mod_load (&ctrl);
+
+        /* Close the input file */
+        close (ctrl.callerdata);
+
+        /* Check the return code */
+        if (Res == MLOAD_OK) {
+
+            /* Check the driver signature, install the driver */
+            tgi_install (ctrl.module);
+            return;
+
+        }
+    }
+
+    /* Error loading the driver */
+    tgi_error = TGI_ERR_CANNOT_LOAD;
+}