Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc
2011-05-02 10:38:48 +00:00
parent 97b950b8d8
commit 4aa00e84e1
48 changed files with 78 additions and 422 deletions

View File

@@ -104,7 +104,7 @@ S_OBJS= _scrsize.o \
systime.o \
sysuname.o \
tgi_colors.o \
tgi_mode_table.o\
tgi_stddrv.o \
toascii.o \
vtabz.o \
wherex.o \

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.include "apple2.inc"

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.include "apple2.inc"

View File

@@ -1,28 +0,0 @@
;
; Ullrich von Bassewitz, 31.05.2002
;
; Apple II mode table for tgi_map_mode
;
.export _tgi_mode_table
.include "tgi-mode.inc"
;----------------------------------------------------------------------------
; Mode table. Contains entries of mode and driver name, the driver name being
; 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!
.rodata
_tgi_mode_table:
.ifdef __APPLE2ENH__
.byte TGI_MODE_280_192_8, "A2E.HI.TGI", 0
.byte TGI_MODE_40_48_16, "A2E.LO.TGI", 0
.else
.byte TGI_MODE_280_192_8, "A2.HI.TGI", 0
.byte TGI_MODE_40_48_16, "A2.LO.TGI", 0
.endif
.byte 0 ; End marker

View File

@@ -0,0 +1,18 @@
;
; Name of the standard tgi driver
;
; Oliver Schmidt, 2011-05-02
;
; const char tgi_stddrv[];
;
.export _tgi_stddrv
.rodata
_tgi_stddrv:
.ifdef __APPLE2ENH__
.asciiz "A2E.HI.TGI"
.else
.asciiz "A2.HI.TGI"
.endif

View File

@@ -108,7 +108,7 @@ S_OBJS= _scrsize.o \
sysuname.o \
textframe.o \
tgi_colors.o \
tgi_mode_table.o\
tgi_stddrv.o \
toascii.o \
videomode.o \
vtabz.o \

View File

@@ -114,7 +114,7 @@ OBJS = _scrsize.o \
systime.o \
sysuname.o \
tgi_colors.o \
tgi_mode_table.o\
tgi_stddrv.o \
toascii.o \
tvtype.o \
ucase_fn.o \

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -8,7 +8,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.macpack generic

View File

@@ -1,38 +0,0 @@
;
; Atari mode table for tgi_map_mode
;
.export _tgi_mode_table
.include "tgi-mode.inc"
;----------------------------------------------------------------------------
; Mode table. Contains entries of mode and driver name, the driver name being
; 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!
.rodata
_tgi_mode_table:
.byte TGI_MODE_320_192_2, "ATARI8.TGI", 0
.byte TGI_MODE_160_192_4, "ATARI15.TGI", 0
.byte TGI_MODE_160_192_2, "ATARI14.TGI", 0
.byte TGI_MODE_160_96_4, "ATARI7.TGI", 0
.byte TGI_MODE_160_96_2, "ATARI6.TGI", 0
.byte TGI_MODE_80_48_4, "ATARI5.TGI", 0
.byte TGI_MODE_80_48_2, "ATARI4.TGI", 0
.byte TGI_MODE_40_24_4, "ATARI3.TGI", 0
.byte TGI_MODE_80_192_16b, "ATARI9.TGI", 0
.byte TGI_MODE_80_192_9, "ATARI10.TGI", 0
.byte TGI_MODE_80_192_16h, "ATARI11.TGI", 0
; Double paged drivers
.byte TGI_MODE_320_192_2_2p, "ATR8P2.TGI", 0
.byte TGI_MODE_80_192_16b_2p, "ATR9P2.TGI", 0
.byte TGI_MODE_160_192_4_2p, "ATR15P2.TGI", 0
.byte TGI_MODE_80_192_9_2p, "ATR10P2.TGI", 0
.byte 0 ; End marker

13
libsrc/atari/tgi_stddrv.s Normal file
View File

@@ -0,0 +1,13 @@
;
; Name of the standard tgi driver
;
; Oliver Schmidt, 2011-05-02
;
; const char tgi_stddrv[];
;
.export _tgi_stddrv
.rodata
_tgi_stddrv: .asciiz "atari8.tgi"

View File

@@ -7,7 +7,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.include "atmos.inc"

View File

@@ -68,7 +68,7 @@ OBJS = _scrsize.o \
systime.o \
sysuname.o \
tgi_colors.o \
tgi_mode_table.o \
tgi_stddrv.o \
toggle_videomode.o \
videomode.o

View File

@@ -23,7 +23,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"

View File

@@ -24,7 +24,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"

View File

