ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
vic1.c File Reference
#include "../ugbc.h"
#include <math.h>

Go to the source code of this file.

Macros

#define PROGRAM_FREQUENCY(c, f)
#define PROGRAM_FREQUENCY_V(c, f)
#define PROGRAM_FREQUENCY_SV(c, f)
#define PROGRAM_DURATION(c, d)
#define WAIT_DURATION(c)
#define PROGRAM_PITCH(c, f)
#define PROGRAM_PITCH_V(c, f)
#define PROGRAM_PITCH_SV(c, f)
#define PROGRAM_PULSE(c, p)
#define PROGRAM_PULSE_V(c, p)
#define PROGRAM_PULSE_SV(c, p)
#define PROGRAM_NOISE(c)
#define PROGRAM_NOISE_V(c, p)
#define PROGRAM_NOISE_SV(c)
#define PROGRAM_SAW(c)
#define PROGRAM_SAW_V(c)
#define PROGRAM_SAW_SV(c)
#define PROGRAM_TRIANGLE(c)
#define PROGRAM_TRIANGLE_V(c)
#define PROGRAM_TRIANGLE_SV(c)
#define PROGRAM_SAW_TRIANGLE(c)
#define PROGRAM_SAW_TRIANGLE_V(c)
#define PROGRAM_SAW_TRIANGLE_SV(c)
#define PROGRAM_ATTACK_DECAY(c, a, d)
#define PROGRAM_ATTACK_DECAY_V(c, a, d)
#define PROGRAM_ATTACK_DECAY_SV(c, a, d)
#define PROGRAM_SUSTAIN_RELEASE(c, s, r)
#define PROGRAM_SUSTAIN_RELEASE_V(c, s, r)
#define PROGRAM_SUSTAIN_RELEASE_SV(c, s, r)
#define STOP_FREQUENCY(c)
#define STOP_FREQUENCY_V(c)
#define STOP_FREQUENCY_SV(c)

Functions

RGBivic1_image_nearest_system_color (RGBi *_color)
void vic1_collision (Environment *_environment, char *_sprite_mask, char *_result)
 VIC: emit code to check for collision
void vic1_hit (Environment *_environment, char *_sprite_mask, char *_result)
 VIC: emit code to check for collision
void vic1_border_color (Environment *_environment, char *_border_color)
 VIC: emit code to change border color
void vic1_background_color (Environment *_environment, int _index, int _background_color)
 VIC: emit code to change background color
void vic1_background_color_vars (Environment *_environment, char *_index, char *_background_color)
 VIC: emit code to change background color
void vic1_background_color_semivars (Environment *_environment, int _index, char *_background_color)
 VIC: emit code to change background color
void vic1_background_color_get_vars (Environment *_environment, char *_index, char *_background_color)
 VIC: emit code to retrieve background color
void vic1_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 VIC: emit code to change common sprite's color
void vic1_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VIC: emit code to set raster irq
void vic1_next_raster (Environment *_environment)
 VIC: emit code to wait for next raster irq
