ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
color_background.c
Go to the documentation of this file.
1/*****************************************************************************
2 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3 *****************************************************************************
4 * Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *----------------------------------------------------------------------------
18 * Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19 * (la "Licenza"); è proibito usare questo file se non in conformità alla
20 * Licenza. Una copia della Licenza è disponibile all'indirizzo:
21 *
22 * http://www.apache.org/licenses/LICENSE-2.0
23 *
24 * Se non richiesto dalla legislazione vigente o concordato per iscritto,
25 * il software distribuito nei termini della Licenza è distribuito
26 * "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27 * implicite. Consultare la Licenza per il testo specifico che regola le
28 * autorizzazioni e le limitazioni previste dalla medesima.
29 ****************************************************************************/
30
31/****************************************************************************
32 * INCLUDE SECTION
33 ****************************************************************************/
34
35#include "../../ugbc.h"
36
48/* <usermanual>
49@keyword COLOR BACKGROUND
50
51@english
52
53The ''COLOR BACKGROUND'' command allows you to redefine the color used by the graphics chipset
54for the background, where this is possible. "Redefinition" means assigning one of the possible
55colors to specific registers called "palette registers".
56
57On some systems this is not possible at all, due to limitations of the chipset or
58the absence of registers: for this reason, in such cases the
59command is ignored. On other systems this corresponds to the modification of specific
60registers, to which one of the available colors is assigned. On others it is possible
61to assign certain shades, which therefore go beyond the number of available colors.
62
63Where it is possible to assign a shade, the value can range from ''0'' to the constant
64''SHADES''. However, it may be more practical to use the ''RGB'' function, which
65allows you to calculate the shade starting from the color components (red, green and blue).
66
67@italian
68
69Il comando ''COLOR BACKGROUND'' consente di ridefinire il colore utilizzato dal chipset grafico
70per lo sfondo, laddove ciò sia possibile. "Ridefinire" significa assegnare uno dei colori
71possibili a registri specifici chiamati "registri palette".
72
73Su alcuni sistemi questo non è affatto possibile, a causa di limitazioni del chipset o
74dell'assenza di registri: per questo motivo, in tali casi il
75comando viene ignorato. Su altri sistemi ciò corrisponde alla modifica di registri
76specifici, a cui viene assegnato uno dei colori disponibili. Su altri è possibile assegnare
77determinate tonalità, che quindi vanno oltre il numero di colori disponibili.
78
79Dove è possibile assegnare una tonalità, il valore può variare da ''0'' alla costante
80''SHADES''. Tuttavia, può essere più pratico utilizzare la funzione ''RGB'', che consente
81di calcolare la tonalità a partire dalle componenti del colore (rosso, verde e blu).
82
83@syntax COLOR BACKGROUND value
84@syntax COLOR BACKGROUND index TO value
85
86@seeAlso COLOR
87@seeAlso SHADES (constant)
88@seeAlso RGB
89@target c128
90</usermanual> */
91void color_background( Environment * _environment, int _index, int _background_color ) {
92
93 vic2_background_color( _environment, _index, _background_color );
94
95}
96
107void color_background_vars( Environment * _environment, char * _index, char * _background_color ) {
108
109 Variable * index = variable_retrieve( _environment, _index );
110
111 Variable * background_color = variable_retrieve( _environment, _background_color );
112
113 vic2_background_color_vars( _environment, index->realName, background_color->realName );
114
115}
Variable * variable_retrieve(Environment *_environment, char *_name)
void color_background_vars(Environment *_environment, char *_index, char *_background_color)
Emit ASM code for instruction COLOR BACKGROUND [expression] TO [expression].
void color_background(Environment *_environment, int _index, int _background_color)
Emit ASM code for instruction COLOR BACKGROUND [int] TO [int]x.
char * realName
Definition ugbc.h:982
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.
void vic2_background_color(Environment *_environment, int _index, int _background_color)
VIC-II: emit code to change background color
Definition vic2.c:671
void vic2_background_color_vars(Environment *_environment, char *_index, char *_background_color)
VIC-II: emit code to change background color
Definition vic2.c:691