ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
gb.h
Go to the documentation of this file.
1#ifndef __UGBC_GB__
2#define __UGBC_GB__
3
4/*****************************************************************************
5 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
6 *****************************************************************************
7 * Copyright 2021-2024 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#define KEY_NONE 255
37
38#define KEY_0 0
39#define KEY_1 1
40#define KEY_2 2
41#define KEY_3 3
42#define KEY_4 4
43#define KEY_5 5
44#define KEY_6 6
45#define KEY_7 7
46#define KEY_8 8
47#define KEY_9 9
48#define KEY_MINUS 10
49#define KEY_EQUAL 11
50#define KEY_BACKSLASH 12
51#define KEY_SQUARE_OPEN 13
52#define KEY_SQUARE_CLOSE 14
53#define KEY_SEMICOLON 15
54#define KEY_QUOTE 16
55// ~
56// <
57// >
58// ?
59// $00
60#define KEY_A 22
61#define KEY_B 23
62#define KEY_C 24
63#define KEY_D 25
64#define KEY_E 26
65#define KEY_F 27
66#define KEY_G 28
67#define KEY_H 29
68#define KEY_I 30
69#define KEY_J 31
70#define KEY_K 32
71#define KEY_L 33
72#define KEY_M 34
73#define KEY_N 35
74#define KEY_O 36
75#define KEY_P 37
76#define KEY_Q 38
77#define KEY_R 39
78#define KEY_S 40
79#define KEY_T 41
80#define KEY_U 42
81#define KEY_V 43
82#define KEY_W 44
83#define KEY_X 45
84#define KEY_Y 46
85#define KEY_Z 47
86// 48: 81
87// 49: 82
88// 50: 83
89// 51: 84
90// 52: 85
91// 53: f1
92// 54: f2
93// 55: f3
94// 56: f4
95// 57: f5
96#define KEY_ESC 58
97#define KEY_TAB 59
98// 60: 86
99#define KEY_BS 61
100// 62: 87
101#define KEY_RETURN 63
102#define KEY_SPACE 64
103// 65: 88
104// 66: 89
105// 67: 90
106// 68: 91
107// 69: 92
108// 70: 93
109// 71: 94
110#define KEY_ASTERISK 72
111#define KEY_PLUS 73
112 // DB "/", "0", "1", "2", "3", "4"
113 // DB "5", "6", ",", "8", "9", "-", "7", "."
114#define KEY_PERIOD 87
115 // DB $ff
116
117
118#define KEY_AT 0
119#define KEY_COMMODORE 0
120#define KEY_CONTROL 0
121#define KEY_CRSR_LEFT_RIGHT 0
122#define KEY_CRSR_UP_DOWN 0
123#define KEY_DELETE 0
124#define KEY_F1 0
125#define KEY_F2 0
126#define KEY_F3 0
127#define KEY_F4 0
128#define KEY_F5 0
129#define KEY_F6 0
130#define KEY_F7 0
131#define KEY_F8 0
132#define KEY_HOME 0
133#define KEY_INSERT 0
134#define KEY_LEFT_ARROW 0
135#define KEY_LEFT_SHIFT 0
136#define KEY_POUND 0
137#define KEY_RIGHT_SHIFT 0
138#define KEY_RUNSTOP 0
139#define KEY_UP_ARROW 0
140#define KEY_SEMICOMMA 0
141#define KEY_APIX 0
142#define KEY_DEAD 0
143#define KEY_SHIFT 0
144#define KEY_CTRL 0
145#define KEY_GRAPH 0
146#define KEY_CAPS 0
147#define KEY_CODE 0
148#define KEY_STOP 0
149#define KEY_SELECT 0
150#define KEY_INS 0
151#define KEY_DEL 0
152#define KEY_LEFT 0
153#define KEY_UP 0
154#define KEY_DOWN 0
155#define KEY_RIGHT 0
156#define KEY_DIVISION 0
157#define KEY_CLEAR 0
158#define KEY_COLON 0
159#define KEY_COMMA 0
160#define KEY_SLASH 0
161
162#define KEYBOARD_CONFIG_DEFAULT_SYNC 0
163
164#define INPUT_DEFAULT_SEPARATOR ','
165#define INPUT_DEFAULT_SIZE 32
166#define INPUT_DEFAULT_CURSOR 95
167#define INPUT_DEFAULT_RATE 16
168#define INPUT_DEFAULT_DELAY 64
169
170#define SCREEN_CAPABILITIES ( ( 1<<TILEMAP_NATIVE ) | ( 1<<BITMAP_NATIVE ) )
171
172#define DEFAULT_PAINT_BUCKET_SIZE 512
173
174#define BANK_COUNT 1
175#define BANK_SIZE 4096
176#define BANK_BASE_ADDRESS 0
177
178#define JOY_COUNT 2
179
180#define JOY_UP 0
181#define JOY_DOWN 1
182#define JOY_LEFT 2
183#define JOY_RIGHT 3
184#define JOY_FIRE 4
185
186#define JOYSTICK_CONFIG_DEFAULT_SYNC 1
187
188#define MAX_AUDIO_CHANNELS 2
189
190#define COLOR_TRANSPARENT 0x00
191#define COLOR_BLACK 0x00
192#define COLOR_DARK_WHITE 0x0e // GREY
193#define COLOR_WHITE 0x01
194#define COLOR_LIGHT_WHITE COLOR_WHITE
195#define COLOR_DARK_RED 0x06 // BROWN
196#define COLOR_RED 0x08
197#define COLOR_LIGHT_RED 0x09
198#define COLOR_CYAN 0x07
199#define COLOR_VIOLET 0x0d
200#define COLOR_DARK_GREEN 0x02 // GREEN
201#define COLOR_GREEN 0x02
202#define COLOR_LIGHT_GREEN 0x03
203#define COLOR_DARK_BLUE 0x04
204#define COLOR_BLUE 0x07
205#define COLOR_LIGHT_BLUE 0x05
206#define COLOR_YELLOW 0x0b
207#define COLOR_ORANGE 0x09
208#define COLOR_BROWN 0x06
209#define COLOR_DARK_GREY 0x0e
210#define COLOR_GREY 0x0e
211#define COLOR_LIGHT_GREY 0x0e
212#define COLOR_MAGENTA 0x0d
213#define COLOR_PURPLE COLOR_VIOLET
214#define COLOR_LAVENDER COLOR_VIOLET
215#define COLOR_GOLD 0x0a
216#define COLOR_TURQUOISE COLOR_LIGHT_BLUE
217#define COLOR_TAN COLOR_BROWN
218#define COLOR_YELLOW_GREEN 0x03
219#define COLOR_OLIVE_GREEN 0x0c
220#define COLOR_PINK COLOR_LIGHT_RED
221#define COLOR_PEACH COLOR_PINK
222#define COLOR_COUNT 16
223
224#define DEFAULT_PEN_COLOR COLOR_WHITE
225#define DEFAULT_PAPER_COLOR COLOR_BLACK
226
227#define TEXT_COLUMNS_COUNT 40
228#define TEXT_ROWS_COUNT 25
229
230#define TILEMAP_MODE_BGB 0 // BGB
231#define TILEMAP_MODE_CGB 1 // CGB
232#define TILEMAP_MODE_STANDARD TILEMAP_MODE_BGB // BGB
233
234#define BITMAP_MODE_STANDARD TILEMAP_MODE_STANDARD
235#define BITMAP_MODE_DEFAULT TILEMAP_MODE_STANDARD
236
237#define SPRITE_COUNT 32
238#define SPRITE_WIDTH 8
239#define SPRITE_HEIGHT 8
240#define SPRITE_X_MIN 0
241#define SPRITE_Y_MIN 0
242#define SPRITE_X_MAX 264
243#define SPRITE_Y_MAX 200
244
245#define SCREEN_SPRITE_RATIO_X 100
246#define SCREEN_SPRITE_RATIO_Y 100
247#define SCREEN_BORDER_X 0
248#define SCREEN_BORDER_Y 0
249
250#define IMAGE_WIDTH_SIZE 2
251#define IMAGE_WIDTH_OFFSET 0
252#define IMAGE_HEIGHT_SIZE 1
253#define IMAGE_HEIGHT_OFFSET 2
254
255#define DOUBLE_BUFFER_PAGE_0 0
256#define DOUBLE_BUFFER_PAGE_1 1
257
258#define DSTRING_DEFAULT_COUNT 32
259#define DSTRING_DEFAULT_SPACE 256
260
261void gb_wait_vbl( Environment * _environment, char * _raster_line );
262void gb_screen_on_off( Environment * _environment, int _on_off );
263
264void gb_wait_key( Environment * _environment, int _release );
265void gb_wait_fire( Environment * _environment, int _port, int _release );
266void gb_wait_fire_semivar( Environment * _environment, char * _port, int _release );
267void gb_wait_key_or_fire( Environment * _environment, int _port, int _release );
268void gb_wait_key_or_fire_semivar( Environment * _environment, char * _port, int _release );
269
270void gb_key_state( Environment * _environment, char *_scancode, char * _result );
271void gb_scancode( Environment * _environment, char * _scacode );
272void gb_asciicode( Environment * _environment, char * _asciicode );
273void gb_inkey( Environment * _environment, char * _key );
274void gb_key_pressed( Environment * _environment, char *_scancode, char * _result );
275void gb_put_key( Environment * _environment, char *_string, char * _size );
276
277void gb_scanshift( Environment * _environment, char * _shifts );
278void gb_keyshift( Environment * _environment, char * _shifts );
279void gb_clear_key( Environment * _environment );
280void gb_joy( Environment * _environment, int _port, char * _result );
281void gb_joy_vars( Environment * _environment, char * _port, char * _result );
282
283void gb_sys_call( Environment * _environment, int _destination );
284
285void gb_timer_set_status_on( Environment * _environment, char * _timer );
286void gb_timer_set_status_off( Environment * _environment, char * _timer );
287void gb_timer_set_counter( Environment * _environment, char * _timer, char * _counter );
288void gb_timer_set_init( Environment * _environment, char * _timer, char * _init );
289void gb_timer_set_address( Environment * _environment, char * _timer, char * _address );
290void gb_dload( Environment * _environment, char * _filename, char * _offset, char * _address, char * _size );
291void gb_dsave( Environment * _environment, char * _filename, char * _offset, char * _address, char * _size );
292
293void gb_initialization( Environment * _environment );
294void gb_finalization( Environment * _environment );
295
296int gb_screen_mode_enable( Environment * _environment, ScreenMode * _screen_mode );
297
298void gb_back( Environment * _environment );
299void gb_background_color( Environment * _environment, int _index, int _background_color );
300void gb_background_color_vars( Environment * _environment, char * _index, char * _background_color );
301void gb_background_color_semivars( Environment * _environment, int _index, char * _background_color );
302void gb_colors_vars( Environment * _environment, char * _foreground_color, char * _background_color );
303void gb_background_color_get_vars( Environment * _environment, char * _index, char * _background_color );
304void gb_border_color( Environment * _environment, char * _border_color );
305Variable * gb_collision( Environment * _environment, char * _sprite );
306void gb_hit( Environment * _environment, char * _sprite_mask, char * _result );
307void gb_next_raster( Environment * _environment );
308void gb_next_raster_at( Environment * _environment, char * _label, char * _positionlo, char * _positionhi );
309void gb_raster_at( Environment * _environment, char * _label, char * _positionlo, char * _positionhi );
310void gb_sprite_common_color( Environment * _environment, char * _index, char * _common_color );
311void gb_bitmap_enable( Environment * _environment, int _width, int _height, int _colors );
312void gb_bitmap_disable( Environment * _environment );
313void gb_bitmap_at( Environment * _environment, char * _address );
314void gb_colormap_at( Environment * _environment, char * _address );
315void gb_textmap_at( Environment * _environment, char * _address );
316void gb_tiles_at( Environment * _environment, char * _address );
317void gb_tilemap_enable( Environment * _environment, int _width, int _height, int _colors, int _tile_width, int _tile_height );
318void gb_fade( Environment * _environment, char * _ticks );
319
320void gb_bank_select( Environment * _environment, int _bank );
321void gb_screen_on( Environment * _environment );
322void gb_screen_off( Environment * _environment );
323void gb_screen_rows( Environment * _environment, char * _rows );
324void gb_screen_columns( Environment * _environment, char * _columns );
325
326void gb_sprite_data_from( Environment * _environment, char * _sprite, char * _address );
327void gb_sprite_data_set( Environment * _environment, char * _sprite, char * _address );
328void gb_sprite_enable( Environment * _environment, char *_sprite );
329void gb_sprite_disable( Environment * _environment, char * _sprite );
330void gb_sprite_at( Environment * _environment, char * _sprite, char * _x, char * _y );
331void gb_sprite_expand_vertical( Environment * _environment, char * _sprite );
332void gb_sprite_expand_horizontal( Environment * _environment, char * _sprite );
333void gb_sprite_compress_vertical( Environment * _environment, char * _sprite );
334void gb_sprite_compress_horizontal( Environment * _environment, char * _sprite );
335void gb_sprite_multicolor( Environment * _environment, char * _sprite );
336void gb_sprite_monocolor( Environment * _environment, char * _sprite );
337void gb_sprite_color( Environment * _environment, char * _sprite, char * _color );
338void gb_sprite_priority( Environment * _environment, char * _sprite, char * _priority );
339void gb_vertical_scroll( Environment * _environment, char * _displacement );
340void gb_horizontal_scroll( Environment * _environment, char * _displacement );
341void gb_busy_wait( Environment * _environment, char * _timing );
342
343void gb_tiles_get( Environment * _environment, char * _result );
344void gb_get_width( Environment * _environment, char * _result );
345void gb_get_height( Environment * _environment, char * _result );
346
347void gb_pset_int( Environment * _environment, int _x, int _y, int *_c );
348void gb_pset_vars( Environment * _environment, char *_x, char *_y, char *_c );
349void gb_pget_color_vars( Environment * _environment, char *_x, char *_y, char * _result );
350void gb_cls( Environment * _environment );
351void gb_cls_box( Environment * _environment, char * _x1, char * _y1, char * _w, char * _h );
352void gb_scroll_text( Environment * _environment, int _direction, int _overlap );
353void gb_hscroll_line( Environment * _environment, int _direction, int _overlap );
354void gb_hscroll_screen( Environment * _environment, int _direction, int _overlap );
355void gb_text( Environment * _environment, char * _text, char * _text_size, int _raw );
356void gb_cline( Environment * _environment, char * _characters );
357void gb_scroll( Environment * _environment, int _dx, int _dy );
358
359Variable * gb_get_raster_line( Environment * _environment );
360
361int gb_image_size( Environment * _environment, int _width, int _height, int _mode );
362Variable * gb_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 );
363Variable * gb_sprite_converter( Environment * _environment, char * _data, int _width, int _height, int _depth, RGBi * _color, int _slot_x, int _slot_y );
364void gb_put_image( Environment * _environment, Resource * _image, char * _x, char * _y, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _flags );
365void gb_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 );
366void gb_wait_vbl( Environment * _environment, char * _raster_line );
367Variable * gb_new_image( Environment * _environment, int _width, int _height, int _mode );
368Variable * gb_new_images( Environment * _environment, int _frames, int _width, int _height, int _mode );
369Variable * gb_new_sequence( Environment * _environment, int _sequences, int _frames, int _width, int _height, int _mode );
370void gb_get_image( Environment * _environment, char * _image, char * _x, char * _y, char * _frame, char * _sequence, int _frame_size, int _frame_count, int _palette );
371
372void gb_put_tile( Environment * _environment, char * _image, char * _x, char * _y );
373void gb_put_tiles( Environment * _environment, char * _image, char * _x, char * _y, char *_w, char *_h );
374void gb_move_tiles( Environment * _environment, char * _image, char * _x, char * _y );
375void gb_use_tileset( Environment * _environment, char * _tileset );
376void gb_tile_at( Environment * _environment, char * _x, char * _y, char *_result );
377
378void gb_move_memory_video( Environment * _environment, char * _from, char * _to, char * _size );
379void gb_move_video_memory( Environment * _environment, char * _from, char * _to, char * _size );
380void gb_move_video_video( Environment * _environment, char * _from, char * _to, char * _size );
381
382typedef void (*CpcSliceImageFunction)(Environment *, char *, char *, char *, int, int, char *);
383
384void gb_slice_image_copy( Environment * _environment, char * _image, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _destination );
385void gb_slice_image_extract( Environment * _environment, char * _image, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _destination );
386void gb_sys_call( Environment * _environment, int _destination );
387int gb_palette_extract( Environment * _environment, char * _data, int _width, int _height, int _depth, int _flags, RGBi * _palette );
388void gb_calculate_sequence_frame_offset( Environment * _environment, char * _offset, char * _sequence, char * _frame, int _frame_size, int _frame_count );
389
390void gb_flip_image( Environment * _environment, Resource * _image, char * _frame, char * _sequence, int _frame_size, int _frame_count, char * _direction );
391
392void gb_start( Environment * _environment, int _channel );
393void gb_set_volume( Environment * _environment, int _channel, int _volume );
394void gb_set_program( Environment * _environment, int _channel, int _program );
395void gb_set_parameter( Environment * _environment, int _channel, int _parameter, int _value );
396void gb_set_frequency( Environment * _environment, int _channel, int _frequency );
397void gb_set_pitch( Environment * _environment, int _channel, int _pitch );
398void gb_set_note( Environment * _environment, int _channel, int _note );
399void gb_stop( Environment * _environment, int _channel );
400void gb_set_duration( Environment * _environment, int _channel, int _duration );
401void gb_wait_duration( Environment * _environment, int _channel );
402
403void gb_start_var( Environment * _environment, char * _channel );
404void gb_set_volume_semi_var( Environment * _environment, char * _channel, int _volume );
405void gb_set_volume_vars( Environment * _environment, char * _channel, char * _volume );
406void gb_set_program_semi_var( Environment * _environment, char * _channel, int _program );
407void gb_set_frequency_vars( Environment * _environment, char * _channel, char * _frequency );
408void gb_set_pitch_vars( Environment * _environment, char * _channel, char * _pitch );
409void gb_set_note_vars( Environment * _environment, char * _channel, char * _note );
410void gb_stop_vars( Environment * _environment, char * _channel );
411void gb_set_duration_vars( Environment * _environment, char * _channel, char * _duration );
412void gb_wait_duration_vars( Environment * _environment, char * _channel );
413
414void gb_music( Environment * _environment, char * _music, int _size, int _loop );
415
416void gb_screen( Environment * _environment, char * _x, char * _y, char * _c );
417
418#endif
void(* CpcSliceImageFunction)(Environment *, char *, char *, char *, int, int, char *)
Definition cpc.h:388
void gb_sprite_at(Environment *_environment, char *_sprite, char *_x, char *_y)
Definition gb.c:920
void gb_scanshift(Environment *_environment, char *_shifts)
Definition gb.c:149
void gb_stop_vars(Environment *_environment, char *_channel)
Definition gb.c:2940
void gb_set_program(Environment *_environment, int _channel, int _program)
Definition gb.c:2493
void gb_set_duration(Environment *_environment, int _channel, int _duration)
Definition gb.c:2965
void gb_background_color_get_vars(Environment *_environment, char *_index, char *_background_color)
GB: emit code to retrieve background color
Definition gb.c:559
void gb_sprite_monocolor(Environment *_environment, char *_sprite)
Definition gb.c:958
int gb_screen_mode_enable(Environment *_environment, ScreenMode *_screen_mode)
Definition gb.c:692
void gb_move_video_video(Environment *_environment, char *_from, char *_to, char *_size)
void gb_finalization(Environment *_environment)
Definition gb.c:1285
void gb_get_height(Environment *_environment, char *_result)
Definition gb.c:1016
void gb_joy(Environment *_environment, int _port, char *_result)
Definition gb.c:51
void gb_text(Environment *_environment, char *_text, char *_text_size, int _raw)
Definition gb.c:1046
void gb_use_tileset(Environment *_environment, char *_tileset)
Definition gb.c:2073
void gb_sprite_compress_vertical(Environment *_environment, char *_sprite)
Definition gb.c:946
void gb_clear_key(Environment *_environment)
Definition gb.c:163
void gb_wait_duration(Environment *_environment, int _channel)
Definition gb.c:2971
void gb_background_color_vars(Environment *_environment, char *_index, char *_background_color)
GB: emit code to change background color
Definition gb.c:474
void gb_keyshift(Environment *_environment, char *_shifts)
Definition gb.c:156
void gb_set_parameter(Environment *_environment, int _channel, int _parameter, int _value)
Definition gb.c:2653
void gb_timer_set_status_off(Environment *_environment, char *_timer)
Definition gb.c:189
void gb_slice_image_copy(Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
Definition gb.c:2153
void gb_timer_set_status_on(Environment *_environment, char *_timer)
Definition gb.c:173
Variable * gb_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 gb.c:1554
void gb_cls_box(Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
Definition gb.c:1030
void gb_timer_set_counter(Environment *_environment, char *_timer, char *_counter)
Definition gb.c:205
void gb_hscroll_line(Environment *_environment, int _direction, int _overlap)
Definition gb.c:1302
void gb_cls(Environment *_environment)
Definition gb.c:1023
void gb_sprite_multicolor(Environment *_environment, char *_sprite)
Definition gb.c:954
void gb_stop(Environment *_environment, int _channel)
Definition gb.c:2675
void gb_put_tile(Environment *_environment, char *_image, char *_x, char *_y)
Definition gb.c:1949
void gb_set_note_vars(Environment *_environment, char *_channel, char *_note)
Definition gb.c:2914
void gb_horizontal_scroll(Environment *_environment, char *_displacement)
Definition gb.c:982
void gb_set_volume_vars(Environment *_environment, char *_channel, char *_volume)
Definition gb.c:2692
void gb_pset_int(Environment *_environment, int _x, int _y, int *_c)
Definition gb.c:830
void gb_put_key(Environment *_environment, char *_string, char *_size)
Definition gb.c:287
void gb_sprite_data_set(Environment *_environment, char *_sprite, char *_address)
Definition gb.c:866
void gb_put_image(Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
Definition gb.c:1776
void gb_screen_columns(Environment *_environment, char *_columns)
Definition gb.c:862
void gb_move_tiles(Environment *_environment, char *_image, char *_x, char *_y)
Definition gb.c:1974
Variable * gb_new_sequence(Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
Definition gb.c:1872
void gb_tiles_get(Environment *_environment, char *_result)
Definition gb.c:1009
void gb_start(Environment *_environment, int _channel)
Definition gb.c:2303
void gb_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 gb.c:1717
void gb_screen_on_off(Environment *_environment, int _on_off)
Definition gb.c:1807
void gb_wait_duration_vars(Environment *_environment, char *_channel)
Definition gb.c:2995
void gb_put_tiles(Environment *_environment, char *_image, char *_x, char *_y, char *_w, char *_h)
Definition gb.c:2020
void gb_initialization(Environment *_environment)
Definition gb.c:1076
void gb_background_color_semivars(Environment *_environment, int _index, char *_background_color)
GB: emit code to change background color
Definition gb.c:530
void gb_bank_select(Environment *_environment, int _bank)
Definition gb.c:665
void gb_background_color(Environment *_environment, int _index, int _background_color)
GB: emit code to change background color
Definition gb.c:448
void gb_key_pressed(Environment *_environment, char *_scancode, char *_result)
Definition gb.c:139
void gb_calculate_sequence_frame_offset(Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
Definition gb.c:2213
void gb_wait_fire_semivar(Environment *_environment, char *_port, int _release)
Definition gb.c:109
void gb_move_memory_video(Environment *_environment, char *_from, char *_to, char *_size)
Definition gb.c:2098
Variable * gb_new_images(Environment *_environment, int _frames, int _width, int _height, int _mode)
Definition gb.c:1838
void gb_sprite_priority(Environment *_environment, char *_sprite, char *_priority)
Definition gb.c:966
void gb_tile_at(Environment *_environment, char *_x, char *_y, char *_result)
Definition gb.c:2052
int gb_image_size(Environment *_environment, int _width, int _height, int _mode)
Definition gb.c:1380
void gb_colors_vars(Environment *_environment, char *_foreground_color, char *_background_color)
Definition gb.c:2116
void gb_vertical_scroll(Environment *_environment, char *_displacement)
Definition gb.c:974
void gb_busy_wait(Environment *_environment, char *_timing)
Definition gb.c:990
void gb_cline(Environment *_environment, char *_characters)
Definition gb.c:1342
void gb_screen_on(Environment *_environment)
Definition gb.c:842
void gb_get_width(Environment *_environment, char *_result)
Definition gb.c:1002
void gb_fade(Environment *_environment, char *_ticks)
void gb_next_raster(Environment *_environment)
GB: emit code to wait for next raster irq
Definition gb.c:644
void gb_slice_image_extract(Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
Definition gb.c:2173
void gb_dload(Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
Definition gb.c:278
void gb_tiles_at(Environment *_environment, char *_address)
Definition gb.c:970
void gb_sprite_color(Environment *_environment, char *_sprite, char *_color)
Definition gb.c:962
void gb_colormap_at(Environment *_environment, char *_address)
Definition gb.c:822
void gb_bitmap_disable(Environment *_environment)
Definition gb.c:790
void gb_sprite_expand_vertical(Environment *_environment, char *_sprite)
Definition gb.c:938
void gb_start_var(Environment *_environment, char *_channel)
Definition gb.c:2681
void gb_textmap_at(Environment *_environment, char *_address)
Definition gb.c:826
void gb_screen(Environment *_environment, char *_x, char *_y, char *_c)
Definition gb.c:3007
void gb_wait_fire(Environment *_environment, int _port, int _release)
Definition gb.c:100
void gb_set_program_semi_var(Environment *_environment, char *_channel, int _program)
Definition gb.c:2722
void gb_get_image(Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
Definition gb.c:1907
void gb_dsave(Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
Definition gb.c:282
void gb_sprite_expand_horizontal(Environment *_environment, char *_sprite)
Definition gb.c:942
int gb_palette_extract(Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
Definition gb.c:2199
void gb_set_note(Environment *_environment, int _channel, int _note)
Definition gb.c:2669
void gb_inkey(Environment *_environment, char *_key)
Definition gb.c:71
void gb_set_pitch_vars(Environment *_environment, char *_channel, char *_pitch)
Definition gb.c:2898
void gb_set_frequency(Environment *_environment, int _channel, int _frequency)
Definition gb.c:2657
void gb_sprite_compress_horizontal(Environment *_environment, char *_sprite)
Definition gb.c:950
void gb_flip_image(Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction)
Definition gb.c:2264
void gb_screen_off(Environment *_environment)
Definition gb.c:850
Variable * gb_collision(Environment *_environment, char *_sprite)
GB: emit code to check for collision
Definition gb.c:402
void gb_timer_set_init(Environment *_environment, char *_timer, char *_init)
Definition gb.c:229
void gb_scroll_text(Environment *_environment, int _direction, int _overlap)
Definition gb.c:1034
void gb_set_frequency_vars(Environment *_environment, char *_channel, char *_frequency)
Definition gb.c:2882
void gb_bitmap_at(Environment *_environment, char *_address)
Definition gb.c:818
void gb_scroll(Environment *_environment, int _dx, int _dy)
Definition gb.c:1933
void gb_set_duration_vars(Environment *_environment, char *_channel, char *_duration)
Definition gb.c:2977
void gb_key_state(Environment *_environment, char *_scancode, char *_result)
Definition gb.c:118
void gb_pset_vars(Environment *_environment, char *_x, char *_y, char *_c)
Definition gb.c:834
void gb_move_video_memory(Environment *_environment, char *_from, char *_to, char *_size)
Definition gb.c:2107
void gb_back(Environment *_environment)
Definition gb.c:1330
void gb_sprite_common_color(Environment *_environment, char *_index, char *_common_color)
GB: emit code to change common sprite's color
Definition gb.c:611
void gb_raster_at(Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
GB: emit code to set raster irq
Definition gb.c:630
void gb_wait_key(Environment *_environment, int _release)
Definition gb.c:78
void gb_sprite_disable(Environment *_environment, char *_sprite)
Definition gb.c:908
void gb_asciicode(Environment *_environment, char *_asciicode)
Definition gb.c:132
void gb_sys_call(Environment *_environment, int _destination)
Definition gb.c:167
void gb_music(Environment *_environment, char *_music, int _size, int _loop)
Definition gb.c:2947
void gb_sprite_enable(Environment *_environment, char *_sprite)
Definition gb.c:896
Variable * gb_get_raster_line(Environment *_environment)
Definition gb.c:2088
void gb_screen_rows(Environment *_environment, char *_rows)
Definition gb.c:858
void gb_pget_color_vars(Environment *_environment, char *_x, char *_y, char *_result)
Definition gb.c:838
void gb_joy_vars(Environment *_environment, char *_port, char *_result)
Definition gb.c:61
void gb_set_volume_semi_var(Environment *_environment, char *_channel, int _volume)
Definition gb.c:2709
void gb_set_volume(Environment *_environment, int _channel, int _volume)
Definition gb.c:2320
void gb_set_pitch(Environment *_environment, int _channel, int _pitch)
Definition gb.c:2663
void gb_tilemap_enable(Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
Definition gb.c:794
void gb_sprite_data_from(Environment *_environment, char *_sprite, char *_address)
Definition gb.c:880
void gb_wait_key_or_fire(Environment *_environment, int _port, int _release)
Definition gb.c:82
void gb_bitmap_enable(Environment *_environment, int _width, int _height, int _colors)
Definition gb.c:767
void gb_scancode(Environment *_environment, char *_scacode)
Definition gb.c:125
void gb_border_color(Environment *_environment, char *_border_color)
GB: emit code to change border color
Definition gb.c:434
void gb_wait_vbl(Environment *_environment, char *_raster_line)
Definition gb.c:1801
Variable * gb_sprite_converter(Environment *_environment, char *_data, int _width, int _height, int _depth, RGBi *_color, int _slot_x, int _slot_y)
Definition gb.c:1508
void gb_hscroll_screen(Environment *_environment, int _direction, int _overlap)
Definition gb.c:1317
void gb_hit(Environment *_environment, char *_sprite_mask, char *_result)
GB: emit code to check for collision
Definition gb.c:421
Variable * gb_new_image(Environment *_environment, int _width, int _height, int _mode)
Definition gb.c:1814
void gb_next_raster_at(Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
GB: emit code to wait for next raster irq at different position
Definition gb.c:661
void gb_timer_set_address(Environment *_environment, char *_timer, char *_address)
Definition gb.c:253
void gb_wait_key_or_fire_semivar(Environment *_environment, char *_port, int _release)
Definition gb.c:91
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.