void vic1_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VIC: emit code to wait for next raster irq at different position
void vic1_bank_select (Environment *_environment, int _bank)
int vic1_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void console_calculate (Environment *_environment)
void console_calculate_vars (Environment *_environment)
void vic1_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void vic1_bitmap_disable (Environment *_environment)
void vic1_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void vic1_bitmap_at (Environment *_environment, char *_address)
void vic1_colormap_at (Environment *_environment, char *_address)
void vic1_textmap_at (Environment *_environment, char *_address)
void vic1_pset_int (Environment *_environment, int _x, int _y, int *_c)
void vic1_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void vic1_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void vic1_screen_on (Environment *_environment)
void vic1_screen_off (Environment *_environment)
void vic1_screen_rows (Environment *_environment, char *_rows)
void vic1_screen_columns (Environment *_environment, char *_columns)
void vic1_sprite_data_set (Environment *_environment, char *_sprite, char *_address)
void vic1_sprite_data_from (Environment *_environment, char *_sprite, char *_address)
void vic1_sprite_enable (Environment *_environment, char *_sprite)
void vic1_sprite_disable (Environment *_environment, char *_sprite)
void vic1_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void vic1_sprite_expand_vertical (Environment *_environment, char *_sprite)
void vic1_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void vic1_sprite_compress_vertical (Environment *_environment, char *_sprite)
void vic1_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void vic1_sprite_multicolor (Environment *_environment, char *_sprite)
void vic1_sprite_monocolor (Environment *_environment, char *_sprite)
void vic1_sprite_color (Environment *_environment, char *_sprite, char *_color)
void vic1_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void vic1_tiles_at (Environment *_environment, char *_address)
void vic1_vertical_scroll (Environment *_environment, char *_displacement)
void vic1_horizontal_scroll (Environment *_environment, char *_displacement)
void vic1_busy_wait (Environment *_environment, char *_timing)
void vic1_get_width (Environment *_environment, char *_result)
void vic1_tiles_get (Environment *_environment, char *_result)
void vic1_get_height (Environment *_environment, char *_result)
void vic1_cls (Environment *_environment)
void vic1_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void vic1_scroll_text (Environment *_environment, int _direction, int _overlap)
void vic1_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void vic1_initialization (Environment *_environment)
void vic1_finalization (Environment *_environment)
void vic1_hscroll_line (Environment *_environment, int _direction, int _overlap)
void vic1_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void vic1_back (Environment *_environment)
void vic1_cline (Environment *_environment, char *_characters)
int vic1_image_size (Environment *_environment, int _width, int _height, int _mode)
Variablevic1_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)
void vic1_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
void vic1_put_image (Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
void vic1_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)
void vic1_wait_vbl (Environment *_environment)
Variablevic1_new_image (Environment *_environment, int _width, int _height, int _mode)
Variablevic1_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variablevic1_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void vic1_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void vic1_scroll (Environment *_environment, int _dx, int _dy)
void vic1_put_tile (Environment *_environment, char *_tile, char *_x, char *_y)
void vic1_move_tiles (Environment *_environment, char *_tile, char *_x, char *_y)
void vic1_put_tiles (Environment *_environment, char *_tile, char *_x, char *_y, char *_w, char *_h)
void vic1_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void vic1_use_tileset (Environment *_environment, char *_tileset)
Variablevic1_get_raster_line (Environment *_environment)
void vic1_start (Environment *_environment, int _channels)
void vic1_set_volume (Environment *_environment, int _channels, int _volume)
void vic1_set_program (Environment *_environment, int _channels, int _program)
void vic1_set_parameter (Environment *_environment, int _channels, int _parameter, int _value)
void vic1_set_frequency (Environment *_environment, int _channels, int _frequency)
void vic1_set_pitch (Environment *_environment, int _channels, int _pitch)
void vic1_set_note (Environment *_environment, int _channels, int _note)
void vic1_stop (Environment *_environment, int _channels)
void vic1_start_var (Environment *_environment, char *_channels)
void vic1_set_volume_vars (Environment *_environment, char *_channels, char *_volume)
void vic1_set_volume_semi_var (Environment *_environment, char *_channel, int _volume)
void vic1_set_program_semi_var (Environment *_environment, char *_channels, int _program)
void vic1_set_frequency_vars (Environment *_environment, char *_channels, char *_frequency)
void vic1_set_pitch_vars (Environment *_environment, char *_channels, char *_pitch)
void vic1_set_note_vars (Environment *_environment, char *_channels, char *_note)
void vic1_stop_vars (Environment *_environment, char *_channels)
void vic1_music (Environment *_environment, char *_music, int _size, int _loop)
void vic1_slice_image (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
int vic1_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
void vic1_set_duration (Environment *_environment, int _channels, int _duration)
void vic1_wait_duration (Environment *_environment, int _channels)
void vic1_set_duration_vars (Environment *_environment, char *_channels, char *_duration)
void vic1_wait_duration_vars (Environment *_environment, char *_channels)
void vic1_screen (Environment *_environment, char *_x, char *_y, char *_c)
void vic1_flash_begin (Environment *_environment, char *_index, char *_register)
void vic1_flash_register (Environment *_environment, char *_index, char *_timer, char *_color)
void vic1_flash_end (Environment *_environment)
void vic1_flash_off (Environment *_environment, char *_index)

Macro Definition Documentation

◆ PROGRAM_ATTACK_DECAY

#define PROGRAM_ATTACK_DECAY ( c,
a,
d )
Value:
outline1("LDX #$%2.2x", ( a & 0x0f ) ); \
outline1("LDY #$%2.2x", ( d & 0x0f ) ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGAD0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGAD1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGAD2" );
#define outline1(s, a)
Definition ugbc.h:4253

Definition at line 2308 of file vic1.c.

◆ PROGRAM_ATTACK_DECAY_SV

#define PROGRAM_ATTACK_DECAY_SV ( c,
a,
d )
Value:
outline1("LDX #$%2.2x", ( a & 0x0f ) ); \
outline1("LDY #$%2.2x", ( d & 0x0f ) ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGAD" );

Definition at line 2324 of file vic1.c.

◆ PROGRAM_ATTACK_DECAY_V

#define PROGRAM_ATTACK_DECAY_V ( c,
a,
d )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline1("LDX %s", a ); \
outline1("LDY %s", d ); \
outline0("JSR VIC1PROGAD" );

