ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
tms9918.h File Reference
#include "../ugbc.h"

Go to the source code of this file.

Macros

#define VDP_R0   0x80
#define VDP_R1   0x81
#define VDP_RNAME   0x82
#define VDP_RCOLORTABLE   0x83
#define VDP_RPATTERN   0x84
#define VDP_RSPRITEA   0x85
#define VDP_RSPRITEP   0x86
#define VDP_RCOLOR   0x87
#define WVDP(r, v)
#define WVDP_R0(v)
#define WVDP_R1(v)
#define WVDP_RNAME(v)
#define WVDP_RCOLORTABLE(v)
#define WVDP_RPATTERN(v)
#define WVDP_RSPRITEA(v)
#define WVDP_RSPRITEP(v)
#define WVDP_RCOLOR(v)
#define COLOR_TRANSPARENT   0x00
#define COLOR_BLACK   0x01
#define COLOR_DARK_WHITE   0x0e
#define COLOR_WHITE   0x0f
#define COLOR_LIGHT_WHITE   COLOR_WHITE
#define COLOR_DARK_RED   0x06
#define COLOR_RED   0x08
#define COLOR_LIGHT_RED   0x09
#define COLOR_CYAN   0x07
#define COLOR_VIOLET   0x0d
#define COLOR_DARK_GREEN   0x02
#define COLOR_GREEN   0x02
#define COLOR_LIGHT_GREEN   0x03
#define COLOR_DARK_BLUE   0x04
#define COLOR_BLUE   0x07
#define COLOR_LIGHT_BLUE   0x05
#define COLOR_YELLOW   0x0b
#define COLOR_ORANGE   0x09
#define COLOR_BROWN   0x06
#define COLOR_DARK_GREY   0x0e
#define COLOR_GREY   0x0e
#define COLOR_LIGHT_GREY   0x0e
#define COLOR_MAGENTA   0x0d
#define COLOR_PURPLE   COLOR_VIOLET
#define COLOR_LAVENDER   COLOR_VIOLET
#define COLOR_GOLD   0x0a
#define COLOR_TURQUOISE   COLOR_LIGHT_BLUE
#define COLOR_TAN   COLOR_BROWN
#define COLOR_YELLOW_GREEN   0x03
#define COLOR_OLIVE_GREEN   0x0c
#define COLOR_PINK   COLOR_LIGHT_RED
#define COLOR_PEACH   COLOR_PINK
#define COLOR_COUNT   16
#define DEFAULT_PEN_COLOR   COLOR_WHITE
#define DEFAULT_PAPER_COLOR   COLOR_BLACK
#define TEXT_COLUMNS_COUNT   40
#define TEXT_ROWS_COUNT   25
#define TILEMAP_MODE_STANDARD   0
#define TILEMAP_MODE_GRAPHIC1   1
#define BITMAP_MODE_GRAPHIC2   2
#define BITMAP_MODE_MULTICOLOR   3
#define BITMAP_MODE_STANDARD   BITMAP_MODE_GRAPHIC2
#define BITMAP_MODE_DEFAULT   BITMAP_MODE_GRAPHIC2
#define SPRITE_COUNT   32
#define SPRITE_WIDTH   8
#define SPRITE_HEIGHT   8
#define SPRITE_X_MIN   0
#define SPRITE_Y_MIN   0
#define SPRITE_X_MAX   264
#define SPRITE_Y_MAX   200
#define SCREEN_SPRITE_RATIO_X   100
#define SCREEN_SPRITE_RATIO_Y   100
#define SCREEN_BORDER_X   0
#define SCREEN_BORDER_Y   0
#define IMAGE_WIDTH_SIZE   2
#define IMAGE_WIDTH_OFFSET   0
#define IMAGE_HEIGHT_SIZE   1
#define IMAGE_HEIGHT_OFFSET   2
#define DOUBLE_BUFFER_PAGE_0   0
#define DOUBLE_BUFFER_PAGE_1   1

Typedefs

typedef void(* Tms9918SliceImageFunction) (Environment *, char *, char *, char *, int, int, char *)

Functions

int tms9918_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void tms9918_initialization (Environment *_environment)
void tms9918_finalization (Environment *_environment)
void tms9918_back (Environment *_environment)
void tms9918_background_color (Environment *_environment, int _index, int _background_color)
 TMS9918: emit code to change background color