@@ -1,23 +0,0 @@
;
; Ullrich von Bassewitz, 03.10.2002
;
; C128 mode table for tgi_map_mode
;
.export _tgi_mode_table
.include "tgi-mode.inc"
;----------------------------------------------------------------------------
; Mode table. Contains entries of mode and driver name, the driver name being
; 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!
.rodata
_tgi_mode_table:
.byte TGI_MODE_640_200_2, "c128-vdc.tgi", 0
.byte TGI_MODE_640_480_2, "c128-vdc2.tgi", 0
.byte 0 ; End marker

13
libsrc/c128/tgi_stddrv.s Normal file
View File

@@ -0,0 +1,13 @@
;
; Name of the standard tgi driver
;
; Oliver Schmidt, 2011-05-02
;
; const char tgi_stddrv[];
;
.export _tgi_stddrv
.rodata
_tgi_stddrv: .asciiz "c128-vdc.tgi"

View File

@@ -67,7 +67,7 @@ OBJS = _scrsize.o \
systime.o \
sysuname.o \
tgi_colors.o \
tgi_mode_table.o
tgi_stddrv.o
#--------------------------------------------------------------------------
# Drivers

View File

@@ -7,7 +7,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"

View File

@@ -1,24 +0,0 @@
;
; Ullrich von Bassewitz, 31.05.2002
;
; C64 mode table for tgi_map_mode
;
.export _tgi_mode_table
.include "tgi-mode.inc"
;----------------------------------------------------------------------------
; Mode table. Contains entries of mode and driver name, the driver name being
; 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!
.rodata
_tgi_mode_table:
.byte TGI_MODE_320_200_2, "c64-hi.tgi", 0
.byte 0 ; End marker

13
libsrc/c64/tgi_stddrv.s Normal file
View File

@@ -0,0 +1,13 @@
;
; Name of the standard tgi driver
;
; Oliver Schmidt, 2011-05-02
;
; const char tgi_stddrv[];
;
.export _tgi_stddrv
.rodata
_tgi_stddrv: .asciiz "c64-hi.tgi"

View File

@@ -33,7 +33,7 @@ S_OBJS = crt0.o \
oserrlist.o \
randomize.o \
tgi_colors.o \
tgi_mode_table.o
tgi_stddrv.o
#--------------------------------------------------------------------------
# Drivers

View File

@@ -6,7 +6,6 @@
.include "zeropage.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.include "../inc/const.inc"

View File

@@ -1,24 +0,0 @@
;
; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
; 28.12.2002
;
; GEOS mode table for tgi_map_mode
;
.export _tgi_mode_table
.include "tgi-mode.inc"
;----------------------------------------------------------------------------
; Mode table. Contains entries of mode and driver name, the driver name being
; 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!
.rodata
_tgi_mode_table:
.byte TGI_MODE_320_200_2, "GEOS-TGI.TGI", 0
.byte TGI_MODE_640_200_2, "GEOS-TGI.TGI", 0
.byte 0 ; End marker

View File

@@ -0,0 +1,13 @@
;
; Name of the standard tgi driver
;
; Oliver Schmidt, 2011-05-02
;
; const char tgi_stddrv[];
;
.export _tgi_stddrv
.rodata
_tgi_stddrv: .asciiz "geos-tgi.tgi"

View File

@@ -11,7 +11,6 @@
.include "extzp.inc"
.include "tgi-kernel.inc"
.include "tgi-mode.inc"
.include "tgi-error.inc"
.include "lynx.inc"

View File

@@ -30,7 +30,6 @@ CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
# Object files
C_OBJS = tgi_arc.o \
tgi_load.o \
tgi_load_driver.o \
tgi_load_vectorfont.o \
tgi_pieslice.o
@@ -79,8 +78,6 @@ S_OBJS = tgi-kernel.o \
tgi_setpalette.o \
tgi_setpixel.o \
tgi_setviewpage.o \
tgi_stddrv.o \
tgi_stdmode.o \
tgi_textheight.o \
tgi_textwidth.o \
tgi_textstyle.o \

View File

@@ -1,63 +0,0 @@
/*****************************************************************************/
/* */
/* tgi_load.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 <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.
*/
{
const char* name = tgi_map_mode (mode);
if (name == 0) {
/* No driver for this mode */
tgi_error = TGI_ERR_NO_DRIVER;
} else {
/* Load the driver */
tgi_load_driver (name);
}
}

View File

@@ -1,11 +0,0 @@
;
; 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

View File

@@ -1,11 +0,0 @@
;
; Standard tgi mode
;
; Ullrich von Bassewitz, 2009-09-11
;
; const unsigned char tgi_stdmode[];
;
.import _tgi_mode_table
.export _tgi_stdmode = _tgi_mode_table