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

Go to the source code of this file.

Functions

RGBivdcz_image_nearest_system_color (RGBi *_color)
int vdcz_image_size (Environment *_environment, int _width, int _height, int _mode)
Variablevdcz_collision (Environment *_environment, char *_sprite)
 VDCZ: emit code to check for collision
void vdcz_hit (Environment *_environment, char *_sprite_mask, char *_result)
 VDCZ: emit code to check for collision
void vdcz_border_color (Environment *_environment, char *_border_color)
 VDCZ: emit code to change border color
void vdcz_background_color (Environment *_environment, int _index, int _background_color)
 VDCZ: emit code to change background color
void vdcz_background_color_vars (Environment *_environment, char *_index, char *_background_color)
 VDCZ: emit code to change background color
void vdcz_background_color_semivars (Environment *_environment, int _index, char *_background_color)
 VDCZ: emit code to change background color
void vdcz_background_color_get_vars (Environment *_environment, char *_index, char *_background_color)
 VDCZ: emit code to retrieve background color
void vdcz_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 VDCZ: emit code to change common sprite's color
void vdcz_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VDCZ: emit code to set raster irq
void vdcz_next_raster (Environment *_environment)
 VDCZ: emit code to wait for next raster irq
void vdcz_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VDCZ: emit code to wait for next raster irq at different position
void vdcz_bank_select (Environment *_environment, int _bank)
void console_calculate (Environment *_environment)
void console_calculate_vars (Environment *_environment)
int vdcz_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void vdcz_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void vdcz_bitmap_disable (Environment *_environment)
void vdcz_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void vdcz_bitmap_at (Environment *_environment, char *_address)
void vdcz_colormap_at (Environment *_environment, char *_address)
void vdcz_textmap_at (Environment *_environment, char *_address)
void vdcz_pset_int (Environment *_environment, int _x, int _y, int *_c)
void vdcz_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void vdcz_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void vdcz_screen_on (Environment *_environment)
void vdcz_screen_off (Environment *_environment)
void vdcz_screen_rows (Environment *_environment, char *_rows)
void vdcz_screen_columns (Environment *_environment, char *_columns)
void vdcz_sprite_data_set (Environment *_environment, char *_sprite, char *_address)
void vdcz_sprite_data_from (Environment *_environment, char *_sprite, char *_address)
void vdcz_sprite_enable (Environment *_environment, char *_sprite)
void vdcz_sprite_disable (Environment *_environment, char *_sprite)
void vdcz_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void vdcz_sprite_expand_vertical (Environment *_environment, char *_sprite)
void vdcz_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void vdcz_sprite_compress_vertical (Environment *_environment, char *_sprite)
void vdcz_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void vdcz_sprite_multicolor (Environment *_environment, char *_sprite)
void vdcz_sprite_monocolor (Environment *_environment, char *_sprite)
void vdcz_sprite_color (Environment *_environment, char *_sprite, char *_color)
void vdcz_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void vdcz_tiles_at (Environment *_environment, char *_address)
void vdcz_vertical_scroll (Environment *_environment, char *_displacement)
void vdcz_horizontal_scroll (Environment *_environment, char *_displacement)
void vdcz_busy_wait (Environment *_environment, char *_timing)
void vdcz_get_width (Environment *_environment, char *_result)
void vdcz_tiles_get (Environment *_environment, char *_result)
void vdcz_get_height (Environment *_environment, char *_result)
void vdcz_cls (Environment *_environment)
void vdcz_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void vdcz_scroll_text (Environment *_environment, int _direction, int _overlap)
void vdcz_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void vdcz_initialization (Environment *_environment)
void vdcz_finalization (Environment *_environment)
void vdcz_hscroll_line (Environment *_environment, int _direction, int _overlap)
void vdcz_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void vdcz_back (Environment *_environment)
void vdcz_cline (Environment *_environment, char *_characters)
Variablevdcz_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)
Variablevdcz_sprite_converter (Environment *_environment, char *_source, int _width, int _height, int _depth, RGBi *_color, int _flags)
void vdcz_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
void vdcz_put_image (Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
void vdcz_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 vdcz_wait_vbl (Environment *_environment, char *_raster_line)
Variablevdcz_new_image (Environment *_environment, int _width, int _height, int _mode)
Variablevdcz_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variablevdcz_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void vdcz_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void vdcz_scroll (Environment *_environment, int _dx, int _dy)
void vdcz_put_tile (Environment *_environment, char *_tile, char *_x, char *_y)
void vdcz_move_tiles (Environment *_environment, char *_tile, char *_x, char *_y)
void vdcz_put_tiles (Environment *_environment, char *_tile, char *_x, char *_y, char *_w, char *_h)
void vdcz_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void vdcz_use_tileset (Environment *_environment, char *_tileset)
Variablevdcz_get_raster_line (Environment *_environment)
void vdcz_slice_image (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
int vdcz_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
void vdcz_screen (Environment *_environment, char *_x, char *_y, char *_c)

Variables

int lastUsedSlotInCommonPalette = 0

Function Documentation

◆ console_calculate()

void console_calculate ( Environment * _environment)

Definition at line 734 of file vdcz.c.

◆ console_calculate_vars()

void console_calculate_vars ( Environment * _environment)

Definition at line 738 of file vdcz.c.

◆ vdcz_back()

void vdcz_back ( Environment * _environment)

Definition at line 2607 of file vdcz.c.

◆ vdcz_background_color()

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

VDCZ: 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 557 of file vdcz.c.

◆ vdcz_background_color_get_vars()

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

VDCZ: 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 634 of file vdcz.c.

◆ vdcz_background_color_semivars()

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

VDCZ: 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 606 of file vdcz.c.

◆ vdcz_background_color_vars()

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

VDCZ: 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 582 of file vdcz.c.

◆ vdcz_bank_select()

void vdcz_bank_select ( Environment * _environment,
int _bank )

Definition at line 707 of file vdcz.c.

◆ vdcz_bitmap_at()

void vdcz_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 2112 of file vdcz.c.

◆ vdcz_bitmap_disable()

void vdcz_bitmap_disable ( Environment * _environment)

Definition at line 2086 of file vdcz.c.

◆ vdcz_bitmap_enable()

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

Definition at line 2065 of file vdcz.c.

◆ vdcz_blit_image()

void vdcz_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 2908 of file vdcz.c.

◆ vdcz_border_color()

void vdcz_border_color ( Environment * _environment,
char * _border_color )

VDCZ: 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 543 of file vdcz.c.

◆ vdcz_busy_wait()

void vdcz_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 2322 of file vdcz.c.

◆ vdcz_calculate_sequence_frame_offset()

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

Definition at line 2739 of file vdcz.c.

◆ vdcz_cline()

void vdcz_cline ( Environment * _environment,
char * _characters )

Definition at line 2613 of file vdcz.c.

◆ vdcz_cls()

void vdcz_cls ( Environment * _environment)

Definition at line 2338 of file vdcz.c.

◆ vdcz_cls_box()

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

Definition at line 2350 of file vdcz.c.

◆ vdcz_collision()

Variable * vdcz_collision ( Environment * _environment,
char * _sprite )

VDCZ: 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 508 of file vdcz.c.

◆ vdcz_colormap_at()

void vdcz_colormap_at ( Environment * _environment,
char * _address )

Definition at line 2116 of file vdcz.c.

◆ vdcz_finalization()

void vdcz_finalization ( Environment * _environment)

Definition at line 2578 of file vdcz.c.

◆ vdcz_get_height()

void vdcz_get_height ( Environment * _environment,
char * _result )

Definition at line 2334 of file vdcz.c.

◆ vdcz_get_image()

void vdcz_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 2997 of file vdcz.c.

◆ vdcz_get_raster_line()

Variable * vdcz_get_raster_line ( Environment * _environment)

Definition at line 3065 of file vdcz.c.

◆ vdcz_get_width()

void vdcz_get_width ( Environment * _environment,
char * _result )

Definition at line 2326 of file vdcz.c.

◆ vdcz_hit()

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

VDCZ: 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 527 of file vdcz.c.

◆ vdcz_horizontal_scroll()

void vdcz_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 2312 of file vdcz.c.

◆ vdcz_hscroll_line()

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

Definition at line 2595 of file vdcz.c.

◆ vdcz_hscroll_screen()

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

Definition at line 2601 of file vdcz.c.

◆ vdcz_image_converter()

Variable * vdcz_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 2628 of file vdcz.c.

◆ vdcz_image_nearest_system_color()

RGBi * vdcz_image_nearest_system_color ( RGBi * _color)

Definition at line 66 of file vdcz.c.

◆ vdcz_image_size()

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

Definition at line 82 of file vdcz.c.

◆ vdcz_initialization()

void vdcz_initialization ( Environment * _environment)

Definition at line 2421 of file vdcz.c.

◆ vdcz_move_tiles()

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

Definition at line 3033 of file vdcz.c.

◆ vdcz_new_image()

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

Definition at line 2964 of file vdcz.c.

◆ vdcz_new_images()

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

Definition at line 2975 of file vdcz.c.

◆ vdcz_new_sequence()

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

Definition at line 2986 of file vdcz.c.

◆ vdcz_next_raster()

void vdcz_next_raster ( Environment * _environment)

VDCZ: 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 686 of file vdcz.c.

◆ vdcz_next_raster_at()

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

VDCZ: 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 703 of file vdcz.c.

◆ vdcz_palette_extract()

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

Definition at line 3077 of file vdcz.c.

◆ vdcz_pget_color_vars()

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

Definition at line 2181 of file vdcz.c.

◆ vdcz_pset_int()

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

Definition at line 2124 of file vdcz.c.

◆ vdcz_pset_vars()

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

Definition at line 2150 of file vdcz.c.

◆ vdcz_put_image()

void vdcz_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 2880 of file vdcz.c.

◆ vdcz_put_tile()

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

Definition at line 3026 of file vdcz.c.

◆ vdcz_put_tiles()

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

Definition at line 3044 of file vdcz.c.

◆ vdcz_raster_at()

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

VDCZ: 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 672 of file vdcz.c.

◆ vdcz_screen()

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

Definition at line 3091 of file vdcz.c.

◆ vdcz_screen_columns()

void vdcz_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 2217 of file vdcz.c.

◆ vdcz_screen_mode_enable()

int vdcz_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 743 of file vdcz.c.

◆ vdcz_screen_off()

void vdcz_screen_off ( Environment * _environment)

Definition at line 2209 of file vdcz.c.

◆ vdcz_screen_on()

void vdcz_screen_on ( Environment * _environment)

Definition at line 2205 of file vdcz.c.

◆ vdcz_screen_rows()

void vdcz_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 2213 of file vdcz.c.

◆ vdcz_scroll()

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

Definition at line 3016 of file vdcz.c.

◆ vdcz_scroll_text()

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

Definition at line 2369 of file vdcz.c.

◆ vdcz_slice_image()

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

Definition at line 3073 of file vdcz.c.

◆ vdcz_sprite_at()

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

Definition at line 2246 of file vdcz.c.

◆ vdcz_sprite_color()

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

Definition at line 2290 of file vdcz.c.

◆ vdcz_sprite_common_color()

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

VDCZ: 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 653 of file vdcz.c.

◆ vdcz_sprite_compress_horizontal()

void vdcz_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 2272 of file vdcz.c.

◆ vdcz_sprite_compress_vertical()

void vdcz_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 2266 of file vdcz.c.

◆ vdcz_sprite_converter()

Variable * vdcz_sprite_converter ( Environment * _environment,
char * _source,
int _width,
int _height,
int _depth,
RGBi * _color,
int _flags )

Definition at line 2648 of file vdcz.c.

◆ vdcz_sprite_data_from()

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

Definition at line 2225 of file vdcz.c.

◆ vdcz_sprite_data_set()

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

Definition at line 2221 of file vdcz.c.

◆ vdcz_sprite_disable()

void vdcz_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 2240 of file vdcz.c.

◆ vdcz_sprite_enable()

void vdcz_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 2234 of file vdcz.c.

◆ vdcz_sprite_expand_horizontal()

void vdcz_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 2260 of file vdcz.c.

◆ vdcz_sprite_expand_vertical()

void vdcz_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 2254 of file vdcz.c.

◆ vdcz_sprite_monocolor()

void vdcz_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 2284 of file vdcz.c.

◆ vdcz_sprite_multicolor()

void vdcz_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 2278 of file vdcz.c.

◆ vdcz_sprite_priority()

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

Definition at line 2297 of file vdcz.c.

◆ vdcz_text()

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

Definition at line 2381 of file vdcz.c.

◆ vdcz_textmap_at()

void vdcz_textmap_at ( Environment * _environment,
char * _address )

Definition at line 2120 of file vdcz.c.

◆ vdcz_tile_at()

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

Definition at line 3051 of file vdcz.c.

◆ vdcz_tilemap_enable()

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

Definition at line 2090 of file vdcz.c.

◆ vdcz_tiles_at()

void vdcz_tiles_at ( Environment * _environment,
char * _address )

Definition at line 2304 of file vdcz.c.

◆ vdcz_tiles_get()

void vdcz_tiles_get ( Environment * _environment,
char * _result )

Definition at line 2330 of file vdcz.c.

◆ vdcz_use_tileset()

void vdcz_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 3058 of file vdcz.c.

◆ vdcz_vertical_scroll()

void vdcz_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 2308 of file vdcz.c.

◆ vdcz_wait_vbl()

void vdcz_wait_vbl ( Environment * _environment,
char * _raster_line )

Definition at line 2957 of file vdcz.c.

Variable Documentation

◆ lastUsedSlotInCommonPalette

int lastUsedSlotInCommonPalette = 0

Definition at line 60 of file vdcz.c.