Definition at line 2318 of file vic1.c.

◆ PROGRAM_DURATION

#define PROGRAM_DURATION ( c,
d )
Value:
outline1("LDX #$%2.2x", ( ( d & 0xff ) ) ); \
outline1("LDY #$%2.2x", ( ( ( d >> 9 ) & 0xff ) ) ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1SETDURATION0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1SETDURATION1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1SETDURATION2" );

Definition at line 2170 of file vic1.c.

◆ PROGRAM_FREQUENCY

#define PROGRAM_FREQUENCY ( c,
f )
Value:
outline1("LDX #$%2.2x", ( ( ( f >> 9 ) & 0xff ) ) ); \
outline1("LDY #$%2.2x", 0 ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGFREQ0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGFREQ1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGFREQ2" );

Definition at line 2148 of file vic1.c.

◆ PROGRAM_FREQUENCY_SV

#define PROGRAM_FREQUENCY_SV ( c,
f )
Value:
outline1("LDX #$%2.2x", ( ( ( f >> 9 ) ) & 0xff ) ); \
outline1("LDY #$%2.2x", 0 ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1FREQ2" );

Definition at line 2164 of file vic1.c.

◆ PROGRAM_FREQUENCY_V

#define PROGRAM_FREQUENCY_V ( c,
f )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline1("LDX %s", f ); \
outline1("LDY %s", address_displacement(_environment, f, "1") ); \
outline0("JSR VIC1FREQ" );
char * address_displacement(Environment *_environment, char *_address, char *_displacement)

Definition at line 2158 of file vic1.c.

◆ PROGRAM_NOISE

#define PROGRAM_NOISE ( c)
Value:
outline0("LDX #$82" ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGCTR0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGCTR1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGCTR2" );
#define outline0(s)
Definition ugbc.h:4252

Definition at line 2232 of file vic1.c.

◆ PROGRAM_NOISE_SV

#define PROGRAM_NOISE_SV ( c)
Value:
outline0("LDX #$82" ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2246 of file vic1.c.

◆ PROGRAM_NOISE_V

#define PROGRAM_NOISE_V ( c,
p )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$82" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2241 of file vic1.c.

◆ PROGRAM_PITCH

#define PROGRAM_PITCH ( c,
f )
Value:
outline1("LDX #$%2.2x", ( f & 0xff ) ); \
outline1("LDY #$%2.2x", 0 ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGFREQ0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGFREQ1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGFREQ2" );

Definition at line 2188 of file vic1.c.

◆ PROGRAM_PITCH_SV

#define PROGRAM_PITCH_SV ( c,
f )
Value:
outline1("LDX #$%2.2x", ( f & 0xff ) ); \
outline1("LDY #$%2.2x", 0 ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGFREQ" );

Definition at line 2204 of file vic1.c.

◆ PROGRAM_PITCH_V

#define PROGRAM_PITCH_V ( c,
f )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline1("LDX %s", f ); \
outline1("LDY %s", address_displacement(_environment, f, "1") ); \
outline0("JSR VIC1PROGFREQ" );

Definition at line 2198 of file vic1.c.

◆ PROGRAM_PULSE

#define PROGRAM_PULSE ( c,
p )
Value:
outline1("LDX #$%2.2x", ( p & 0xff ) ); \
outline1("LDY #$%2.2x", 0 ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGPULSE0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGPULSE1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGPULSE2" );

Definition at line 2210 of file vic1.c.

◆ PROGRAM_PULSE_SV

#define PROGRAM_PULSE_SV ( c,
p )
Value:
outline1("LDX #$%2.2x", ( p & 0xff ) ); \
outline1("LDY #$%2.2x", 0 ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGPULSE" );

Definition at line 2226 of file vic1.c.

◆ PROGRAM_PULSE_V

#define PROGRAM_PULSE_V ( c,
p )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline1("LDX %s", p ); \
outline1("LDY %s", address_displacement(_environment, p, "1") ); \
outline0("JSR VIC1PROGPULSE" );

Definition at line 2220 of file vic1.c.

◆ PROGRAM_SAW

