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

Go to the source code of this file.

Functions

RGBief9345_image_nearest_system_color (RGBi *_color)
Variableef9345_collision (Environment *_environment, char *_sprite)
 EF9345: emit code to check for collision
void ef9345_hit (Environment *_environment, char *_sprite_mask, char *_result)
 EF9345: emit code to check for collision
void ef9345_border_color (Environment *_environment, char *_border_color)
 EF9345: emit code to change border color
void ef9345_background_color (Environment *_environment, int _index, int _background_color)
 EF9345: emit code to change background color
void ef9345_background_color_vars (Environment *_environment, char *_index, char *_background_color)
 EF9345: emit code to change background color
void ef9345_background_color_semivars (Environment *_environment, int _index, char *_background_color)
 EF9345: emit code to change background color
void ef9345_background_color_get_vars (Environment *_environment, char *_index, char *_background_color)
 EF9345: emit code to retrieve background color
void ef9345_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 EF9345: emit code to change common sprite's color
void ef9345_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 EF9345: emit code to set raster irq
void ef9345_next_raster (Environment *_environment)
 EF9345: emit code to wait for next raster irq
void ef9345_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 EF9345: emit code to wait for next raster irq at different position
void ef9345_bank_select (Environment *_environment, int _bank)
void console_calculate (Environment *_environment)
void console_calculate_vars (Environment *_environment)
int ef9345_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void ef9345_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void ef9345_bitmap_disable (Environment *_environment)
void ef9345_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void ef9345_bitmap_at (Environment *_environment, char *_address)
void ef9345_colormap_at (Environment *_environment, char *_address)
void ef9345_textmap_at (Environment *_environment, char *_address)
void ef9345_pset_int (Environment *_environment, int _x, int _y, int *_c)
void ef9345_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void ef9345_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void ef9345_screen_on (Environment *_environment)
void ef9345_screen_off (Environment *_environment)
void ef9345_screen_rows (Environment *_environment, char *_rows)
void ef9345_screen_columns (Environment *_environment, char *_columns)
void ef9345_sprite_data_from (Environment *_environment, char *_sprite, char *_image)
void ef9345_sprite_data_set (Environment *_environment, char *_sprite, char *_image)
void ef9345_sprite_enable (Environment *_environment, char *_sprite)
void ef9345_sprite_disable (Environment *_environment, char *_sprite)
void ef9345_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void ef9345_sprite_expand_vertical (Environment *_environment, char *_sprite)
void ef9345_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void ef9345_sprite_compress_vertical (Environment *_environment, char *_sprite)
void ef9345_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void ef9345_sprite_multicolor (Environment *_environment, char *_sprite)
void ef9345_sprite_monocolor (Environment *_environment, char *_sprite)
void ef9345_sprite_color (Environment *_environment, char *_sprite, char *_color)
void ef9345_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void ef9345_tiles_at (Environment *_environment, char *_address)
void ef9345_vertical_scroll (Environment *_environment, char *_displacement)
void ef9345_horizontal_scroll (Environment *_environment, char *_displacement)
void ef9345_busy_wait (Environment *_environment, char *_timing)
void ef9345_get_width (Environment *_environment, char *_result)
void ef9345_tiles_get (Environment *_environment, char *_result)
void ef9345_get_height (Environment *_environment, char *_result)
void ef9345_cls (Environment *_environment)
void ef9345_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void ef9345_scroll_text (Environment *_environment, int _direction, int _overlap)
void ef9345_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void ef9345_initialization (Environment *_environment)
void ef9345_finalization (Environment *_environment)
void ef9345_hscroll_line (Environment *_environment, int _direction, int _overlap)
void ef9345_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void ef9345_back (Environment *_environment)
void ef9345_cline (Environment *_environment, char *_characters)
int ef9345_image_size (Environment *_environment, int _width, int _height, int _mode)
Variableef9345_sprite_converter (Environment *_environment, char *_source, int _width, int _height, int _depth, RGBi *_color)
Variableef9345_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 ef9345_put_image (Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
void ef9345_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 ef9345_wait_vbl (Environment *_environment)
Variableef9345_new_image (Environment *_environment, int _width, int _height, int _mode)
Variableef9345_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variableef9345_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void ef9345_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void ef9345_scroll (Environment *_environment, int _dx, int _dy)
void ef9345_put_tile (Environment *_environment, char *_tile, char *_x, char *_y)
void ef9345_move_tiles (Environment *_environment, char *_tile, char *_x, char *_y)
void ef9345_put_tiles (Environment *_environment, char *_tile, char *_x, char *_y, char *_w, char *_h)
void ef9345_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void ef9345_use_tileset (Environment *_environment, char *_tileset)
Variableef9345_get_raster_line (Environment *_environment)
void ef9345_move_memory_video (Environment *_environment, char *_from, char *_to, char *_size)
void ef9345_move_video_memory (Environment *_environment, char *_from, char *_to, char *_size)
void ef9345_colors_vars (Environment *_environment, char *_foreground_color, char *_background_color)
void ef9345_slice_image (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
int ef9345_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)

Function Documentation

◆ console_calculate()

void console_calculate ( Environment * _environment)

Definition at line 432 of file ef9345.c.

◆ console_calculate_vars()

void console_calculate_vars ( Environment * _environment)

Definition at line 448 of file ef9345.c.

◆ ef9345_back()

void ef9345_back ( Environment * _environment)

Definition at line 908 of file ef9345.c.

◆ ef9345_background_color()

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

EF9345: 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 295 of file ef9345.c.

◆ ef9345_background_color_get_vars()

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

EF9345: 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 337 of file ef9345.c.

◆ ef9345_background_color_semivars()

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

EF9345: 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 323 of file ef9345.c.

◆ ef9345_background_color_vars()

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

EF9345: 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 309 of file ef9345.c.

◆ ef9345_bank_select()

void ef9345_bank_select ( Environment * _environment,
int _bank )

Definition at line 405 of file ef9345.c.

◆ ef9345_bitmap_at()

void ef9345_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 559 of file ef9345.c.

◆ ef9345_bitmap_disable()

void ef9345_bitmap_disable ( Environment * _environment)

Definition at line 528 of file ef9345.c.

◆ ef9345_bitmap_enable()

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

Definition at line 508 of file ef9345.c.

◆ ef9345_blit_image()

void ef9345_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 1074 of file ef9345.c.

◆ ef9345_border_color()

void ef9345_border_color ( Environment * _environment,
char * _border_color )

EF9345: 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 281 of file ef9345.c.

◆ ef9345_busy_wait()

void ef9345_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 663 of file ef9345.c.

◆ ef9345_cline()

void ef9345_cline ( Environment * _environment,
char * _characters )

Definition at line 912 of file ef9345.c.

◆ ef9345_cls()

void ef9345_cls ( Environment * _environment)

Definition at line 688 of file ef9345.c.

◆ ef9345_cls_box()

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

Definition at line 695 of file ef9345.c.

◆ ef9345_collision()

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

EF9345: 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 251 of file ef9345.c.

◆ ef9345_colormap_at()

void ef9345_colormap_at ( Environment * _environment,
char * _address )

Definition at line 563 of file ef9345.c.

◆ ef9345_colors_vars()

void ef9345_colors_vars ( Environment * _environment,
char * _foreground_color,
char * _background_color )

Definition at line 1213 of file ef9345.c.

◆ ef9345_finalization()

void ef9345_finalization ( Environment * _environment)

Definition at line 883 of file ef9345.c.

◆ ef9345_get_height()

void ef9345_get_height ( Environment * _environment,
char * _result )

Definition at line 681 of file ef9345.c.

◆ ef9345_get_image()

void ef9345_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 1172 of file ef9345.c.

◆ ef9345_get_raster_line()

Variable * ef9345_get_raster_line ( Environment * _environment)

Definition at line 1201 of file ef9345.c.

◆ ef9345_get_width()

void ef9345_get_width ( Environment * _environment,
char * _result )

Definition at line 667 of file ef9345.c.

◆ ef9345_hit()

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

EF9345: 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 266 of file ef9345.c.

◆ ef9345_horizontal_scroll()

void ef9345_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 659 of file ef9345.c.

◆ ef9345_hscroll_line()

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

Definition at line 900 of file ef9345.c.

◆ ef9345_hscroll_screen()

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

Definition at line 904 of file ef9345.c.

◆ ef9345_image_converter()

Variable * ef9345_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 1062 of file ef9345.c.

◆ ef9345_image_nearest_system_color()

RGBi * ef9345_image_nearest_system_color ( RGBi * _color)

Definition at line 63 of file ef9345.c.

◆ ef9345_image_size()

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

Definition at line 916 of file ef9345.c.

◆ ef9345_initialization()

void ef9345_initialization ( Environment * _environment)

Definition at line 729 of file ef9345.c.

◆ ef9345_move_memory_video()

void ef9345_move_memory_video ( Environment * _environment,
char * _from,
char * _to,
char * _size )

Definition at line 1205 of file ef9345.c.

◆ ef9345_move_tiles()

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

Definition at line 1185 of file ef9345.c.

◆ ef9345_move_video_memory()

void ef9345_move_video_memory ( Environment * _environment,
char * _from,
char * _to,
char * _size )

Definition at line 1209 of file ef9345.c.

◆ ef9345_new_image()

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

Definition at line 1082 of file ef9345.c.

◆ ef9345_new_images()

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

Definition at line 1106 of file ef9345.c.

◆ ef9345_new_sequence()

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

Definition at line 1138 of file ef9345.c.

◆ ef9345_next_raster()

void ef9345_next_raster ( Environment * _environment)

EF9345: 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 384 of file ef9345.c.

◆ ef9345_next_raster_at()

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

EF9345: 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 401 of file ef9345.c.

◆ ef9345_palette_extract()

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

Definition at line 1221 of file ef9345.c.

◆ ef9345_pget_color_vars()

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

Definition at line 579 of file ef9345.c.

◆ ef9345_pset_int()

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

Definition at line 571 of file ef9345.c.

◆ ef9345_pset_vars()

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

Definition at line 575 of file ef9345.c.

◆ ef9345_put_image()

void ef9345_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 1070 of file ef9345.c.

◆ ef9345_put_tile()

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

Definition at line 1181 of file ef9345.c.

◆ ef9345_put_tiles()

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

Definition at line 1189 of file ef9345.c.

◆ ef9345_raster_at()

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

EF9345: 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 370 of file ef9345.c.

◆ ef9345_screen_columns()

void ef9345_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 595 of file ef9345.c.

◆ ef9345_screen_mode_enable()

int ef9345_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 456 of file ef9345.c.

◆ ef9345_screen_off()

void ef9345_screen_off ( Environment * _environment)

Definition at line 587 of file ef9345.c.

◆ ef9345_screen_on()

void ef9345_screen_on ( Environment * _environment)

Definition at line 583 of file ef9345.c.

◆ ef9345_screen_rows()

void ef9345_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 591 of file ef9345.c.

◆ ef9345_scroll()

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

Definition at line 1177 of file ef9345.c.

◆ ef9345_scroll_text()

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

Definition at line 710 of file ef9345.c.

◆ ef9345_slice_image()

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

Definition at line 1217 of file ef9345.c.

◆ ef9345_sprite_at()

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

Definition at line 615 of file ef9345.c.

◆ ef9345_sprite_color()

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

Definition at line 643 of file ef9345.c.

◆ ef9345_sprite_common_color()

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

EF9345: 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 351 of file ef9345.c.

◆ ef9345_sprite_compress_horizontal()

void ef9345_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 631 of file ef9345.c.

◆ ef9345_sprite_compress_vertical()

void ef9345_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 627 of file ef9345.c.

◆ ef9345_sprite_converter()

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

Definition at line 953 of file ef9345.c.

◆ ef9345_sprite_data_from()

void ef9345_sprite_data_from ( Environment * _environment,
char * _sprite,
char * _image )

Definition at line 599 of file ef9345.c.

◆ ef9345_sprite_data_set()

void ef9345_sprite_data_set ( Environment * _environment,
char * _sprite,
char * _image )

Definition at line 603 of file ef9345.c.

◆ ef9345_sprite_disable()

void ef9345_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 611 of file ef9345.c.

◆ ef9345_sprite_enable()

void ef9345_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 607 of file ef9345.c.

◆ ef9345_sprite_expand_horizontal()

void ef9345_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 623 of file ef9345.c.

◆ ef9345_sprite_expand_vertical()

void ef9345_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 619 of file ef9345.c.

◆ ef9345_sprite_monocolor()

void ef9345_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 639 of file ef9345.c.

◆ ef9345_sprite_multicolor()

void ef9345_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 635 of file ef9345.c.

◆ ef9345_sprite_priority()

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

Definition at line 647 of file ef9345.c.

◆ ef9345_text()

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

Definition at line 714 of file ef9345.c.

◆ ef9345_textmap_at()

void ef9345_textmap_at ( Environment * _environment,
char * _address )

Definition at line 567 of file ef9345.c.

◆ ef9345_tile_at()

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

Definition at line 1193 of file ef9345.c.

◆ ef9345_tilemap_enable()

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

Definition at line 534 of file ef9345.c.

◆ ef9345_tiles_at()

void ef9345_tiles_at ( Environment * _environment,
char * _address )

Definition at line 651 of file ef9345.c.

◆ ef9345_tiles_get()

void ef9345_tiles_get ( Environment * _environment,
char * _result )

Definition at line 674 of file ef9345.c.

◆ ef9345_use_tileset()

void ef9345_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 1197 of file ef9345.c.

◆ ef9345_vertical_scroll()

void ef9345_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 655 of file ef9345.c.

◆ ef9345_wait_vbl()

void ef9345_wait_vbl ( Environment * _environment)

Definition at line 1078 of file ef9345.c.