|
ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
|
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 | c6847_collision (Environment *_environment, char *_sprite_mask, char *_result) |
| VIC-II: emit code to check for collision | |
| void | c6847_hit (Environment *_environment, char *_sprite_mask, char *_result) |
| VIC-II: emit code to check for collision | |
| void | c6847_border_color (Environment *_environment, char *_border_color) |
| VIC-II: emit code to change border color | |
| void | c6847_background_color (Environment *_environment, char *_index, char *_background_color) |
| VIC-II: emit code to change background color | |
| void | c6847_sprite_common_color (Environment *_environment, char *_index, char *_common_color) |
| VIC-II: emit code to change common sprite's color | |
| void | c6847_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi) |
| VIC-II: emit code to set raster irq | |
| void | c6847_next_raster (Environment *_environment) |
| VIC-II: emit code to wait for next raster irq | |
| void | c6847_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 | c6847_bank_select (Environment *_environment, int _bank) |
| void | console_calculate (Environment *_environment) |
| void | console_calculate_vars (Environment *_environment) |
| int | c6847_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode) |
| void | c6847_bitmap_enable (Environment *_environment, int _width, int _height, int _colors) |
| void | c6847_bitmap_disable (Environment *_environment) |
| void | c6847_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height) |
| void | c6847_bitmap_at (Environment *_environment, char *_address) |
| void | c6847_colormap_at (Environment *_environment, char *_address) |
| void | c6847_textmap_at (Environment *_environment, char *_address) |
| void | c6847_pset_int (Environment *_environment, int _x, int _y, int *_c) |
| void | c6847_pset_vars (Environment *_environment, char *_x, char *_y, char *_c) |
| void | c6847_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result) |
| void | c6847_screen_on (Environment *_environment) |
| void | c6847_screen_off (Environment *_environment) |
| void | c6847_screen_rows (Environment *_environment, char *_rows) |
| void | c6847_screen_columns (Environment *_environment, char *_columns) |
| void | c6847_sprite_data_from (Environment *_environment, char *_sprite, char *_address) |
| void | c6847_sprite_data_set (Environment *_environment, char *_sprite, char *_address) |
| void | c6847_sprite_enable (Environment *_environment, char *_sprite) |
| void | c6847_sprite_disable (Environment *_environment, char *_sprite) |
| void | c6847_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y) |
| void | c6847_sprite_priority (Environment *_environment, char *_sprite, char *_priority) |
| void | c6847_sprite_expand_vertical (Environment *_environment, char *_sprite) |
| void | c6847_sprite_expand_horizontal (Environment *_environment, char *_sprite) |
| void | c6847_sprite_compress_vertical (Environment *_environment, char *_sprite) |
| void | c6847_sprite_compress_horizontal (Environment *_environment, char *_sprite) |
| void | c6847_sprite_multicolor (Environment *_environment, char *_sprite) |
| void | c6847_sprite_monocolor (Environment *_environment, char *_sprite) |
| void | c6847_sprite_color (Environment *_environment, char *_sprite, char *_color) |
| void | c6847_tiles_at (Environment *_environment, char *_address) |
| void | c6847_vertical_scroll (Environment *_environment, char *_displacement) |
| void | c6847_horizontal_scroll (Environment *_environment, char *_displacement) |
| void | c6847_get_width (Environment *_environment, char *_result) |
| void | c6847_tiles_get (Environment *_environment, char *_result) |
| void | c6847_get_height (Environment *_environment, char *_result) |
| void | c6847_cls (Environment *_environment) |
| void | c6847_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h) |
| void | c6847_scroll_text (Environment *_environment, int _direction, int _overlap) |
| void | c6847_text (Environment *_environment, char *_text, char *_text_size, int _raw) |
| void | c6847_initialization (Environment *_environment) |
| void | c6847_finalization (Environment *_environment) |
| void | c6847_hscroll_line (Environment *_environment, int _direction, int _overlap) |
| void | c6847_hscroll_screen (Environment *_environment, int _direction, int _overlap) |
| void | c6847_back (Environment *_environment) |
| void | c6847_cline (Environment *_environment, char *_characters) |
| int | c6847_image_size (Environment *_environment, int _width, int _height, int _mode, int _transparent) |
| Variable * | c6847_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 | c6847_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 | c6847_put_image (Environment *_environment, Resource *_source, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags) |
| Variable * | c6847_new_image (Environment *_environment, int _width, int _height, int _mode) |
| Variable * | c6847_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode) |
| Variable * | c6847_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode) |
| void | c6847_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette) |
| void | c6847_scroll (Environment *_environment, int _dx, int _dy) |
| void | c6847_put_tile (Environment *_environment, char *_tile, char *_x, char *_y) |
| void | c6847_tile_at (Environment *_environment, char *_x, char *_y, char *_result) |
| void | c6847_move_tiles (Environment *_environment, char *_tile, char *_x, char *_y) |
| void | c6847_put_tiles (Environment *_environment, char *_tile, char *_x, char *_y, char *_w, char *_h) |
| void | c6847_use_tileset (Environment *_environment, char *_tileset) |
| Variable * | c6847_get_raster_line (Environment *_environment) |
| void | c6847_slice_image (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination) |
| int | c6847_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette) |
| void | c6847_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count) |
| void | c6847_flip_image (Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction) |
| void | c6847_screen (Environment *_environment, char *_x, char *_y, char *_c) |
Variables | |
| int | lastUsedSlotInCommonPalette = 0 |
| #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; |
| #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; |
| void c6847_back | ( | Environment * | _environment | ) |
| void c6847_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.
| _environment | Current calling environment |
| _index | Index of the background color |
| _background_color | Background color to use |
| void c6847_bank_select | ( | Environment * | _environment, |
| int | _bank ) |
| void c6847_bitmap_at | ( | Environment * | _environment, |
| char * | _address ) |
| void c6847_bitmap_disable | ( | Environment * | _environment | ) |
| void c6847_bitmap_enable | ( | Environment * | _environment, |
| int | _width, | ||
| int | _height, | ||
| int | _colors ) |
| void c6847_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 c6847_border_color | ( | Environment * | _environment, |
| char * | _border_color ) |
| void c6847_calculate_sequence_frame_offset | ( | Environment * | _environment, |
| char * | _offset, | ||
| char * | _sequence, | ||
| char * | _frame, | ||
| int | _frame_size, | ||
| int | _frame_count ) |
| void c6847_cline | ( | Environment * | _environment, |
| char * | _characters ) |
| void c6847_cls | ( | Environment * | _environment | ) |
| void c6847_cls_box | ( | Environment * | _environment, |
| char * | _x1, | ||
| char * | _y1, | ||
| char * | _w, | ||
| char * | _h ) |
| void c6847_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.
| _environment | Current calling environment |
| _sprite_mask | Sprite mask to use |
| _result | Where to store the result |
| void c6847_colormap_at | ( | Environment * | _environment, |
| char * | _address ) |
| void c6847_finalization | ( | Environment * | _environment | ) |
| void c6847_flip_image | ( | Environment * | _environment, |
| Resource * | _image, | ||
| char * | _frame, | ||
| char * | _sequence, | ||
| int | _frame_size, | ||
| int | _frame_count, | ||
| char * | _direction ) |
| void c6847_get_height | ( | Environment * | _environment, |
| char * | _result ) |
| void c6847_get_image | ( | Environment * | _environment, |
| char * | _image, | ||
| char * | _x, | ||
| char * | _y, | ||
| char * | _frame, | ||
| char * | _sequence, | ||
| int | _frame_size, | ||
| int | _frame_count, | ||
| int | _palette ) |
| Variable * c6847_get_raster_line | ( | Environment * | _environment | ) |
| void c6847_get_width | ( | Environment * | _environment, |
| char * | _result ) |
| void c6847_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.
| _environment | Current calling environment |
| _sprite_mask | Sprite mask to use |
| _result | Where to store the result |
| void c6847_horizontal_scroll | ( | Environment * | _environment, |
| char * | _displacement ) |
| void c6847_hscroll_line | ( | Environment * | _environment, |
| int | _direction, | ||
| int | _overlap ) |
| void c6847_hscroll_screen | ( | Environment * | _environment, |
| int | _direction, | ||
| int | _overlap ) |
| Variable * c6847_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 ) |
| int c6847_image_size | ( | Environment * | _environment, |
| int | _width, | ||
| int | _height, | ||
| int | _mode, | ||
| int | _transparent ) |
| void c6847_initialization | ( | Environment * | _environment | ) |
| void c6847_move_tiles | ( | Environment * | _environment, |
| char * | _tile, | ||
| char * | _x, | ||
| char * | _y ) |
| Variable * c6847_new_image | ( | Environment * | _environment, |
| int | _width, | ||
| int | _height, | ||
| int | _mode ) |
| Variable * c6847_new_images | ( | Environment * | _environment, |
| int | _frames, | ||
| int | _width, | ||
| int | _height, | ||
| int | _mode ) |
| Variable * c6847_new_sequence | ( | Environment * | _environment, |
| int | _sequences, | ||
| int | _frames, | ||
| int | _width, | ||
| int | _height, | ||
| int | _mode ) |
| void c6847_next_raster | ( | Environment * | _environment | ) |
| void c6847_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.
| _environment | Current calling environment |
| _label | Label to jump to when vertical raster reach the value given |
| _positionlo | The vertical position to wait for (bits 7..0) |
| _positionhi | The vertical position to wait for (bit 8) |
| int c6847_palette_extract | ( | Environment * | _environment, |
| char * | _data, | ||
| int | _width, | ||
| int | _height, | ||
| int | _depth, | ||
| int | _flags, | ||
| RGBi * | _palette ) |
| void c6847_pget_color_vars | ( | Environment * | _environment, |
| char * | _x, | ||
| char * | _y, | ||
| char * | _result ) |
| void c6847_pset_int | ( | Environment * | _environment, |
| int | _x, | ||
| int | _y, | ||
| int * | _c ) |
| void c6847_pset_vars | ( | Environment * | _environment, |
| char * | _x, | ||
| char * | _y, | ||
| char * | _c ) |
| void c6847_put_image | ( | Environment * | _environment, |
| Resource * | _source, | ||
| char * | _x, | ||
| char * | _y, | ||
| char * | _frame, | ||
| char * | _sequence, | ||
| int | _frame_size, | ||
| int | _frame_count, | ||
| char * | _flags ) |
| void c6847_put_tile | ( | Environment * | _environment, |
| char * | _tile, | ||
| char * | _x, | ||
| char * | _y ) |
| void c6847_put_tiles | ( | Environment * | _environment, |
| char * | _tile, | ||
| char * | _x, | ||
| char * | _y, | ||
| char * | _w, | ||
| char * | _h ) |
| void c6847_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.
| _environment | Current calling environment |
| _label | Label to jump to when vertical raster reach the value given |
| _positionlo | The vertical position to wait for (bits 7..0) |
| _positionhi | The vertical position to wait for (bit 8) |
| void c6847_screen | ( | Environment * | _environment, |
| char * | _x, | ||
| char * | _y, | ||
| char * | _c ) |
| void c6847_screen_columns | ( | Environment * | _environment, |
| char * | _columns ) |
| int c6847_screen_mode_enable | ( | Environment * | _environment, |
| ScreenMode * | _screen_mode ) |
| void c6847_screen_off | ( | Environment * | _environment | ) |
| void c6847_screen_on | ( | Environment * | _environment | ) |
| void c6847_screen_rows | ( | Environment * | _environment, |
| char * | _rows ) |
| void c6847_scroll | ( | Environment * | _environment, |
| int | _dx, | ||
| int | _dy ) |
| void c6847_scroll_text | ( | Environment * | _environment, |
| int | _direction, | ||
| int | _overlap ) |
| void c6847_slice_image | ( | Environment * | _environment, |
| char * | _image, | ||
| char * | _frame, | ||
| char * | _sequence, | ||
| int | _frame_size, | ||
| int | _frame_count, | ||
| char * | _destination ) |
| void c6847_sprite_at | ( | Environment * | _environment, |
| char * | _sprite, | ||
| char * | _x, | ||
| char * | _y ) |
| void c6847_sprite_color | ( | Environment * | _environment, |
| char * | _sprite, | ||
| char * | _color ) |
| void c6847_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.
| _environment | Current calling environment |
| _index | Index of the background color |
| _common_color | Index of the color to use |
| void c6847_sprite_compress_horizontal | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_compress_vertical | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_data_from | ( | Environment * | _environment, |
| char * | _sprite, | ||
| char * | _address ) |
| void c6847_sprite_data_set | ( | Environment * | _environment, |
| char * | _sprite, | ||
| char * | _address ) |
| void c6847_sprite_disable | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_enable | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_expand_horizontal | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_expand_vertical | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_monocolor | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_multicolor | ( | Environment * | _environment, |
| char * | _sprite ) |
| void c6847_sprite_priority | ( | Environment * | _environment, |
| char * | _sprite, | ||
| char * | _priority ) |
| void c6847_text | ( | Environment * | _environment, |
| char * | _text, | ||
| char * | _text_size, | ||
| int | _raw ) |
| void c6847_textmap_at | ( | Environment * | _environment, |
| char * | _address ) |
| void c6847_tile_at | ( | Environment * | _environment, |
| char * | _x, | ||
| char * | _y, | ||
| char * | _result ) |
| void c6847_tilemap_enable | ( | Environment * | _environment, |
| int | _width, | ||
| int | _height, | ||
| int | _colors, | ||
| int | _tile_width, | ||
| int | _tile_height ) |
| void c6847_tiles_at | ( | Environment * | _environment, |
| char * | _address ) |
| void c6847_tiles_get | ( | Environment * | _environment, |
| char * | _result ) |
| void c6847_use_tileset | ( | Environment * | _environment, |
| char * | _tileset ) |
| void c6847_vertical_scroll | ( | Environment * | _environment, |
| char * | _displacement ) |
| void console_calculate | ( | Environment * | _environment | ) |
| void console_calculate_vars | ( | Environment * | _environment | ) |