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

Go to the source code of this file.

Macros

#define SET_VIDEOAT_ZERO   SAM_F0_CLR; SAM_F1_CLR; SAM_F2_CLR; SAM_F3_CLR; SAM_F4_CLR; SAM_F5_CLR; SAM_F6_CLR;
#define SET_VIDEOAT_0400   SET_VIDEOAT_ZERO; SAM_F1_SET;
#define SET_VIDEOAT_1C00   SET_VIDEOAT_ZERO; SAM_F2_SET; SAM_F3_SET; SAM_F4_SET;

Functions

void c6847b_collision (Environment *_environment, char *_sprite_mask, char *_result)
 VIC-II: emit code to check for collision
void c6847b_hit (Environment *_environment, char *_sprite_mask, char *_result)
 VIC-II: emit code to check for collision
void c6847b_border_color (Environment *_environment, char *_border_color)
 VIC-II: emit code to change border color
void c6847b_background_color (Environment *_environment, char *_index, char *_background_color)
 VIC-II: emit code to change background color
void c6847b_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 VIC-II: emit code to change common sprite's color
void c6847b_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VIC-II: emit code to set raster irq
void c6847b_next_raster (Environment *_environment)
 VIC-II: emit code to wait for next raster irq
void c6847b_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 VIC-II: emit code to wait for next raster irq at different position
void c6847b_bank_select (Environment *_environment, int _bank)
void console_calculate (Environment *_environment)
void console_calculate_vars (Environment *_environment)
int c6847b_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void c6847b_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void c6847b_bitmap_disable (Environment *_environment)
void c6847b_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void c6847b_bitmap_at (Environment *_environment, char *_address)
void c6847b_colormap_at (Environment *_environment, char *_address)
void c6847b_textmap_at (Environment *_environment, char *_address)
void c6847b_pset_int (Environment *_environment, int _x, int _y, int *_c)
void c6847b_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void c6847b_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void c6847b_screen_on (Environment *_environment)
void c6847b_screen_off (Environment *_environment)
void c6847b_screen_rows (Environment *_environment, char *_rows)
void c6847b_screen_columns (Environment *_environment, char *_columns)
void c6847b_sprite_data_from (Environment *_environment, char *_sprite, char *_address)
void c6847b_sprite_data_set (Environment *_environment, char *_sprite, char *_address)
void c6847b_sprite_enable (Environment *_environment, char *_sprite)
void c6847b_sprite_disable (Environment *_environment, char *_sprite)
void c6847b_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void c6847b_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void c6847b_sprite_expand_vertical (Environment *_environment, char *_sprite)
void c6847b_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void c6847b_sprite_compress_vertical (Environment *_environment, char *_sprite)
void c6847b_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void c6847b_sprite_multicolor (Environment *_environment, char *_sprite)
void c6847b_sprite_monocolor (Environment *_environment, char *_sprite)
void c6847b_sprite_color (Environment *_environment, char *_sprite, char *_color)
void c6847b_tiles_at (Environment *_environment, char *_address)
void c6847b_vertical_scroll (Environment *_environment, char *_displacement)
void c6847b_horizontal_scroll (Environment *_environment, char *_displacement)
void c6847b_get_width (Environment *_environment, char *_result)
void c6847b_tiles_get (Environment *_environment, char *_result)
void c6847b_get_height (Environment *_environment, char *_result)
void c6847b_cls (Environment *_environment)
void c6847b_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void c6847b_scroll_text (Environment *_environment, int _direction, int _overlap)
void c6847b_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void c6847b_initialization (Environment *_environment)
void c6847b_finalization (Environment *_environment)
void c6847b_hscroll_line (Environment *_environment, int _direction, int _overlap)
void c6847b_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void c6847b_back (Environment *_environment)
void c6847b_cline (Environment *_environment, char *_characters)
int c6847b_image_size (Environment *_environment, int _width, int _height, int _mode, int _transparent)
Variablec6847b_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 c6847b_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 c6847b_put_image (Environment *_environment, Resource *_source, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
Variablec6847b_new_image (Environment *_environment, int _width, int _height, int _mode)
Variablec6847b_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variablec6847b_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void c6847b_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void c6847b_scroll (Environment *_environment, int _dx, int _dy)
void c6847b_put_tile (Environment *_environment, char *_tile, char *_x, char *_y)
void c6847b_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void c6847b_move_tiles (Environment *_environment, char *_tile, char *_x, char *_y)
void c6847b_put_tiles (Environment *_environment, char *_tile, char *_x, char *_y, char *_w, char *_h)
void c6847b_use_tileset (Environment *_environment, char *_tileset)
Variablec6847b_get_raster_line (Environment *_environment)
void c6847b_slice_image (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
int c6847b_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
void c6847b_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
void c6847b_flip_image (Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction)
void c6847b_screen (Environment *_environment, char *_x, char *_y, char *_c)

Variables

int lastUsedSlotInCommonPalette = 0

Macro Definition Documentation

◆ SET_VIDEOAT_0400

#define SET_VIDEOAT_0400   SET_VIDEOAT_ZERO; SAM_F1_SET;

Definition at line 218 of file 6847b.c.

◆ SET_VIDEOAT_1C00

#define SET_VIDEOAT_1C00   SET_VIDEOAT_ZERO; SAM_F2_SET; SAM_F3_SET; SAM_F4_SET;

Definition at line 219 of file 6847b.c.

◆ SET_VIDEOAT_ZERO

Definition at line 216 of file 6847b.c.

Function Documentation

◆ c6847b_back()

void c6847b_back ( Environment * _environment)

Definition at line 1158 of file 6847b.c.

◆ c6847b_background_color()

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

VIC-II: 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 130 of file 6847b.c.

◆ c6847b_bank_select()

void c6847b_bank_select ( Environment * _environment,
int _bank )

Definition at line 212 of file 6847b.c.

◆ c6847b_bitmap_at()

void c6847b_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 738 of file 6847b.c.

◆ c6847b_bitmap_disable()

void c6847b_bitmap_disable ( Environment * _environment)

Definition at line 713 of file 6847b.c.

◆ c6847b_bitmap_enable()

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

Definition at line 693 of file 6847b.c.

◆ c6847b_blit_image()

void c6847b_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 1715 of file 6847b.c.

◆ c6847b_border_color()

void c6847b_border_color ( Environment * _environment,
char * _border_color )

VIC-II: 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 104 of file 6847b.c.

◆ c6847b_calculate_sequence_frame_offset()

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

Definition at line 2021 of file 6847b.c.

◆ c6847b_cline()

void c6847b_cline ( Environment * _environment,
char * _characters )

Definition at line 1162 of file 6847b.c.

◆ c6847b_cls()

void c6847b_cls ( Environment * _environment)

Definition at line 928 of file 6847b.c.

◆ c6847b_cls_box()

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

Definition at line 940 of file 6847b.c.

◆ c6847b_collision()

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

VIC-II: 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 76 of file 6847b.c.

◆ c6847b_colormap_at()

void c6847b_colormap_at ( Environment * _environment,
char * _address )

Definition at line 745 of file 6847b.c.

◆ c6847b_finalization()

void c6847b_finalization ( Environment * _environment)

Definition at line 1112 of file 6847b.c.

◆ c6847b_flip_image()

void c6847b_flip_image ( Environment * _environment,
Resource * _image,
char * _frame,
char * _sequence,
int _frame_size,
int _frame_count,
char * _direction )

Definition at line 2068 of file 6847b.c.

◆ c6847b_get_height()

void c6847b_get_height ( Environment * _environment,
char * _result )

Definition at line 921 of file 6847b.c.

◆ c6847b_get_image()

void c6847b_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 1909 of file 6847b.c.

◆ c6847b_get_raster_line()

Variable * c6847b_get_raster_line ( Environment * _environment)

Definition at line 1991 of file 6847b.c.

◆ c6847b_get_width()

void c6847b_get_width ( Environment * _environment,
char * _result )

Definition at line 907 of file 6847b.c.

◆ c6847b_hit()

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

VIC-II: 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 91 of file 6847b.c.

◆ c6847b_horizontal_scroll()

void c6847b_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 903 of file 6847b.c.

◆ c6847b_hscroll_line()

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

Definition at line 1129 of file 6847b.c.

◆ c6847b_hscroll_screen()

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

Definition at line 1145 of file 6847b.c.

◆ c6847b_image_converter()

Variable * c6847b_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 1631 of file 6847b.c.

◆ c6847b_image_size()

int c6847b_image_size ( Environment * _environment,
int _width,
int _height,
int _mode,
int _transparent )

Definition at line 1188 of file 6847b.c.

◆ c6847b_initialization()

void c6847b_initialization ( Environment * _environment)

Definition at line 1017 of file 6847b.c.

◆ c6847b_move_tiles()

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

Definition at line 1978 of file 6847b.c.

◆ c6847b_new_image()

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

Definition at line 1822 of file 6847b.c.

◆ c6847b_new_images()

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

Definition at line 1846 of file 6847b.c.

◆ c6847b_new_sequence()

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

Definition at line 1877 of file 6847b.c.

◆ c6847b_next_raster()

void c6847b_next_raster ( Environment * _environment)

VIC-II: 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 191 of file 6847b.c.

◆ c6847b_next_raster_at()

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

VIC-II: 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 208 of file 6847b.c.

◆ c6847b_palette_extract()

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

Definition at line 2005 of file 6847b.c.

◆ c6847b_pget_color_vars()

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

Definition at line 806 of file 6847b.c.

◆ c6847b_pset_int()

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

Definition at line 756 of file 6847b.c.

◆ c6847b_pset_vars()

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

Definition at line 779 of file 6847b.c.

◆ c6847b_put_image()

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

Definition at line 1767 of file 6847b.c.

◆ c6847b_put_tile()

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

Definition at line 1970 of file 6847b.c.

◆ c6847b_put_tiles()

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

Definition at line 1982 of file 6847b.c.

◆ c6847b_raster_at()

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

VIC-II: 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 177 of file 6847b.c.

◆ c6847b_screen()

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

Definition at line 2110 of file 6847b.c.

◆ c6847b_screen_columns()

void c6847b_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 839 of file 6847b.c.

◆ c6847b_screen_mode_enable()

int c6847b_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 284 of file 6847b.c.

◆ c6847b_screen_off()

void c6847b_screen_off ( Environment * _environment)

Definition at line 831 of file 6847b.c.

◆ c6847b_screen_on()

void c6847b_screen_on ( Environment * _environment)

Definition at line 827 of file 6847b.c.

◆ c6847b_screen_rows()

void c6847b_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 835 of file 6847b.c.

◆ c6847b_scroll()

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

Definition at line 1966 of file 6847b.c.

◆ c6847b_scroll_text()

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

Definition at line 959 of file 6847b.c.

◆ c6847b_slice_image()

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

Definition at line 2001 of file 6847b.c.

◆ c6847b_sprite_at()

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

Definition at line 859 of file 6847b.c.

◆ c6847b_sprite_color()

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

Definition at line 891 of file 6847b.c.

◆ c6847b_sprite_common_color()

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

VIC-II: 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 158 of file 6847b.c.

◆ c6847b_sprite_compress_horizontal()

void c6847b_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 879 of file 6847b.c.

◆ c6847b_sprite_compress_vertical()

void c6847b_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 875 of file 6847b.c.

◆ c6847b_sprite_data_from()

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

Definition at line 843 of file 6847b.c.

◆ c6847b_sprite_data_set()

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

Definition at line 847 of file 6847b.c.

◆ c6847b_sprite_disable()

void c6847b_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 855 of file 6847b.c.

◆ c6847b_sprite_enable()

void c6847b_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 851 of file 6847b.c.

◆ c6847b_sprite_expand_horizontal()

void c6847b_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 871 of file 6847b.c.

◆ c6847b_sprite_expand_vertical()

void c6847b_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 867 of file 6847b.c.

◆ c6847b_sprite_monocolor()

void c6847b_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 887 of file 6847b.c.

◆ c6847b_sprite_multicolor()

void c6847b_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 883 of file 6847b.c.

◆ c6847b_sprite_priority()

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

Definition at line 863 of file 6847b.c.

◆ c6847b_text()

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

Definition at line 979 of file 6847b.c.

◆ c6847b_textmap_at()

void c6847b_textmap_at ( Environment * _environment,
char * _address )

Definition at line 749 of file 6847b.c.

◆ c6847b_tile_at()

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

Definition at line 1974 of file 6847b.c.

◆ c6847b_tilemap_enable()

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

Definition at line 717 of file 6847b.c.

◆ c6847b_tiles_at()

void c6847b_tiles_at ( Environment * _environment,
char * _address )

Definition at line 895 of file 6847b.c.

◆ c6847b_tiles_get()

void c6847b_tiles_get ( Environment * _environment,
char * _result )

Definition at line 914 of file 6847b.c.

◆ c6847b_use_tileset()

void c6847b_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 1987 of file 6847b.c.

◆ c6847b_vertical_scroll()

void c6847b_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 899 of file 6847b.c.

◆ console_calculate()

void console_calculate ( Environment * _environment)

Definition at line 221 of file 6847b.c.

◆ console_calculate_vars()

void console_calculate_vars ( Environment * _environment)

Definition at line 275 of file 6847b.c.

Variable Documentation

◆ lastUsedSlotInCommonPalette

int lastUsedSlotInCommonPalette = 0

Definition at line 59 of file 6847b.c.