#define PROGRAM_SAW ( c)
Value:
outline0("LDX #$22" ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGCTR0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGCTR1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGCTR2" );

Definition at line 2251 of file vic1.c.

◆ PROGRAM_SAW_SV

#define PROGRAM_SAW_SV ( c)
Value:
outline0("LDX #$22" ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2265 of file vic1.c.

◆ PROGRAM_SAW_TRIANGLE

#define PROGRAM_SAW_TRIANGLE ( c)
Value:
outline0("LDX #$32" ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGCTR0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGCTR1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGCTR2" );

Definition at line 2289 of file vic1.c.

◆ PROGRAM_SAW_TRIANGLE_SV

#define PROGRAM_SAW_TRIANGLE_SV ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$32" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2303 of file vic1.c.

◆ PROGRAM_SAW_TRIANGLE_V

#define PROGRAM_SAW_TRIANGLE_V ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$32" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2298 of file vic1.c.

◆ PROGRAM_SAW_V

#define PROGRAM_SAW_V ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$22" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2260 of file vic1.c.

◆ PROGRAM_SUSTAIN_RELEASE

#define PROGRAM_SUSTAIN_RELEASE ( c,
s,
r )
Value:
outline1("LDX #$%2.2x", ( s & 0x0f ) ); \
outline1("LDY #$%2.2x", ( r & 0x0f ) ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGSR0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGSR1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGSR2" );

Definition at line 2330 of file vic1.c.

◆ PROGRAM_SUSTAIN_RELEASE_SV

#define PROGRAM_SUSTAIN_RELEASE_SV ( c,
s,
r )
Value:
outline1("LDX #$%2.2x", ( s & 0x0f ) ); \
outline1("LDY #$%2.2x", ( r & 0x0f ) ); \
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1PROGSR" );

Definition at line 2346 of file vic1.c.

◆ PROGRAM_SUSTAIN_RELEASE_V

#define PROGRAM_SUSTAIN_RELEASE_V ( c,
s,
r )
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline1("LDX %s", s ); \
outline1("LDY %s", r ); \
outline0("JSR VIC1PROGSR" );

Definition at line 2340 of file vic1.c.

◆ PROGRAM_TRIANGLE

#define PROGRAM_TRIANGLE ( c)
Value:
outline0("LDX #$12" ); \
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1PROGCTR0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1PROGCTR1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1PROGCTR2" );

Definition at line 2270 of file vic1.c.

◆ PROGRAM_TRIANGLE_SV

#define PROGRAM_TRIANGLE_SV ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$12" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2284 of file vic1.c.

◆ PROGRAM_TRIANGLE_V

#define PROGRAM_TRIANGLE_V ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("LDX #$12" ); \
outline0("JSR VIC1PROGCTR" );

Definition at line 2279 of file vic1.c.

◆ STOP_FREQUENCY

#define STOP_FREQUENCY ( c)
Value:
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1STOP0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1STOP1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1STOP2" );

Definition at line 2352 of file vic1.c.

◆ STOP_FREQUENCY_SV

#define STOP_FREQUENCY_SV ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1STOP" );

Definition at line 2364 of file vic1.c.

◆ STOP_FREQUENCY_V

#define STOP_FREQUENCY_V ( c)
Value:
outline1("LDA %s", ( c == NULL ? "#$7" : c ) ); \
outline0("JSR VIC1STOP" );

Definition at line 2360 of file vic1.c.

◆ WAIT_DURATION

#define WAIT_DURATION ( c)
Value:
if ( ( c & 0x01 ) ) \
outline0("JSR VIC1WAITDURATION0" ); \
if ( ( c & 0x02 ) ) \
outline0("JSR VIC1WAITDURATION1" ); \
if ( ( c & 0x04 ) ) \
outline0("JSR VIC1WAITDURATION2" );

Definition at line 2180 of file vic1.c.

Function Documentation

◆ console_calculate()

void console_calculate ( Environment * _environment)

Definition at line 371 of file vic1.c.

◆ console_calculate_vars()

void console_calculate_vars ( Environment * _environment)

Definition at line 397 of file vic1.c.

◆ vic1_back()

void vic1_back ( Environment * _environment)

Definition at line 850 of file vic1.c.

◆ vic1_background_color()

void vic1_background_color ( Environment * _environment,
int _index,
int _background_color )

VIC: emit code to change background color

This function can be used to issue code aimed at changing the background color of the screen.

Parameters
_environmentCurrent calling environment
_indexIndex of the background color
_background_colorBackground color to use

Definition at line 140 of file vic1.c.

◆ vic1_background_color_get_vars()

void vic1_background_color_get_vars ( Environment * _environment,
char * _index,
char * _background_color )

VIC: emit code to retrieve background color

This function can be used to issue code aimed at retrieving the background color of the screen.

Parameters
_environmentCurrent calling environment
_indexIndex of the background color
_background_colorBackground color to use

Definition at line 208 of file vic1.c.

◆ vic1_background_color_semivars()

void vic1_background_color_semivars ( Environment * _environment,
int _index,
char * _background_color )

VIC: emit code to change background color

This function can be used to issue code aimed at changing the background color of the screen.

Parameters
_environmentCurrent calling environment
_indexIndex of the background color
_background_colorBackground color to use

Definition at line 184 of file vic1.c.

◆ vic1_background_color_vars()

void vic1_background_color_vars ( Environment * _environment,
char * _index,
char * _background_color )

VIC: emit code to change background color

This function can be used to issue code aimed at changing the background color of the screen.

Parameters
_environmentCurrent calling environment
_indexIndex of the background color
_background_colorBackground color to use

Definition at line 160 of file vic1.c.

◆ vic1_bank_select()

void vic1_bank_select ( Environment * _environment,
int _bank )

Definition at line 285 of file vic1.c.

◆ vic1_bitmap_at()

void vic1_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 447 of file vic1.c.

◆ vic1_bitmap_disable()

void vic1_bitmap_disable ( Environment * _environment)

Definition at line 423 of file vic1.c.

◆ vic1_bitmap_enable()

void vic1_bitmap_enable ( Environment * _environment,
int _width,
int _height,
int _colors )

Definition at line 405 of file vic1.c.

◆ vic1_blit_image()

void vic1_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 at line 1829 of file vic1.c.

◆ vic1_border_color()

void vic1_border_color ( Environment * _environment,
char * _border_color )

VIC: emit code to change border color

This function can be used to issue code aimed at changing the border color of the screen.

Parameters
_environmentCurrent calling environment
_border_colorBorder color to use

Definition at line 118 of file vic1.c.

◆ vic1_busy_wait()

void vic1_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 619 of file vic1.c.

◆ vic1_calculate_sequence_frame_offset()

void vic1_calculate_sequence_frame_offset ( Environment * _environment,
char * _offset,
char * _sequence,
char * _frame,
int _frame_size,
int _frame_count )

Definition at line 1697 of file vic1.c.

◆ vic1_cline()

void vic1_cline ( Environment * _environment,
char * _characters )

Definition at line 858 of file vic1.c.

◆ vic1_cls()

void vic1_cls ( Environment * _environment)

Definition at line 665 of file vic1.c.

◆ vic1_cls_box()

void vic1_cls_box ( Environment * _environment,
char * _x1,
char * _y1,
char * _w,
char * _h )

Definition at line 673 of file vic1.c.

◆ vic1_collision()

void vic1_collision ( Environment * _environment,
char * _sprite_mask,
char * _result )

VIC: emit code to check for collision

This function can be used to issue code aimed at verifying if a sprite has had a collision with another sprite. The result (0 = no collision, 0xff = collision occurred) is returned in the output variable.

Parameters
_environmentCurrent calling environment
_sprite_maskSprite mask to use
_resultWhere to store the result

Definition at line 90 of file vic1.c.

◆ vic1_colormap_at()

void vic1_colormap_at ( Environment * _environment,
char * _address )

Definition at line 451 of file vic1.c.

◆ vic1_finalization()

void vic1_finalization ( Environment * _environment)

Definition at line 807 of file vic1.c.

◆ vic1_flash_begin()

void vic1_flash_begin ( Environment * _environment,
char * _index,
char * _register )

Definition at line 3026 of file vic1.c.

◆ vic1_flash_end()

void vic1_flash_end ( Environment * _environment)

Definition at line 3061 of file vic1.c.

◆ vic1_flash_off()

void vic1_flash_off ( Environment * _environment,
char * _index )

Definition at line 3069 of file vic1.c.

◆ vic1_flash_register()

void vic1_flash_register ( Environment * _environment,
char * _index,
char * _timer,
char * _color )

Definition at line 3050 of file vic1.c.

◆ vic1_get_height()

void vic1_get_height ( Environment * _environment,
char * _result )

Definition at line 656 of file vic1.c.

◆ vic1_get_image()

void vic1_get_image ( Environment * _environment,
char * _image,
char * _x,
char * _y,
char * _frame,
char * _sequence,
int _frame_size,
int _frame_count,
int _palette )

Definition at line 1951 of file vic1.c.

◆ vic1_get_raster_line()

Variable * vic1_get_raster_line ( Environment * _environment)

Definition at line 2089 of file vic1.c.

◆ vic1_get_width()

void vic1_get_width ( Environment * _environment,
char * _result )

Definition at line 640 of file vic1.c.

◆ vic1_hit()

void vic1_hit ( Environment * _environment,
char * _sprite_mask,
char * _result )

VIC: emit code to check for collision

This function can be used to issue code aimed at verifying if a sprite has had a collision with a tile. The result (0 = no collision, 0xff = collision occurred) is returned in the output variable.

Parameters
_environmentCurrent calling environment
_sprite_maskSprite mask to use
_resultWhere to store the result

Definition at line 105 of file vic1.c.

◆ vic1_horizontal_scroll()

void vic1_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 615 of file vic1.c.

◆ vic1_hscroll_line()

void vic1_hscroll_line ( Environment * _environment,
int _direction,
int _overlap )

Definition at line 822 of file vic1.c.

◆ vic1_hscroll_screen()

void vic1_hscroll_screen ( Environment * _environment,
int _direction,
int _overlap )

Definition at line 838 of file vic1.c.

◆ vic1_image_converter()

Variable * vic1_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 at line 1682 of file vic1.c.

◆ vic1_image_nearest_system_color()

RGBi * vic1_image_nearest_system_color ( RGBi * _color)

Definition at line 63 of file vic1.c.

◆ vic1_image_size()

int vic1_image_size ( Environment * _environment,
int _width,
int _height,
int _mode )

Definition at line 878 of file vic1.c.

◆ vic1_initialization()

void vic1_initialization ( Environment * _environment)

Definition at line 722 of file vic1.c.

◆ vic1_move_tiles()

void vic1_move_tiles ( Environment * _environment,
char * _tile,
char * _x,
char * _y )

Definition at line 1992 of file vic1.c.

◆ vic1_music()

void vic1_music ( Environment * _environment,
char * _music,
int _size,
int _loop )

Definition at line 2921 of file vic1.c.

◆ vic1_new_image()

Variable * vic1_new_image ( Environment * _environment,
int _width,
int _height,
int _mode )

Definition at line 1896 of file vic1.c.

◆ vic1_new_images()

Variable * vic1_new_images ( Environment * _environment,
int _frames,
int _width,
int _height,
int _mode )

Definition at line 1912 of file vic1.c.

◆ vic1_new_sequence()

Variable * vic1_new_sequence ( Environment * _environment,
int _sequences,
int _frames,
int _width,
int _height,
int _mode )

Definition at line 1931 of file vic1.c.

◆ vic1_next_raster()

void vic1_next_raster ( Environment * _environment)

VIC: emit code to wait for next raster irq

This function outputs assembly code needed to wait for the next raster. Meanwhile, the execution of the main code will resume where it left off.

Parameters
_environmentCurrent calling environment

Definition at line 264 of file vic1.c.

◆ vic1_next_raster_at()

void vic1_next_raster_at ( Environment * _environment,
char * _label,
char * _positionlo,
char * _positionhi )

VIC: emit code to wait for next raster irq at different position

This function outputs assembly code needed to wait for the next raster on a different position with a different code to execute. Meanwhile, the execution of the main code will resume where it left off.

Parameters
_environmentCurrent calling environment
_labelLabel to jump to when vertical raster reach the value given
_positionloThe vertical position to wait for (bits 7..0)
_positionhiThe vertical position to wait for (bit 8)

Definition at line 281 of file vic1.c.

◆ vic1_palette_extract()

int vic1_palette_extract ( Environment * _environment,
char * _data,
int _width,
int _height,
int _depth,
int _flags,
RGBi * _palette )

Definition at line 2946 of file vic1.c.

◆ vic1_pget_color_vars()

void vic1_pget_color_vars ( Environment * _environment,
char * _x,
char * _y,
char * _result )

Definition at line 516 of file vic1.c.

◆ vic1_pset_int()

void vic1_pset_int ( Environment * _environment,
int _x,
int _y,
int * _c )

Definition at line 459 of file vic1.c.

◆ vic1_pset_vars()

void vic1_pset_vars ( Environment * _environment,
char * _x,
char * _y,
char * _c )

Definition at line 483 of file vic1.c.

◆ vic1_put_image()

void vic1_put_image ( Environment * _environment,
Resource * _image,
char * _x,
char * _y,
char * _frame,
char * _sequence,
int _frame_size,
int _frame_count,
char * _flags )

Definition at line 1790 of file vic1.c.

◆ vic1_put_tile()

void vic1_put_tile ( Environment * _environment,
char * _tile,
char * _x,
char * _y )

Definition at line 1971 of file vic1.c.

◆ vic1_put_tiles()

void vic1_put_tiles ( Environment * _environment,
char * _tile,
char * _x,
char * _y,
char * _w,
char * _h )

Definition at line 2033 of file vic1.c.

◆ vic1_raster_at()

void vic1_raster_at ( Environment * _environment,
char * _label,
char * _positionlo,
char * _positionhi )

VIC: emit code to set raster irq

This function outputs assembly code needed to initialize a raster routine. In other words, asynchronously and in parallel with the execution of the main program, the routine starting from the label provided will be executed when the vertical brush on the screen reaches the value of _position. This function is particularly useful when the position is communicated is given as an integer.

Parameters
_environmentCurrent calling environment
_labelLabel to jump to when vertical raster reach the value given
_positionloThe vertical position to wait for (bits 7..0)
_positionhiThe vertical position to wait for (bit 8)

Definition at line 250 of file vic1.c.

◆ vic1_screen()

void vic1_screen ( Environment * _environment,
char * _x,
char * _y,
char * _c )

Definition at line 3013 of file vic1.c.

◆ vic1_screen_columns()

void vic1_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 551 of file vic1.c.

◆ vic1_screen_mode_enable()

int vic1_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 312 of file vic1.c.

◆ vic1_screen_off()

void vic1_screen_off ( Environment * _environment)

Definition at line 543 of file vic1.c.

◆ vic1_screen_on()

void vic1_screen_on ( Environment * _environment)

Definition at line 539 of file vic1.c.

◆ vic1_screen_rows()

void vic1_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 547 of file vic1.c.

◆ vic1_scroll()

void vic1_scroll ( Environment * _environment,
int _dx,
int _dy )

Definition at line 1955 of file vic1.c.

◆ vic1_scroll_text()

void vic1_scroll_text ( Environment * _environment,
int _direction,
int _overlap )

Definition at line 677 of file vic1.c.

◆ vic1_set_duration()

void vic1_set_duration ( Environment * _environment,
int _channels,
int _duration )

Definition at line 2960 of file vic1.c.

◆ vic1_set_duration_vars()

void vic1_set_duration_vars ( Environment * _environment,
char * _channels,
char * _duration )

Definition at line 2978 of file vic1.c.

◆ vic1_set_frequency()

void vic1_set_frequency ( Environment * _environment,
int _channels,
int _frequency )

Definition at line 2574 of file vic1.c.

◆ vic1_set_frequency_vars()

void vic1_set_frequency_vars ( Environment * _environment,
char * _channels,
char * _frequency )

Definition at line 2848 of file vic1.c.

◆ vic1_set_note()

void vic1_set_note ( Environment * _environment,
int _channels,
int _note )

Definition at line 2592 of file vic1.c.

◆ vic1_set_note_vars()

void vic1_set_note_vars ( Environment * _environment,
char * _channels,
char * _note )

Definition at line 2882 of file vic1.c.

◆ vic1_set_parameter()

void vic1_set_parameter ( Environment * _environment,
int _channels,
int _parameter,
int _value )

Definition at line 2570 of file vic1.c.

◆ vic1_set_pitch()

void vic1_set_pitch ( Environment * _environment,
int _channels,
int _pitch )

Definition at line 2583 of file vic1.c.

◆ vic1_set_pitch_vars()

void vic1_set_pitch_vars ( Environment * _environment,
char * _channels,
char * _pitch )

Definition at line 2865 of file vic1.c.

◆ vic1_set_program()

void vic1_set_program ( Environment * _environment,
int _channels,
int _program )

Definition at line 2368 of file vic1.c.

◆ vic1_set_program_semi_var()

void vic1_set_program_semi_var ( Environment * _environment,
char * _channels,
int _program )

Definition at line 2646 of file vic1.c.

◆ vic1_set_volume()

void vic1_set_volume ( Environment * _environment,
int _channels,
int _volume )

Definition at line 2138 of file vic1.c.

◆ vic1_set_volume_semi_var()

void vic1_set_volume_semi_var ( Environment * _environment,
char * _channel,
int _volume )

Definition at line 2636 of file vic1.c.

◆ vic1_set_volume_vars()

void vic1_set_volume_vars ( Environment * _environment,
char * _channels,
char * _volume )

Definition at line 2621 of file vic1.c.

◆ vic1_slice_image()

void vic1_slice_image ( Environment * _environment,
char * _image,
char * _frame,
char * _sequence,
int _frame_size,
int _frame_count,
char * _destination )

Definition at line 2942 of file vic1.c.

◆ vic1_sprite_at()

void vic1_sprite_at ( Environment * _environment,
char * _sprite,
char * _x,
char * _y )

Definition at line 571 of file vic1.c.

◆ vic1_sprite_color()

void vic1_sprite_color ( Environment * _environment,
char * _sprite,
char * _color )

Definition at line 599 of file vic1.c.

◆ vic1_sprite_common_color()

void vic1_sprite_common_color ( Environment * _environment,
char * _index,
char * _common_color )

VIC: emit code to change common sprite's color

This function can be used to issue code aimed at changing the common color of the sprites.

Parameters
_environmentCurrent calling environment
_indexIndex of the background color
_common_colorIndex of the color to use

Definition at line 231 of file vic1.c.

◆ vic1_sprite_compress_horizontal()

void vic1_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 587 of file vic1.c.

◆ vic1_sprite_compress_vertical()

void vic1_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 583 of file vic1.c.

◆ vic1_sprite_data_from()

void vic1_sprite_data_from ( Environment * _environment,
char * _sprite,
char * _address )

Definition at line 559 of file vic1.c.

◆ vic1_sprite_data_set()

void vic1_sprite_data_set ( Environment * _environment,
char * _sprite,
char * _address )

Definition at line 555 of file vic1.c.

◆ vic1_sprite_disable()

void vic1_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 567 of file vic1.c.

◆ vic1_sprite_enable()

void vic1_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 563 of file vic1.c.

◆ vic1_sprite_expand_horizontal()

void vic1_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 579 of file vic1.c.

◆ vic1_sprite_expand_vertical()

void vic1_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 575 of file vic1.c.

◆ vic1_sprite_monocolor()

void vic1_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 595 of file vic1.c.

◆ vic1_sprite_multicolor()

void vic1_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 591 of file vic1.c.

◆ vic1_sprite_priority()

void vic1_sprite_priority ( Environment * _environment,
char * _sprite,
char * _priority )

Definition at line 603 of file vic1.c.

◆ vic1_start()

void vic1_start ( Environment * _environment,
int _channels )

Definition at line 2121 of file vic1.c.

◆ vic1_start_var()

void vic1_start_var ( Environment * _environment,
char * _channels )

Definition at line 2607 of file vic1.c.

◆ vic1_stop()

void vic1_stop ( Environment * _environment,
int _channels )

Definition at line 2598 of file vic1.c.

◆ vic1_stop_vars()

void vic1_stop_vars ( Environment * _environment,
char * _channels )

Definition at line 2911 of file vic1.c.

◆ vic1_text()

void vic1_text ( Environment * _environment,
char * _text,
char * _text_size,
int _raw )

Definition at line 693 of file vic1.c.

◆ vic1_textmap_at()

void vic1_textmap_at ( Environment * _environment,
char * _address )

Definition at line 455 of file vic1.c.

◆ vic1_tile_at()

void vic1_tile_at ( Environment * _environment,
char * _x,
char * _y,
char * _result )

Definition at line 2061 of file vic1.c.

◆ vic1_tilemap_enable()

void vic1_tilemap_enable ( Environment * _environment,
int _width,
int _height,
int _colors,
int _tile_width,
int _tile_height )

Definition at line 427 of file vic1.c.

◆ vic1_tiles_at()

void vic1_tiles_at ( Environment * _environment,
char * _address )

Definition at line 607 of file vic1.c.

◆ vic1_tiles_get()

void vic1_tiles_get ( Environment * _environment,
char * _result )

Definition at line 649 of file vic1.c.

◆ vic1_use_tileset()

void vic1_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 2078 of file vic1.c.

◆ vic1_vertical_scroll()

void vic1_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 611 of file vic1.c.

◆ vic1_wait_duration()

void vic1_wait_duration ( Environment * _environment,
int _channels )

Definition at line 2969 of file vic1.c.

◆ vic1_wait_duration_vars()

void vic1_wait_duration_vars ( Environment * _environment,
char * _channels )

Definition at line 2998 of file vic1.c.

◆ vic1_wait_vbl()

void vic1_wait_vbl ( Environment * _environment)

Definition at line 1888 of file vic1.c.