ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
gime.h
Go to the documentation of this file.
1#ifndef __UGBC_GIME__
2#define __UGBC_GIME__
3
4/*****************************************************************************
5 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
6 *****************************************************************************
7 * Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 *----------------------------------------------------------------------------
21 * Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
22 * (la "Licenza"); è proibito usare questo file se non in conformità alla
23 * Licenza. Una copia della Licenza è disponibile all'indirizzo:
24 *
25 * http://www.apache.org/licenses/LICENSE-2.0
26 *
27 * Se non richiesto dalla legislazione vigente o concordato per iscritto,
28 * il software distribuito nei termini della Licenza è distribuito
29 * "COSì COM'è", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
30 * implicite. Consultare la Licenza per il testo specifico che regola le
31 * autorizzazioni e le limitazioni previste dalla medesima.
32 ****************************************************************************/
33
34#include "../ugbc.h"
35
36// RGB 543210
37// +-> RGBrgb
38//
39// Bit 5 = High order Red R1 x
40// Bit 4 = High order Green G1
41// Bit 3 = High order Blue B1 x
42// Bit 2 = Low order Red R0 x
43// Bit 1 = Low order Green G0 x
44// Bit 0 = Low order Blue B0
45
46#define RGB2GIME( r, g, b ) ( ( (r/64) & 0x02 ) << (5-1) ) | ( ( (g/64) & 0x02 ) << (4-1) ) | ( ( (b/64) & 0x02 ) << (3-1) ) | ( ( (r/64) & 0x01 ) << 2 ) | ( ( (g/64) & 0x01 ) << 1 ) | ( ( (b/64) & 0x01 ) )
47
48#define COLOR_BLACK 0x00
49#define COLOR_BLUE 0x08
50#define COLOR_DARK_BLUE 0x01
51#define COLOR_LIGHT_BLUE 0x09
52#define COLOR_DARK_RED 0x04
53#define COLOR_RED 0x20
54#define COLOR_MAGENTA 0x28
55#define COLOR_MAUVE 0x2a
56#define COLOR_LIGHT_RED 0x24
57#define COLOR_PURPLE 0x05
58#define COLOR_LIGHT_MAGENTA 0x2d
59#define COLOR_DARK_GREEN 0x02
60#define COLOR_GREEN 0x10
61#define COLOR_CYAN 0x18
62#define COLOR_DARK_CYAN 0x03
63#define COLOR_YELLOW 0x30
64#define COLOR_WHITE 0x38
65#define COLOR_PASTEL_BLUE 0x1d
66#define COLOR_ORANGE 0x26
67#define COLOR_PINK 0x3c
68#define COLOR_PASTEL_MAGENTA RGB2GIME( 0xff, 0x00, 0xff )
69#define COLOR_LIGHT_GREEN 0x12
70#define COLOR_SEA_GREEN RGB2GIME( 0x00, 0xf0, 0x20 )
71#define COLOR_LIGHT_CYAN 0x1b
72#define COLOR_DARK_WHITE 0x07
73#define COLOR_LIGHT_WHITE 0x3f
74#define COLOR_DARK_GREY 0x00
75#define COLOR_GREY 0x07
76#define COLOR_LIGHT_GREY 0x38
77#define COLOR_TAN 0x31
78#define COLOR_TURQUOISE 0x0b
79#define COLOR_YELLOW_GREEN 0x32
80#define COLOR_BROWN 0x06
81#define COLOR_LAVENDER 0x39
82#define COLOR_OLIVE_GREEN 0x32
83#define COLOR_VIOLET 0x2d
84
85#define COLOR_LIME RGB2GIME( 0xcc, 0xff, 0x00 )
86#define COLOR_PASTEL_GREEN COLOR_LIGHT_GREEN
87#define COLOR_PASTEL_CYAN COLOR_LIGHT_CYAN
88#define COLOR_LIGHT_YELLOW RGB2GIME( 0xf0, 0xf0, 0x00 )
89#define COLOR_PASTEL_YELLOW COLOR_LIGHT_YELLOW
90
91
92#define COLOR_GOLD COLOR_YELLOW
93#define COLOR_PEACH COLOR_PINK
94#define COLOR_COUNT 64
95
96#define DEFAULT_PEN_COLOR COLOR_WHITE
97#define DEFAULT_PAPER_COLOR COLOR_BLACK
98
99#define TEXT_COLUMNS_COUNT 40
100#define TEXT_ROWS_COUNT 25
101
102#define TILEMAP_MODE( x ) (0x00 | ( x & 0x0f ) )
103#define BITMAP2_MODE( x ) (0x40 | ( x & 0x1f ) )
104#define BITMAP4_MODE( x ) (0x60 | ( x & 0x1f ) )
105#define BITMAP16_MODE( x ) (0xe0 | ( x & 0x1f ) )
106
107// 12 -> 4 bit (0..15)
108// 0000 xxxx
109
110#define TILEMAP_MODE_32X24 TILEMAP_MODE( 0 ) // Alphanumeric 32 columns x 24 rows
111#define TILEMAP_MODE_32X25 TILEMAP_MODE( 1 ) // Alphanumeric 32 columns x 25 rows
112#define TILEMAP_MODE_32X28 TILEMAP_MODE( 2 ) // Alphanumeric 32 columns x 28 rows
113#define TILEMAP_MODE_40X24 TILEMAP_MODE( 3 ) // Alphanumeric 40 columns x 24 rows
114#define TILEMAP_MODE_40X25 TILEMAP_MODE( 4 ) // Alphanumeric 40 columns x 25 rows
115#define TILEMAP_MODE_40X28 TILEMAP_MODE( 5 ) // Alphanumeric 40 columns x 28 rows
116#define TILEMAP_MODE_64X24 TILEMAP_MODE( 6 ) // Alphanumeric 64 columns x 24 rows
117#define TILEMAP_MODE_64X25 TILEMAP_MODE( 7 ) // Alphanumeric 64 columns x 25 rows
118#define TILEMAP_MODE_64X28 TILEMAP_MODE( 8 ) // Alphanumeric 64 columns x 28 rows
119#define TILEMAP_MODE_80X24 TILEMAP_MODE( 9 ) // Alphanumeric 80 columns x 24 rows
120#define TILEMAP_MODE_80X25 TILEMAP_MODE( 10 ) // Alphanumeric 80 columns x 25 rows
121#define TILEMAP_MODE_80X28 TILEMAP_MODE( 11 ) // Alphanumeric 80 columns x 28 rows
122
123// 18 -> 5 bit (0..32)
124// 010y yyyy
125
126#define BITMAP_MODE_128x192x2 BITMAP2_MODE( 0 ) // Graphic 128x192x2
127#define BITMAP_MODE_128x200x2 BITMAP2_MODE( 1 ) // Graphic 128x200x2
128#define BITMAP_MODE_128x225x2 BITMAP2_MODE( 2 ) // Graphic 128x225x2
129
130#define BITMAP_MODE_160x192x2 BITMAP2_MODE( 3 ) // Graphic 160x192x2
131#define BITMAP_MODE_160x200x2 BITMAP2_MODE( 4 ) // Graphic 160x200x2
132#define BITMAP_MODE_160x225x2 BITMAP2_MODE( 5 ) // Graphic 160x225x2
133
134#define BITMAP_MODE_256x192x2 BITMAP2_MODE( 6 ) // Graphic 256x192x2
135#define BITMAP_MODE_256x200x2 BITMAP2_MODE( 7 ) // Graphic 256x200x2
136#define BITMAP_MODE_256x225x2 BITMAP2_MODE( 8 ) // Graphic 256x225x2
137
138#define BITMAP_MODE_320x192x2 BITMAP2_MODE( 9 ) // Graphic 320x192x2
139#define BITMAP_MODE_320x200x2 BITMAP2_MODE( 10 ) // Graphic 320x200x2
140#define BITMAP_MODE_320x225x2 BITMAP2_MODE( 11 ) // Graphic 320x225x2
141
142#define BITMAP_MODE_512x192x2 BITMAP2_MODE( 12 ) // Graphic 512x192x2
143#define BITMAP_MODE_512x200x2 BITMAP2_MODE( 13 ) // Graphic 512x200x2
144#define BITMAP_MODE_512x225x2 BITMAP2_MODE( 14 ) // Graphic 512x225x2
145
146#define BITMAP_MODE_640x192x2 BITMAP2_MODE( 15 ) // Graphic 640x192x2
147#define BITMAP_MODE_640x200x2 BITMAP2_MODE( 16 ) // Graphic 640x200x2
148#define BITMAP_MODE_640x225x2 BITMAP2_MODE( 17 ) // Graphic 640x225x2
149
150// 24 -> 5 bit (0..32)
151// 011y yyyy
152
153#define BITMAP_MODE_64x192x4 BITMAP4_MODE( 0 ) // Graphic 64x192x4
154#define BITMAP_MODE_64x200x4 BITMAP4_MODE( 1 ) // Graphic 64x200x4
155#define BITMAP_MODE_64x225x4 BITMAP4_MODE( 2 ) // Graphic 64x225x4
156
157#define BITMAP_MODE_80x192x4 BITMAP4_MODE( 3 ) // Graphic 80x192x4
158#define BITMAP_MODE_80x200x4 BITMAP4_MODE( 4 ) // Graphic 80x200x4
159#define BITMAP_MODE_80x225x4 BITMAP4_MODE( 5 ) // Graphic 80x225x4
160
161#define BITMAP_MODE_128x192x4 BITMAP4_MODE( 6 ) // Graphic 128x192x4
162#define BITMAP_MODE_128x200x4 BITMAP4_MODE( 7 ) // Graphic 128x200x4
163#define BITMAP_MODE_128x225x4 BITMAP4_MODE( 8 ) // Graphic 128x225x4
164
165#define BITMAP_MODE_160x192x4 BITMAP4_MODE( 9 ) // Graphic 160x192x4
166#define BITMAP_MODE_160x200x4 BITMAP4_MODE( 10 ) // Graphic 160x200x4
167#define BITMAP_MODE_160x225x4 BITMAP4_MODE( 11 ) // Graphic 160x225x4
168
169#define BITMAP_MODE_256x192x4 BITMAP4_MODE( 12 ) // Graphic 256x192x4
170#define BITMAP_MODE_256x200x4 BITMAP4_MODE( 13 ) // Graphic 256x200x4
171#define BITMAP_MODE_256x225x4 BITMAP4_MODE( 14 ) // Graphic 256x225x4
172
173#define BITMAP_MODE_320x192x4 BITMAP4_MODE( 15 ) // Graphic 320x192x4
174#define BITMAP_MODE_320x200x4 BITMAP4_MODE( 16 ) // Graphic 320x200x4
175#define BITMAP_MODE_320x225x4 BITMAP4_MODE( 17 ) // Graphic 320x225x4
176
177#define BITMAP_MODE_512x192x4 BITMAP4_MODE( 18 ) // Graphic 512x192x4
178#define BITMAP_MODE_512x200x4 BITMAP4_MODE( 19 ) // Graphic 512x200x4
179#define BITMAP_MODE_512x225x4 BITMAP4_MODE( 20 ) // Graphic 512x225x4
180
181#define BITMAP_MODE_640x192x4 BITMAP4_MODE( 21 ) // Graphic 640x192x4
182#define BITMAP_MODE_640x200x4 BITMAP4_MODE( 22 ) // Graphic 640x200x4
183#define BITMAP_MODE_640x225x4 BITMAP4_MODE( 23 ) // Graphic 640x225x4
184
185// 18 -> 5 bit (0..32)
186// 111y yyyy
187
188#define BITMAP_MODE_64x192x16 BITMAP16_MODE( 0 ) // Graphic 64x192x16
189#define BITMAP_MODE_64x200x16 BITMAP16_MODE( 1 ) // Graphic 64x200x16
190#define BITMAP_MODE_64x225x16 BITMAP16_MODE( 2 ) // Graphic 64x225x16
191
192#define BITMAP_MODE_80x192x16 BITMAP16_MODE( 3 ) // Graphic 80x192x16
193#define BITMAP_MODE_80x200x16 BITMAP16_MODE( 4 ) // Graphic 80x200x16
194#define BITMAP_MODE_80x225x16 BITMAP16_MODE( 5 ) // Graphic 80x225x16
195
196#define BITMAP_MODE_128x192x16 BITMAP16_MODE( 6 ) // Graphic 128x192x16
197#define BITMAP_MODE_128x200x16 BITMAP16_MODE( 7 ) // Graphic 128x200x16
198#define BITMAP_MODE_128x225x16 BITMAP16_MODE( 8 ) // Graphic 128x225x16
199
200#define BITMAP_MODE_160x192x16 BITMAP16_MODE( 9 ) // Graphic 160x192x16
201#define BITMAP_MODE_160x200x16 BITMAP16_MODE( 10 ) // Graphic 160x200x16
202#define BITMAP_MODE_160x225x16 BITMAP16_MODE( 11 ) // Graphic 160x225x16
203
204#define BITMAP_MODE_256x192x16 BITMAP16_MODE( 12 ) // Graphic 256x192x16
205#define BITMAP_MODE_256x200x16 BITMAP16_MODE( 13 ) // Graphic 256x200x16
206#define BITMAP_MODE_256x225x16 BITMAP16_MODE( 14 ) // Graphic 256x225x16
207
208#define BITMAP_MODE_320x192x16 BITMAP16_MODE( 15 ) // Graphic 320x192x16
209#define BITMAP_MODE_320x200x16 BITMAP16_MODE( 16 ) // Graphic 320x200x16
210#define BITMAP_MODE_320x225x16 BITMAP16_MODE( 17 ) // Graphic 320x225x16
211
212#define BITMAP_MODE_DEFAULT BITMAP_MODE_128x192x2
213#define BITMAP_MODE_STANDARD BITMAP_MODE_DEFAULT
214
215#define DOUBLE_BUFFER_PAGE_0 0
216#define DOUBLE_BUFFER_PAGE_1 8
217
218#define SPRITE_COUNT 0
219#define SPRITE_WIDTH 0
220#define SPRITE_HEIGHT 0
221#define SPRITE_X_MIN 0
222#define SPRITE_Y_MIN 0
223#define SPRITE_X_MAX 0
224#define SPRITE_Y_MAX 0
225
226#define SCREEN_SPRITE_RATIO_X 100
227#define SCREEN_SPRITE_RATIO_Y 100
228#define SCREEN_BORDER_X 0
229#define SCREEN_BORDER_Y 0
230
231#define SPRITE_COUNT 0
232#define SPRITE_WIDTH 0
233#define SPRITE_HEIGHT 0
234
235#define IMAGE_WIDTH_SIZE 2
236#define IMAGE_WIDTH_OFFSET 0
237#define IMAGE_HEIGHT_SIZE 1
238#define IMAGE_HEIGHT_OFFSET 2
239
240int gime_screen_mode_enable( Environment * _environment, ScreenMode * _screen_mode );
241
242void gime_initialization( Environment * _environment );
243void gime_finalization( Environment * _environment );
244
245void gime_back( Environment * _environment );
246void gime_background_color( Environment * _environment, char * _index, char * _background_color );
247void gime_background_color_get_vars( Environment * _environment, char * _index, char * _background_color );
248void gime_border_color( Environment * _environment, char * _border_color );
249void gime_collision( Environment * _environment, char * _sprite_mask, char * _result );
250void gime_hit( Environment * _environment, char * _sprite_mask, char * _result );
251void gime_next_raster( Environment * _environment );
252void gime_next_raster_at( Environment * _environment, char * _label, char * _positionlo, char * _positionhi );
253void gime_raster_at( Environment * _environment, char * _label, char * _positionlo, char * _positionhi );
254void gime_sprite_common_color( Environment * _environment, char * _index, char * _common_color );
255void gime_bitmap_enable( Environment * _environment, int _width, int _height, int _colors );
256void gime_bitmap_disable( Environment * _environment );
257void gime_bitmap_at( Environment * _environment, char * _address );
258void gime_colormap_at( Environment * _environment, char * _address );
259void gime_textmap_at( Environment * _environment, char * _address );
260void gime_tiles_at( Environment * _environment, char * _address );
261void gime_tilemap_enable( Environment * _environment, int _width, int _height, int _colors, int _tile_width, int _tile_height );
262
263void gime_bank_select( Environment * _environment, int _bank );
264void gime_screen_on( Environment * _environment );
265void gime_screen_off( Environment * _environment );
266void gime_screen_rows( Environment * _environment, char * _rows );
267void gime_screen_columns( Environment * _environment, char * _columns );
268
269void gime_sprite_data_from( Environment * _environment, char * _sprite, char * _address );
270void gime_sprite_data_set( Environment * _environment, char * _sprite, char * _address );
271void gime_sprite_enable( Environment * _environment, char *_sprite );
272void gime_sprite_disable( Environment * _environment, char * _sprite );
273void gime_sprite_at( Environment * _environment, char * _sprite, char * _x, char * _y );
274void gime_sprite_expand_vertical( Environment * _environment, char * _sprite );
275void gime_sprite_expand_horizontal( Environment * _environment, char * _sprite );
276void gime_sprite_compress_vertical( Environment * _environment, char * _sprite );
277void gime_sprite_compress_horizontal( Environment * _environment, char * _sprite );
278void gime_sprite_multicolor( Environment * _environment, char * _sprite );
279void gime_sprite_monocolor( Environment * _environment, char * _sprite );
280void gime_sprite_color( Environment * _environment, char * _sprite, char * _color );
281void gime_sprite_priority( Environment * _environment, char * _sprite, char * _priority );
282void gime_vertical_scroll( Environment * _environment, char * _displacement );
283void gime_horizontal_scroll( Environment * _environment, char * _displacement );
284
285void gime_tiles_get( Environment * _environment, char * _result );
286void gime_get_width( Environment * _environment, char * _result );
287void gime_get_height( Environment * _environment, char * _result );
288
289void gime_pset_int( Environment * _environment, int _x, int _y, int *_c );
290void gime_pset_vars( Environment * _environment, char *_x, char *_y, char *_c );
291void gime_pget_color_vars( Environment * _environment, char *_x, char *_y, char * _result );
292void gime_cls( Environment * _environment );
293void gime_cls_box( Environment * _environment, char * _x1, char * _y1, char * _w, char * _h );
294void gime_scroll_text( Environment * _environment, int _direction, int _overlap );
295void gime_hscroll_line( Environment * _environment, int _direction, int _overlap );
296void gime_hscroll_screen( Environment * _environment, int _direction, int _overlap );
297void gime_text( Environment * _environment, char * _text, char * _text_size, int _raw );
298void gime_cline( Environment * _environment, char * _characters );
299void gime_scroll( Environment * _environment, int _dx, int _dy );
300
301Variable * gime_get_raster_line( Environment * _environment );
302
303int gime_image_size( Environment * _environment, int _width, int _height, int _mode );
304Variable * gime_image_converter( Environment * _environment, char * _data, int _width, int _height, int _depth, int _offset_x, int _offset_y, int _frame_width, int _frame_height, int _mode, int _transparent_color, int _flags );
305void gime_put_image( Environment * _environment, Resource * _image, char * _x, char * _y, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _flags );
306void gime_blit_image( Environment * _environment, char * _sources[], int _source_count, char * _blit, char * _x, char * _y, char * _frame, char * _sequence, int _frame_size, int _frame_count, int _flags );
307Variable * gime_new_image( Environment * _environment, int _width, int _height, int _mode );
308Variable * gime_new_images( Environment * _environment, int _frames, int _width, int _height, int _mode );
309Variable * gime_new_sequence( Environment * _environment, int _sequences, int _frames, int _width, int _height, int _mode );
310void gime_get_image( Environment * _environment, char * _image, char * _x, char * _y, char * _frame, char * _sequence, int _frame_size, int _frame_count, int _palette );
311
312void gime_put_tile( Environment * _environment, char * _image, char * _x, char * _y );
313void gime_put_tiles( Environment * _environment, char * _image, char * _x, char * _y, char *_w, char *_h );
314void gime_move_tiles( Environment * _environment, char * _image, char * _x, char * _y );
315void gime_use_tileset( Environment * _environment, char * _tileset );
316void gime_tile_at( Environment * _environment, char * _x, char * _y, char * _result );
317void gime_slice_image( Environment * _environment, char * _image, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _destination );
318int gime_palette_extract( Environment * _environment, char * _data, int _width, int _height, int _depth, int _flags, RGBi * _palette );
319
320void gime_calculate_sequence_frame_offset( Environment * _environment, char * _offset, char * _sequence, char * _frame, int _frame_size, int _frame_count );
321void gime_flip_image( Environment * _environment, Resource * _image, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _direction );
322
323void gime_screen( Environment * _environment, char * _x, char * _y, char * _c );
324
325#endif
void gime_back(Environment *_environment)
Definition gime.c:1795
void gime_cline(Environment *_environment, char *_characters)
Definition gime.c:1799
void gime_hscroll_screen(Environment *_environment, int _direction, int _overlap)
Definition gime.c:1782
void gime_collision(Environment *_environment, char *_sprite_mask, char *_result)
VIC-II: emit code to check for collision
Definition gime.c:131
void gime_cls_box(Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
Definition gime.c:1467
Variable * gime_image_converter(Environment *_environment, char *_data, int _width, int _height, int _depth, int _offset_x, int _offset_y, int _frame_width, int _frame_height, int _mode, int _transparent_color, int _flags)
Definition gime.c:2588
void gime_move_tiles(Environment *_environment, char *_image, char *_x, char *_y)
Definition gime.c:2971
void gime_sprite_common_color(Environment *_environment, char *_index, char *_common_color)
VIC-II: emit code to change common sprite's color
Definition gime.c:202
void gime_sprite_priority(Environment *_environment, char *_sprite, char *_priority)
Definition gime.c:1413
void gime_tiles_get(Environment *_environment, char *_result)
Definition gime.c:1439
void gime_calculate_sequence_frame_offset(Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
Definition gime.c:3010
void gime_scroll(Environment *_environment, int _dx, int _dy)
Definition gime.c:2959
void gime_sprite_multicolor(Environment *_environment, char *_sprite)
Definition gime.c:1401
void gime_get_height(Environment *_environment, char *_result)
Definition gime.c:1446
void gime_screen_rows(Environment *_environment, char *_rows)
Definition gime.c:1357
void gime_sprite_data_set(Environment *_environment, char *_sprite, char *_address)
Definition gime.c:1369
void gime_next_raster(Environment *_environment)
VIC-II: emit code to wait for next raster irq
Definition gime.c:235
void gime_sprite_monocolor(Environment *_environment, char *_sprite)
Definition gime.c:1405
void gime_finalization(Environment *_environment)
Definition gime.c:1724
void gime_background_color_get_vars(Environment *_environment, char *_index, char *_background_color)
Definition gime.c:166
void gime_sprite_color(Environment *_environment, char *_sprite, char *_color)
Definition gime.c:1409
Variable * gime_get_raster_line(Environment *_environment)
Definition gime.c:2984
void gime_sprite_compress_horizontal(Environment *_environment, char *_sprite)
Definition gime.c:1397
void gime_sprite_compress_vertical(Environment *_environment, char *_sprite)
Definition gime.c:1393
void gime_next_raster_at(Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
VIC-II: emit code to wait for next raster irq at different position
Definition gime.c:252
void gime_blit_image(Environment *_environment, char *_sources[], int _source_count, char *_blit, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _flags)
Definition gime.c:2750
Variable * gime_new_image(Environment *_environment, int _width, int _height, int _mode)
Definition gime.c:2852
void gime_text(Environment *_environment, char *_text, char *_text_size, int _raw)
Definition gime.c:1501
void gime_sprite_at(Environment *_environment, char *_sprite, char *_x, char *_y)
Definition gime.c:1381
void gime_vertical_scroll(Environment *_environment, char *_displacement)
Definition gime.c:1421
void gime_tilemap_enable(Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
Definition gime.c:1247
void gime_initialization(Environment *_environment)
Definition gime.c:1538
void gime_sprite_data_from(Environment *_environment, char *_sprite, char *_address)
Definition gime.c:1365
void gime_slice_image(Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
Definition gime.c:2992
void gime_put_tile(Environment *_environment, char *_image, char *_x, char *_y)
Definition gime.c:2963
void gime_tile_at(Environment *_environment, char *_x, char *_y, char *_result)
Definition gime.c:2967
void gime_cls(Environment *_environment)
Definition gime.c:1453
void gime_hscroll_line(Environment *_environment, int _direction, int _overlap)
Definition gime.c:1765
void gime_bitmap_enable(Environment *_environment, int _width, int _height, int _colors)
Definition gime.c:1225
void gime_tiles_at(Environment *_environment, char *_address)
Definition gime.c:1417
void gime_pset_int(Environment *_environment, int _x, int _y, int *_c)
Definition gime.c:1278
void gime_border_color(Environment *_environment, char *_border_color)
VIC-II: emit code to change border color
Definition gime.c:159
void gime_hit(Environment *_environment, char *_sprite_mask, char *_result)
VIC-II: emit code to check for collision
Definition gime.c:146
void gime_screen_on(Environment *_environment)
Definition gime.c:1349
void gime_screen_off(Environment *_environment)
Definition gime.c:1353
void gime_raster_at(Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
VIC-II: emit code to set raster irq
Definition gime.c:221
int gime_screen_mode_enable(Environment *_environment, ScreenMode *_screen_mode)
Definition gime.c:390
void gime_sprite_disable(Environment *_environment, char *_sprite)
Definition gime.c:1377
void gime_background_color(Environment *_environment, char *_index, char *_background_color)
VIC-II: emit code to change background color
Definition gime.c:184
int gime_palette_extract(Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
Definition gime.c:2996
void gime_sprite_expand_horizontal(Environment *_environment, char *_sprite)
Definition gime.c:1389
void gime_put_image(Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
Definition gime.c:2802
void gime_bitmap_disable(Environment *_environment)
Definition gime.c:1243
void gime_get_width(Environment *_environment, char *_result)
Definition gime.c:1432
void gime_bank_select(Environment *_environment, int _bank)
Definition gime.c:256
void gime_use_tileset(Environment *_environment, char *_tileset)
Definition gime.c:2980
void gime_scroll_text(Environment *_environment, int _direction, int _overlap)
Definition gime.c:1488
Variable * gime_new_images(Environment *_environment, int _frames, int _width, int _height, int _mode)
Definition gime.c:2876
void gime_put_tiles(Environment *_environment, char *_image, char *_x, char *_y, char *_w, char *_h)
Definition gime.c:2975
void gime_bitmap_at(Environment *_environment, char *_address)
Definition gime.c:1266
void gime_colormap_at(Environment *_environment, char *_address)
Definition gime.c:1270
void gime_get_image(Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
Definition gime.c:2941
void gime_pset_vars(Environment *_environment, char *_x, char *_y, char *_c)
Definition gime.c:1301
int gime_image_size(Environment *_environment, int _width, int _height, int _mode)
Definition gime.c:1825
void gime_screen_columns(Environment *_environment, char *_columns)
Definition gime.c:1361
void gime_sprite_enable(Environment *_environment, char *_sprite)
Definition gime.c:1373
void gime_pget_color_vars(Environment *_environment, char *_x, char *_y, char *_result)
Definition gime.c:1328
void gime_screen(Environment *_environment, char *_x, char *_y, char *_c)
Definition gime.c:3099
Variable * gime_new_sequence(Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
Definition gime.c:2908
void gime_flip_image(Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction)
Definition gime.c:3057
void gime_sprite_expand_vertical(Environment *_environment, char *_sprite)
Definition gime.c:1385
void gime_textmap_at(Environment *_environment, char *_address)
Definition gime.c:1274
void gime_horizontal_scroll(Environment *_environment, char *_displacement)
Definition gime.c:1425
struct _ScreenMode ScreenMode
struct _Resource Resource
struct _RGBi RGBi
Structure to store color components (red, green and blue).
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.