]> git.sur5r.net Git - cc65/commitdiff
Define a standard driver and mode for tgi graphics and use it in the sample
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 11 Sep 2009 18:59:37 +0000 (18:59 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 11 Sep 2009 18:59:37 +0000 (18:59 +0000)
program. The standard driver and mode is the first one in the tgi_mode_table.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81

include/tgi.h
libsrc/apple2/tgi_mode_table.s
libsrc/c128/tgi_mode_table.s
libsrc/c64/tgi_mode_table.s
libsrc/cbm510/tgi_mode_table.s
libsrc/plus4/tgi_mode_table.s
libsrc/tgi/Makefile
libsrc/tgi/tgi_stddrv.s [new file with mode: 0644]
libsrc/tgi/tgi_stdmode.s [new file with mode: 0644]
samples/tgidemo.c

index d43ebeecb276b19c5b4229f22c17a9471bf94434..0ed472c5858d3ed575a81fe1d96e143bb498d122 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2002-2004 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       */
 #define TGI_TEXT_HORIZONTAL     0
 #define TGI_TEXT_VERTICAL       1
 
+/* The name of the standard tgi driver for a platform */
+extern const char tgi_stddrv[];
+
+/* The default tgi mode for a platform */
+extern const unsigned char tgi_stdmode;
+
 
 
 /*****************************************************************************/
@@ -74,8 +80,7 @@ void __fastcall__ tgi_load (unsigned char mode);
 void __fastcall__ tgi_load_driver (const char* name);
 /* Load and 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.
+ * explicitly.
  */
 
 void __fastcall__ tgi_unload (void);
index f0f91483ecf7fc4d810d86480f92255da7b0676b..e347716f3fbd52abf008aebfd94b1ca4ee4e0099 100644 (file)
@@ -10,7 +10,8 @@
 
 ;----------------------------------------------------------------------------
 ; Mode table. Contains entries of mode and driver name, the driver name being
-; null terminated. A mode with code zero terminates the list.
+; null terminated. A mode with code zero terminates the list. The first entry
+; defines also the default mode and driver for the system.
 ; BEWARE: The current implementation of tgi_map_mode does not work with tables
 ; larger that 255 bytes!
 
index 4a61fcb101709d2446b885f01d9c926fff0c0b7a..84ebc37e378a2d374edafc4899f25b0eda2cdad2 100644 (file)
@@ -10,7 +10,8 @@
 
 ;----------------------------------------------------------------------------
 ; Mode table. Contains entries of mode and driver name, the driver name being
-; null terminated. A mode with code zero terminates the list.
+; null terminated. A mode with code zero terminates the list. The first entry
+; defines also the default mode and driver for the system.
 ; BEWARE: The current implementation of tgi_map_mode does not work with tables
 ; larger that 255 bytes!
 
index 70d98b792ac6355fcdc87ecb3dfe3c05af338aaf..cb77408535a293edd512f6e8a3639bdeefdb3b47 100644 (file)
@@ -10,7 +10,8 @@
 
 ;----------------------------------------------------------------------------
 ; Mode table. Contains entries of mode and driver name, the driver name being
-; null terminated. A mode with code zero terminates the list.
+; null terminated. A mode with code zero terminates the list. The first entry
+; defines also the default mode and driver for the system.
 ; BEWARE: The current implementation of tgi_map_mode does not work with tables
 ; larger that 255 bytes!
 
index 2ed75a6b89c3ca7bcc970f0c50c6478ede00825b..6267c382cc69a72e962671b841755884e72cdc7f 100644 (file)
@@ -10,7 +10,8 @@
 
 ;----------------------------------------------------------------------------
 ; Mode table. Contains entries of mode and driver name, the driver name being
-; null terminated. A mode with code zero terminates the list.
+; null terminated. A mode with code zero terminates the list. The first entry
+; defines also the default mode and driver for the system.
 ; BEWARE: The current implementation of tgi_map_mode does not work with tables
 ; larger that 255 bytes!
 
index d7542200ca47e5ce346483c28585223fefb30fff..429f483fdf9c10a5d5278d34875a5e899caa6e57 100644 (file)
@@ -10,7 +10,8 @@
 
 ;----------------------------------------------------------------------------
 ; Mode table. Contains entries of mode and driver name, the driver name being
-; null terminated. A mode with code zero terminates the list.
+; null terminated. A mode with code zero terminates the list. The first entry
+; defines also the default mode and driver for the system.
 ; BEWARE: The current implementation of tgi_map_mode does not work with tables
 ; larger that 255 bytes!
 
index ad9737cc4ba4fab0d5f4a369fe469fbda961302c..d753fcdfa10f50fcde72d7b9e6557b84a9ee0704 100644 (file)
@@ -68,6 +68,8 @@ S_OBJS =              tgi-kernel.o            \
                 tgi_setpalette.o        \
                 tgi_setpixel.o          \
                 tgi_setviewpage.o       \
+                tgi_stddrv.o            \
+                tgi_stdmode.o           \
                 tgi_textsize.o          \
                 tgi_textstyle.o         \
                 tgi_unload.o
diff --git a/libsrc/tgi/tgi_stddrv.s b/libsrc/tgi/tgi_stddrv.s
new file mode 100644 (file)
index 0000000..606474f
--- /dev/null
@@ -0,0 +1,11 @@
+;
+; Name of the standard tgi driver
+;
+; Ullrich von Bassewitz, 2009-09-11
+;
+; const char tgi_stddrv[];
+;
+                    
+        .import _tgi_mode_table
+       .export _tgi_stddrv     = _tgi_mode_table + 1
+
diff --git a/libsrc/tgi/tgi_stdmode.s b/libsrc/tgi/tgi_stdmode.s
new file mode 100644 (file)
index 0000000..5dcd17f
--- /dev/null
@@ -0,0 +1,11 @@
+;
+; Standard tgi mode
+;
+; Ullrich von Bassewitz, 2009-09-11
+;
+; const unsigned char tgi_stdmode[];
+;
+
+        .import _tgi_mode_table
+       .export _tgi_stdmode    = _tgi_mode_table
+
index a2ed57a9623cd98301159fcdbbae23d4fb1ee416..a8af78534b9a8f547cf865ae71e919783227385f 100644 (file)
@@ -7,11 +7,6 @@
 
 
 
-#if defined(__APPLE2__) || defined(__APPLE2ENH__)
-#  define TGI_MODE     TGI_MODE_280_192_8
-#else
-#  define TGI_MODE     TGI_MODE_320_200_2
-#endif
 #define COLOR_BACK     COLOR_BLACK
 #define COLOR_FORE     COLOR_WHITE
 
@@ -203,7 +198,7 @@ int main (void)
     DoWarning ();
 
     /* Load and initialize the driver */
-    tgi_load (TGI_MODE);
+    tgi_load_driver (tgi_stddrv);
     CheckError ("tgi_load");
     tgi_init ();
     CheckError ("tgi_init");