void tms9918_background_color_vars (Environment *_environment, char *_index, char *_background_color)
 TMS9918: emit code to change background color
void tms9918_background_color_semivars (Environment *_environment, int _index, char *_background_color)
 TMS9918: emit code to change background color
void tms9918_colors_vars (Environment *_environment, char *_foreground_color, char *_background_color)
void tms9918_background_color_get_vars (Environment *_environment, char *_index, char *_background_color)
 TMS9918: emit code to retrieve background color
void tms9918_border_color (Environment *_environment, char *_border_color)
 TMS9918: emit code to change border color
Variabletms9918_collision (Environment *_environment, char *_sprite)
 TMS9918: emit code to check for collision
void tms9918_hit (Environment *_environment, char *_sprite_mask, char *_result)
 TMS9918: emit code to check for collision
void tms9918_next_raster (Environment *_environment)
 TMS9918: emit code to wait for next raster irq
void tms9918_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 TMS9918: emit code to wait for next raster irq at different position
void tms9918_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 TMS9918: emit code to set raster irq
void tms9918_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 TMS9918: emit code to change common sprite's color
void tms9918_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void tms9918_bitmap_disable (Environment *_environment)
void tms9918_bitmap_at (Environment *_environment, char *_address)
void tms9918_colormap_at (Environment *_environment, char *_address)
void tms9918_textmap_at (Environment *_environment, char *_address)
void tms9918_tiles_at (Environment *_environment, char *_address)
void tms9918_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void tms9918_bank_select (Environment *_environment, int _bank)
void tms9918_screen_on (Environment *_environment)
void tms9918_screen_off (Environment *_environment)
void tms9918_screen_rows (Environment *_environment, char *_rows)
void tms9918_screen_columns (Environment *_environment, char *_columns)
void tms9918_sprite_data_from (Environment *_environment, char *_sprite, char *_image)
void tms9918_sprite_data_set (Environment *_environment, char *_sprite, char *_image)
void tms9918_sprite_enable (Environment *_environment, char *_sprite)
void tms9918_sprite_disable (Environment *_environment, char *_sprite)
void tms9918_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void tms9918_sprite_expand_vertical (Environment *_environment, char *_sprite)
void tms9918_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void tms9918_sprite_compress_vertical (Environment *_environment, char *_sprite)
void tms9918_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void tms9918_sprite_multicolor (Environment *_environment, char *_sprite)
void tms9918_sprite_monocolor (Environment *_environment, char *_sprite)
void tms9918_sprite_color (Environment *_environment, char *_sprite, char *_color)
void tms9918_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void tms9918_vertical_scroll (Environment *_environment, char *_displacement)
void tms9918_horizontal_scroll (Environment *_environment, char *_displacement)
void tms9918_busy_wait (Environment *_environment, char *_timing)
void tms9918_tiles_get (Environment *_environment, char *_result)
void tms9918_get_width (Environment *_environment, char *_result)
void tms9918_get_height (Environment *_environment, char *_result)
void tms9918_pset_int (Environment *_environment, int _x, int _y, int *_c)
void tms9918_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void tms9918_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void tms9918_cls (Environment *_environment)
void tms9918_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void tms9918_scroll_text (Environment *_environment, int _direction, int _overlap)
void tms9918_hscroll_line (Environment *_environment, int _direction, int _overlap)
void tms9918_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void tms9918_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void tms9918_cline (Environment *_environment, char *_characters)
void tms9918_scroll (Environment *_environment, int _dx, int _dy)
void tms9918_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
Variabletms9918_get_raster_line (Environment *_environment)
int tms9918_image_size (Environment *_environment, int _width, int _height, int _mode)
Variabletms9918_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)
Variabletms9918_sprite_converter (Environment *_environment, char *_data, int _width, int _height, int _depth, RGBi *_color, int _x_slot, int _y_slot)
void tms9918_put_image (Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
void tms9918_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 tms9918_wait_vbl (Environment *_environment)
Variabletms9918_new_image (Environment *_environment, int _width, int _height, int _mode)
Variabletms9918_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variabletms9918_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void tms9918_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void tms9918_put_tile (Environment *_environment, char *_image, char *_x, char *_y)
void tms9918_put_tiles (Environment *_environment, char *_image, char *_x, char *_y, char *_w, char *_h)
void tms9918_move_tiles (Environment *_environment, char *_image, char *_x, char *_y)
void tms9918_use_tileset (Environment *_environment, char *_tileset)
void tms9918_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void tms9918_move_memory_video (Environment *_environment, char *_from, char *_to, char *_size)
void tms9918_move_video_memory (Environment *_environment, char *_from, char *_to, char *_size)
void tms9918_move_video_video (Environment *_environment, char *_from, char *_to, char *_size)
void tms9918_slice_image_copy (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
void tms9918_slice_image_extract (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
int tms9918_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
void tms9918_flip_image (Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction)
void tms9918_screen (Environment *_environment, char *_x, char *_y, char *_c)

Macro Definition Documentation

◆ BITMAP_MODE_DEFAULT

#define BITMAP_MODE_DEFAULT   BITMAP_MODE_GRAPHIC2

Definition at line 105 of file tms9918.h.

◆ BITMAP_MODE_GRAPHIC2

#define BITMAP_MODE_GRAPHIC2   2

Definition at line 101 of file tms9918.h.

◆ BITMAP_MODE_MULTICOLOR

#define BITMAP_MODE_MULTICOLOR   3

Definition at line 102 of file tms9918.h.

◆ BITMAP_MODE_STANDARD

#define BITMAP_MODE_STANDARD   BITMAP_MODE_GRAPHIC2

Definition at line 103 of file tms9918.h.

◆ COLOR_BLACK

#define COLOR_BLACK   0x01

Definition at line 60 of file tms9918.h.

◆ COLOR_BLUE

#define COLOR_BLUE   0x07

Definition at line 73 of file tms9918.h.

◆ COLOR_BROWN

#define COLOR_BROWN   0x06

Definition at line 77 of file tms9918.h.

◆ COLOR_COUNT

#define COLOR_COUNT   16

Definition at line 91 of file tms9918.h.

◆ COLOR_CYAN

#define COLOR_CYAN   0x07

Definition at line 67 of file tms9918.h.

◆ COLOR_DARK_BLUE

#define COLOR_DARK_BLUE   0x04

Definition at line 72 of file tms9918.h.

◆ COLOR_DARK_GREEN

#define COLOR_DARK_GREEN   0x02

Definition at line 69 of file tms9918.h.

◆ COLOR_DARK_GREY

#define COLOR_DARK_GREY   0x0e

Definition at line 78 of file tms9918.h.

◆ COLOR_DARK_RED

#define COLOR_DARK_RED   0x06

Definition at line 64 of file tms9918.h.

◆ COLOR_DARK_WHITE

#define COLOR_DARK_WHITE   0x0e

Definition at line 61 of file tms9918.h.

◆ COLOR_GOLD

#define COLOR_GOLD   0x0a

Definition at line 84 of file tms9918.h.

◆ COLOR_GREEN

#define COLOR_GREEN   0x02

Definition at line 70 of file tms9918.h.

◆ COLOR_GREY

#define COLOR_GREY   0x0e

Definition at line 79 of file tms9918.h.

◆ COLOR_LAVENDER

#define COLOR_LAVENDER   COLOR_VIOLET

Definition at line 83 of file tms9918.h.

◆ COLOR_LIGHT_BLUE

#define COLOR_LIGHT_BLUE   0x05

Definition at line 74 of file tms9918.h.

◆ COLOR_LIGHT_GREEN

#define COLOR_LIGHT_GREEN   0x03

Definition at line 71 of file tms9918.h.

◆ COLOR_LIGHT_GREY

#define COLOR_LIGHT_GREY   0x0e

Definition at line 80 of file tms9918.h.

◆ COLOR_LIGHT_RED

#define COLOR_LIGHT_RED   0x09

Definition at line 66 of file tms9918.h.

◆ COLOR_LIGHT_WHITE

#define COLOR_LIGHT_WHITE   COLOR_WHITE

Definition at line 63 of file tms9918.h.

◆ COLOR_MAGENTA

#define COLOR_MAGENTA   0x0d

Definition at line 81 of file tms9918.h.

◆ COLOR_OLIVE_GREEN

#define COLOR_OLIVE_GREEN   0x0c

Definition at line 88 of file tms9918.h.

◆ COLOR_ORANGE

#define COLOR_ORANGE   0x09

Definition at line 76 of file tms9918.h.

◆ COLOR_PEACH

#define COLOR_PEACH   COLOR_PINK

Definition at line 90 of file tms9918.h.

◆ COLOR_PINK

#define COLOR_PINK   COLOR_LIGHT_RED

Definition at line 89 of file tms9918.h.

◆ COLOR_PURPLE

#define COLOR_PURPLE   COLOR_VIOLET

Definition at line 82 of file tms9918.h.

◆ COLOR_RED

#define COLOR_RED   0x08

Definition at line 65 of file tms9918.h.

◆ COLOR_TAN

#define COLOR_TAN   COLOR_BROWN

Definition at line 86 of file tms9918.h.

◆ COLOR_TRANSPARENT

#define COLOR_TRANSPARENT   0x00

Definition at line 59 of file tms9918.h.

◆ COLOR_TURQUOISE

#define COLOR_TURQUOISE   COLOR_LIGHT_BLUE

Definition at line 85 of file tms9918.h.

◆ COLOR_VIOLET

#define COLOR_VIOLET   0x0d

Definition at line 68 of file tms9918.h.

◆ COLOR_WHITE

#define COLOR_WHITE   0x0f

Definition at line 62 of file tms9918.h.

◆ COLOR_YELLOW

#define COLOR_YELLOW   0x0b

Definition at line 75 of file tms9918.h.

◆ COLOR_YELLOW_GREEN

#define COLOR_YELLOW_GREEN   0x03

Definition at line 87 of file tms9918.h.

◆ DEFAULT_PAPER_COLOR

#define DEFAULT_PAPER_COLOR   COLOR_BLACK

Definition at line 94 of file tms9918.h.

◆ DEFAULT_PEN_COLOR

#define DEFAULT_PEN_COLOR   COLOR_WHITE

Definition at line 93 of file tms9918.h.

◆ DOUBLE_BUFFER_PAGE_0

#define DOUBLE_BUFFER_PAGE_0   0

Definition at line 125 of file tms9918.h.

◆ DOUBLE_BUFFER_PAGE_1

#define DOUBLE_BUFFER_PAGE_1   1

Definition at line 126 of file tms9918.h.

◆ IMAGE_HEIGHT_OFFSET

#define IMAGE_HEIGHT_OFFSET   2

Definition at line 123 of file tms9918.h.

◆ IMAGE_HEIGHT_SIZE

#define IMAGE_HEIGHT_SIZE   1

Definition at line 122 of file tms9918.h.

◆ IMAGE_WIDTH_OFFSET

#define IMAGE_WIDTH_OFFSET   0

Definition at line 121 of file tms9918.h.

◆ IMAGE_WIDTH_SIZE

#define IMAGE_WIDTH_SIZE   2

Definition at line 120 of file tms9918.h.

◆ SCREEN_BORDER_X

#define SCREEN_BORDER_X   0

Definition at line 117 of file tms9918.h.

◆ SCREEN_BORDER_Y

#define SCREEN_BORDER_Y   0

Definition at line 118 of file tms9918.h.

◆ SCREEN_SPRITE_RATIO_X

#define SCREEN_SPRITE_RATIO_X   100

Definition at line 115 of file tms9918.h.

◆ SCREEN_SPRITE_RATIO_Y

#define SCREEN_SPRITE_RATIO_Y   100

Definition at line 116 of file tms9918.h.

◆ SPRITE_COUNT

#define SPRITE_COUNT   32

Definition at line 107 of file tms9918.h.

◆ SPRITE_HEIGHT

#define SPRITE_HEIGHT   8

Definition at line 109 of file tms9918.h.

◆ SPRITE_WIDTH

#define SPRITE_WIDTH   8

Definition at line 108 of file tms9918.h.

◆ SPRITE_X_MAX

#define SPRITE_X_MAX   264

Definition at line 112 of file tms9918.h.

◆ SPRITE_X_MIN

#define SPRITE_X_MIN   0

Definition at line 110 of file tms9918.h.

◆ SPRITE_Y_MAX

#define SPRITE_Y_MAX   200

Definition at line 113 of file tms9918.h.

◆ SPRITE_Y_MIN

#define SPRITE_Y_MIN   0

Definition at line 111 of file tms9918.h.

◆ TEXT_COLUMNS_COUNT

#define TEXT_COLUMNS_COUNT   40

Definition at line 96 of file tms9918.h.

◆ TEXT_ROWS_COUNT

#define TEXT_ROWS_COUNT   25

Definition at line 97 of file tms9918.h.

◆ TILEMAP_MODE_GRAPHIC1

#define TILEMAP_MODE_GRAPHIC1   1

Definition at line 100 of file tms9918.h.

◆ TILEMAP_MODE_STANDARD

#define TILEMAP_MODE_STANDARD   0

Definition at line 99 of file tms9918.h.

◆ VDP_R0

#define VDP_R0   0x80

Definition at line 36 of file tms9918.h.

◆ VDP_R1

#define VDP_R1   0x81

Definition at line 37 of file tms9918.h.

◆ VDP_RCOLOR

#define VDP_RCOLOR   0x87

Definition at line 43 of file tms9918.h.

◆ VDP_RCOLORTABLE

#define VDP_RCOLORTABLE   0x83

Definition at line 39 of file tms9918.h.

◆ VDP_RNAME

#define VDP_RNAME   0x82

Definition at line 38 of file tms9918.h.

◆ VDP_RPATTERN

#define VDP_RPATTERN   0x84

Definition at line 40 of file tms9918.h.

◆ VDP_RSPRITEA

#define VDP_RSPRITEA   0x85

Definition at line 41 of file tms9918.h.

◆ VDP_RSPRITEP

#define VDP_RSPRITEP   0x86

Definition at line 42 of file tms9918.h.

◆ WVDP

#define WVDP ( r,
v )
Value:
outline1("LD A, $%2.2x", ( r & 0xff ) ); \
outline0("LD E, A" ); \
outline1("LD A, $%2.2x", ( v & 0xff ) ); \
outline0("CALL VDPSETREG" );
#define outline1(s, a)
Definition ugbc.h:4253

Definition at line 45 of file tms9918.h.

◆ WVDP_R0

#define WVDP_R0 ( v)
Value:
WVDP( VDP_R0, v )
#define VDP_R0
Definition tms9918.h:36
#define WVDP(r, v)
Definition tms9918.h:45

Definition at line 50 of file tms9918.h.

◆ WVDP_R1

#define WVDP_R1 ( v)
Value:
WVDP( VDP_R1, v )
#define VDP_R1
Definition tms9918.h:37

Definition at line 51 of file tms9918.h.

◆ WVDP_RCOLOR

#define WVDP_RCOLOR ( v)
Value:
#define VDP_RCOLOR
Definition tms9918.h:43

Definition at line 57 of file tms9918.h.

◆ WVDP_RCOLORTABLE

#define WVDP_RCOLORTABLE ( v)
Value:
#define VDP_RCOLORTABLE
Definition tms9918.h:39

Definition at line 53 of file tms9918.h.

◆ WVDP_RNAME

#define WVDP_RNAME ( v)
Value:
#define VDP_RNAME
Definition tms9918.h:38

Definition at line 52 of file tms9918.h.

◆ WVDP_RPATTERN

#define WVDP_RPATTERN ( v)
Value:
#define VDP_RPATTERN
Definition tms9918.h:40

Definition at line 54 of file tms9918.h.

◆ WVDP_RSPRITEA

#define WVDP_RSPRITEA ( v)
Value:
#define VDP_RSPRITEA
Definition tms9918.h:41

Definition at line 55 of file tms9918.h.

◆ WVDP_RSPRITEP

#define WVDP_RSPRITEP ( v)
Value:
#define VDP_RSPRITEP
Definition tms9918.h:42

Definition at line 56 of file tms9918.h.

Typedef Documentation

◆ Tms9918SliceImageFunction

typedef void(* Tms9918SliceImageFunction) (Environment *, char *, char *, char *, int, int, char *)

Definition at line 220 of file tms9918.h.

Function Documentation

◆ tms9918_back()

void tms9918_back ( Environment * _environment)

Definition at line 1729 of file tms9918.c.

◆ tms9918_background_color()

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

TMS9918: 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 384 of file tms9918.c.

◆ tms9918_background_color_get_vars()

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

TMS9918: 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 459 of file tms9918.c.

◆ tms9918_background_color_semivars()

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

TMS9918: 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 432 of file tms9918.c.

◆ tms9918_background_color_vars()

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

TMS9918: 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 402 of file tms9918.c.

◆ tms9918_bank_select()

void tms9918_bank_select ( Environment * _environment,
int _bank )

Definition at line 569 of file tms9918.c.

◆ tms9918_bitmap_at()

void tms9918_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 981 of file tms9918.c.

◆ tms9918_bitmap_disable()

void tms9918_bitmap_disable ( Environment * _environment)

Definition at line 948 of file tms9918.c.

◆ tms9918_bitmap_enable()

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

Definition at line 926 of file tms9918.c.

◆ tms9918_blit_image()

void tms9918_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 2254 of file tms9918.c.

◆ tms9918_border_color()

void tms9918_border_color ( Environment * _environment,
char * _border_color )

TMS9918: 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 343 of file tms9918.c.

◆ tms9918_busy_wait()

void tms9918_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 1329 of file tms9918.c.

◆ tms9918_calculate_sequence_frame_offset()

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

Definition at line 2752 of file tms9918.c.

◆ tms9918_cline()

void tms9918_cline ( Environment * _environment,
char * _characters )

Definition at line 1741 of file tms9918.c.

◆ tms9918_cls()

void tms9918_cls ( Environment * _environment)

Definition at line 1365 of file tms9918.c.

◆ tms9918_cls_box()

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

Definition at line 1385 of file tms9918.c.

◆ tms9918_collision()

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

TMS9918: 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 298 of file tms9918.c.

◆ tms9918_colormap_at()

void tms9918_colormap_at ( Environment * _environment,
char * _address )

Definition at line 985 of file tms9918.c.

◆ tms9918_colors_vars()

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

Definition at line 2655 of file tms9918.c.

◆ tms9918_finalization()

void tms9918_finalization ( Environment * _environment)

Definition at line 1684 of file tms9918.c.

◆ tms9918_flip_image()

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

Definition at line 2803 of file tms9918.c.

◆ tms9918_get_height()

void tms9918_get_height ( Environment * _environment,
char * _result )

Definition at line 1358 of file tms9918.c.

◆ tms9918_get_image()

void tms9918_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 2446 of file tms9918.c.

◆ tms9918_get_raster_line()

Variable * tms9918_get_raster_line ( Environment * _environment)

Definition at line 2627 of file tms9918.c.

◆ tms9918_get_width()

void tms9918_get_width ( Environment * _environment,
char * _result )

Definition at line 1344 of file tms9918.c.

◆ tms9918_hit()

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

TMS9918: 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 328 of file tms9918.c.

◆ tms9918_horizontal_scroll()

void tms9918_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 1325 of file tms9918.c.

◆ tms9918_hscroll_line()

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

Definition at line 1701 of file tms9918.c.

◆ tms9918_hscroll_screen()

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

Definition at line 1716 of file tms9918.c.

◆ tms9918_image_converter()

Variable * tms9918_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 2092 of file tms9918.c.

◆ tms9918_image_size()

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

Definition at line 1779 of file tms9918.c.

◆ tms9918_initialization()

void tms9918_initialization ( Environment * _environment)

Definition at line 1491 of file tms9918.c.

◆ tms9918_move_memory_video()

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

Definition at line 2637 of file tms9918.c.

◆ tms9918_move_tiles()

void tms9918_move_tiles ( Environment * _environment,
char * _image,
char * _x,
char * _y )

Definition at line 2513 of file tms9918.c.

◆ tms9918_move_video_memory()

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

Definition at line 2646 of file tms9918.c.

◆ tms9918_move_video_video()

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

◆ tms9918_new_image()

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

Definition at line 2351 of file tms9918.c.

◆ tms9918_new_images()

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

Definition at line 2377 of file tms9918.c.

◆ tms9918_new_sequence()

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

Definition at line 2411 of file tms9918.c.

◆ tms9918_next_raster()

void tms9918_next_raster ( Environment * _environment)

TMS9918: 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 548 of file tms9918.c.

◆ tms9918_next_raster_at()

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

TMS9918: 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 565 of file tms9918.c.

◆ tms9918_palette_extract()

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

Definition at line 2738 of file tms9918.c.

◆ tms9918_pget_color_vars()

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

Definition at line 1054 of file tms9918.c.

◆ tms9918_pset_int()

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

Definition at line 993 of file tms9918.c.

◆ tms9918_pset_vars()

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

Definition at line 1021 of file tms9918.c.

◆ tms9918_put_image()

void tms9918_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 2313 of file tms9918.c.

◆ tms9918_put_tile()

void tms9918_put_tile ( Environment * _environment,
char * _image,
char * _x,
char * _y )

Definition at line 2488 of file tms9918.c.

◆ tms9918_put_tiles()

void tms9918_put_tiles ( Environment * _environment,
char * _image,
char * _x,
char * _y,
char * _w,
char * _h )

Definition at line 2559 of file tms9918.c.

◆ tms9918_raster_at()

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

TMS9918: 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 534 of file tms9918.c.

◆ tms9918_screen()

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

Definition at line 2824 of file tms9918.c.

◆ tms9918_screen_columns()

void tms9918_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 1136 of file tms9918.c.

◆ tms9918_screen_mode_enable()

int tms9918_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 596 of file tms9918.c.

◆ tms9918_screen_off()

void tms9918_screen_off ( Environment * _environment)

Definition at line 1106 of file tms9918.c.

◆ tms9918_screen_on()

void tms9918_screen_on ( Environment * _environment)

Definition at line 1080 of file tms9918.c.

◆ tms9918_screen_rows()

void tms9918_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 1132 of file tms9918.c.

◆ tms9918_scroll()

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

Definition at line 2472 of file tms9918.c.

◆ tms9918_scroll_text()

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

Definition at line 1405 of file tms9918.c.

◆ tms9918_slice_image_copy()

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

Definition at line 2692 of file tms9918.c.

◆ tms9918_slice_image_extract()

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

Definition at line 2712 of file tms9918.c.

◆ tms9918_sprite_at()

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

Definition at line 1208 of file tms9918.c.

◆ tms9918_sprite_color()

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

Definition at line 1294 of file tms9918.c.

◆ tms9918_sprite_common_color()

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

TMS9918: 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 482 of file tms9918.c.

◆ tms9918_sprite_compress_horizontal()

void tms9918_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 1272 of file tms9918.c.

◆ tms9918_sprite_compress_vertical()

void tms9918_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 1258 of file tms9918.c.

◆ tms9918_sprite_converter()

Variable * tms9918_sprite_converter ( Environment * _environment,
char * _data,
int _width,
int _height,
int _depth,
RGBi * _color,
int _x_slot,
int _y_slot )

Definition at line 1919 of file tms9918.c.

◆ tms9918_sprite_data_from()

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

Definition at line 1158 of file tms9918.c.

◆ tms9918_sprite_data_set()

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

Definition at line 1140 of file tms9918.c.

◆ tms9918_sprite_disable()

void tms9918_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 1192 of file tms9918.c.

◆ tms9918_sprite_enable()

void tms9918_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 1176 of file tms9918.c.

◆ tms9918_sprite_expand_horizontal()

void tms9918_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 1244 of file tms9918.c.

◆ tms9918_sprite_expand_vertical()

void tms9918_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 1230 of file tms9918.c.

◆ tms9918_sprite_monocolor()

void tms9918_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 1290 of file tms9918.c.

◆ tms9918_sprite_multicolor()

void tms9918_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 1286 of file tms9918.c.

◆ tms9918_sprite_priority()

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

Definition at line 1313 of file tms9918.c.

◆ tms9918_text()

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

Definition at line 1425 of file tms9918.c.

◆ tms9918_textmap_at()

void tms9918_textmap_at ( Environment * _environment,
char * _address )

Definition at line 989 of file tms9918.c.

◆ tms9918_tile_at()

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

Definition at line 2591 of file tms9918.c.

◆ tms9918_tilemap_enable()

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

Definition at line 954 of file tms9918.c.

◆ tms9918_tiles_at()

void tms9918_tiles_at ( Environment * _environment,
char * _address )

Definition at line 1317 of file tms9918.c.

◆ tms9918_tiles_get()

void tms9918_tiles_get ( Environment * _environment,
char * _result )

Definition at line 1351 of file tms9918.c.

◆ tms9918_use_tileset()

void tms9918_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 2612 of file tms9918.c.

◆ tms9918_vertical_scroll()

void tms9918_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 1321 of file tms9918.c.

◆ tms9918_wait_vbl()

void tms9918_wait_vbl ( Environment * _environment)

Definition at line 2342 of file tms9918.c.