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

Go to the source code of this file.

Macros

#define KEY_NONE   255
#define KEY_0   32
#define KEY_1   64
#define KEY_2   65
#define KEY_3   57
#define KEY_4   56
#define KEY_5   49
#define KEY_6   48
#define KEY_7   41
#define KEY_8   40
#define KEY_9   33
#define KEY_A   69
#define KEY_ASTERISK   0xfe
#define KEY_AT   0xfe
#define KEY_B   54
#define KEY_C   62
#define KEY_CLEAR   0xfe
#define KEY_COLON   0xfe
#define KEY_COMMA   38
#define KEY_COMMODORE   0xfe
#define KEY_CONTROL   23
#define KEY_CRSR_LEFT_RIGHT   0xfe
#define KEY_CRSR_UP_DOWN   0xfe
#define KEY_D   61
#define KEY_DELETE   24
#define KEY_E   58
#define KEY_EQUAL   0xfe
#define KEY_F   53
#define KEY_F1   0xfe
#define KEY_F2   0xfe
#define KEY_F3   0xfe
#define KEY_F4   0xfe
#define KEY_F5   0xfe
#define KEY_F6   0xfe
#define KEY_F7   0xfe
#define KEY_F8   0xfe
#define KEY_G   52
#define KEY_H   44
#define KEY_HOME   0xfe
#define KEY_I   35
#define KEY_INSERT   0xfe
#define KEY_J   45
#define KEY_K   37
#define KEY_L   36
#define KEY_LEFT_ARROW   0xfe
#define KEY_LEFT_SHIFT   21
#define KEY_M   38
#define KEY_MINUS   0xfe
#define KEY_N   46
#define KEY_O   34
#define KEY_P   27
#define KEY_PERIOD   39
#define KEY_PLUS   32
#define KEY_POUND   0xfe
#define KEY_Q   67
#define KEY_R   50
#define KEY_RETURN   18
#define KEY_RIGHT_SHIFT   21
#define KEY_RUNSTOP   0xfe
#define KEY_S   60
#define KEY_SEMICOLON   0xfe
#define KEY_SLASH   0xfe
#define KEY_SPACE   47
#define KEY_T   51
#define KEY_U   42
#define KEY_UP_ARROW   8
#define KEY_V   55
#define KEY_W   59
#define KEY_X   63
#define KEY_Y   43
#define KEY_Z   71
#define KEY_BACKSLASH   19
#define KEY_SQUARE_OPEN   0xfe
#define KEY_SQUARE_CLOSED   0xfe
#define KEY_SEMICOMMA   0xfe
#define KEY_QUOTE   0xfe
#define KEY_APIX   0xfe
#define KEY_DEAD   0xfe
#define KEY_SHIFT   21
#define KEY_CTRL   23
#define KEY_GRAPH   0xfe
#define KEY_CAPS   70
#define KEY_CODE   0xfe
#define KEY_ESC   66
#define KEY_TAB   68
#define KEY_STOP   0xfe
#define KEY_BS   79
#define KEY_SELECT   0xfe
#define KEY_RET   0xfe
#define KEY_INS   0xfe
#define KEY_DEL   24
#define KEY_LEFT   8
#define KEY_UP   0
#define KEY_DOWN   2
#define KEY_RIGHT   1
#define KEY_DIVISION   0xfe
#define KEYBOARD_CONFIG_DEFAULT_SYNC   1
#define INPUT_DEFAULT_SEPARATOR   ','
#define INPUT_DEFAULT_SIZE   32
#define INPUT_DEFAULT_CURSOR   95
#define INPUT_DEFAULT_RATE   16
#define INPUT_DEFAULT_DELAY   16
#define SCREEN_CAPABILITIES   ( ( 1<<BITMAP_NATIVE ) )
#define JOY_COUNT   2
#define JOY_UP   0
#define JOY_DOWN   1
#define JOY_LEFT   2
#define JOY_RIGHT   3
#define JOY_FIRE   4
#define JOYSTICK_CONFIG_DEFAULT_SYNC   1
#define DEFAULT_PAINT_BUCKET_SIZE   1024
#define BANK_COUNT   0
#define BANK_SIZE   0
#define BANK_BASE_ADDRESS   0
#define DSTRING_DEFAULT_COUNT   255
#define DSTRING_DEFAULT_SPACE   1024
#define COLOR_BLACK   0x14
#define COLOR_DARK_BLUE   0x04
#define COLOR_BLUE   0x04
#define COLOR_LIGHT_BLUE   0x15
#define COLOR_DARK_RED   0x1c
#define COLOR_RED   0x1c
#define COLOR_LIGHT_RED   0x0c
#define COLOR_MAGENTA   0x18
#define COLOR_MAUVE   0x1d
#define COLOR_PURPLE   0x05
#define COLOR_LIGHT_MAGENTA   0x0d
#define COLOR_DARK_GREEN   0x16
#define COLOR_GREEN   0x16
#define COLOR_LIGHT_GREEN   0x12
#define COLOR_CYAN   0x06
#define COLOR_DARK_CYAN   0x06
#define COLOR_YELLOW   0x1e
#define COLOR_PASTEL_BLUE   0x1f
#define COLOR_ORANGE   0x0e
#define COLOR_PINK   0x07
#define COLOR_PASTEL_MAGENTA   0x0f
#define COLOR_SEA_GREEN   0x02
#define COLOR_LIGHT_CYAN   0x13
#define COLOR_LIME   0x1a
#define COLOR_PASTEL_GREEN   0x19
#define COLOR_PASTEL_CYAN   0x1b
#define COLOR_LIGHT_YELLOW   0x0a
#define COLOR_PASTEL_YELLOW   0x03
#define COLOR_DARK_WHITE   0x00
#define COLOR_WHITE   0x00
#define COLOR_LIGHT_WHITE   0x0b
#define COLOR_VIOLET   COLOR_PURPLE
#define COLOR_BROWN   COLOR_RED
#define COLOR_DARK_GREY   COLOR_BLACK
#define COLOR_GREY   COLOR_WHITE
#define COLOR_LIGHT_GREY   COLOR_WHITE
#define COLOR_LAVENDER   COLOR_VIOLET
#define COLOR_GOLD   COLOR_YELLOW
#define COLOR_TURQUOISE   COLOR_LIGHT_BLUE
#define COLOR_TAN   COLOR_BROWN
#define COLOR_YELLOW_GREEN   COLOR_YELLOW
#define COLOR_OLIVE_GREEN   COLOR_PASTEL_GREEN
#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   20
#define TEXT_ROWS_COUNT   24
#define BITMAP_MODE_GRAPHIC0   0
#define BITMAP_MODE_GRAPHIC1   1
#define BITMAP_MODE_GRAPHIC2   2
#define BITMAP_MODE_GRAPHIC3   3
#define BITMAP_MODE_DEFAULT   BITMAP_MODE_GRAPHIC2
#define BITMAP_MODE_STANDARD   BITMAP_MODE_DEFAULT
#define SPRITE_COUNT   0
#define SPRITE_WIDTH   0
#define SPRITE_HEIGHT   0
#define SPRITE_X_MIN   0
#define SPRITE_Y_MIN   0
#define SPRITE_X_MAX   0
#define SPRITE_Y_MAX   0
#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
#define MAX_AUDIO_CHANNELS   3 /* 4 channel is noise! */
#define CPC_GA_MASK(mask, value)

Typedefs

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

Functions

void cpc_wait_key (Environment *_environment, int _release)
void cpc_wait_fire (Environment *_environment, int _port, int _release)
void cpc_wait_fire_semivar (Environment *_environment, char *_port, int _release)
void cpc_wait_key_or_fire (Environment *_environment, int _port, int _release)
void cpc_wait_key_or_fire_semivar (Environment *_environment, char *_port, int _release)
void cpc_key_state (Environment *_environment, char *_scancode, char *_result)
void cpc_scancode (Environment *_environment, char *_scacode)
void cpc_asciicode (Environment *_environment, char *_asciicode)
void cpc_inkey (Environment *_environment, char *_key)
void cpc_key_pressed (Environment *_environment, char *_scancode, char *_result)
void cpc_scanshift (Environment *_environment, char *_shifts)
void cpc_keyshift (Environment *_environment, char *_shifts)
void cpc_clear_key (Environment *_environment)
void cpc_put_key (Environment *_environment, char *_string, char *_size)
void cpc_joy (Environment *_environment, int _port, char *_value)
void cpc_joy_vars (Environment *_environment, char *_port, char *_value)
int cpc_screen_mode_enable (Environment *_environment, ScreenMode *_screen_mode)
void cpc_initialization (Environment *_environment)
void cpc_finalization (Environment *_environment)
void cpc_back (Environment *_environment)
void cpc_background_color (Environment *_environment, int _index, int _background_color)
 cpc: emit code to change background color
void cpc_background_color_vars (Environment *_environment, char *_index, char *_background_color)
 cpc: emit code to change background color
void cpc_background_color_semivars (Environment *_environment, int _index, char *_background_color)
 cpc: emit code to change background color
void cpc_colors_vars (Environment *_environment, char *_foreground_color, char *_background_color)
void cpc_background_color_get_vars (Environment *_environment, char *_index, char *_background_color)
 cpc: emit code to retrieve background color
void cpc_border_color (Environment *_environment, char *_border_color)
 cpc: emit code to change border color
Variablecpc_collision (Environment *_environment, char *_sprite)
 cpc: emit code to check for collision
void cpc_hit (Environment *_environment, char *_sprite_mask, char *_result)
 cpc: emit code to check for collision
void cpc_next_raster (Environment *_environment)
 cpc: emit code to wait for next raster irq
void cpc_next_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 cpc: emit code to wait for next raster irq at different position
void cpc_raster_at (Environment *_environment, char *_label, char *_positionlo, char *_positionhi)
 cpc: emit code to set raster irq
void cpc_sprite_common_color (Environment *_environment, char *_index, char *_common_color)
 cpc: emit code to change common sprite's color
void cpc_bitmap_enable (Environment *_environment, int _width, int _height, int _colors)
void cpc_bitmap_disable (Environment *_environment)
void cpc_bitmap_at (Environment *_environment, char *_address)
void cpc_colormap_at (Environment *_environment, char *_address)
void cpc_textmap_at (Environment *_environment, char *_address)
void cpc_tiles_at (Environment *_environment, char *_address)
void cpc_tilemap_enable (Environment *_environment, int _width, int _height, int _colors, int _tile_width, int _tile_height)
void cpc_fade (Environment *_environment, char *_ticks)
void cpc_bank_select (Environment *_environment, int _bank)
void cpc_screen_on (Environment *_environment)
void cpc_screen_off (Environment *_environment)
void cpc_screen_rows (Environment *_environment, char *_rows)
void cpc_screen_columns (Environment *_environment, char *_columns)
void cpc_sprite_data_from (Environment *_environment, char *_sprite, char *_address)
void cpc_sprite_data_set (Environment *_environment, char *_sprite, char *_address)
void cpc_sprite_enable (Environment *_environment, char *_sprite)
void cpc_sprite_disable (Environment *_environment, char *_sprite)
void cpc_sprite_at (Environment *_environment, char *_sprite, char *_x, char *_y)
void cpc_sprite_expand_vertical (Environment *_environment, char *_sprite)
void cpc_sprite_expand_horizontal (Environment *_environment, char *_sprite)
void cpc_sprite_compress_vertical (Environment *_environment, char *_sprite)
void cpc_sprite_compress_horizontal (Environment *_environment, char *_sprite)
void cpc_sprite_multicolor (Environment *_environment, char *_sprite)
void cpc_sprite_monocolor (Environment *_environment, char *_sprite)
void cpc_sprite_color (Environment *_environment, char *_sprite, char *_color)
void cpc_sprite_priority (Environment *_environment, char *_sprite, char *_priority)
void cpc_vertical_scroll (Environment *_environment, char *_displacement)
void cpc_horizontal_scroll (Environment *_environment, char *_displacement)
void cpc_busy_wait (Environment *_environment, char *_timing)
void cpc_tiles_get (Environment *_environment, char *_result)
void cpc_get_width (Environment *_environment, char *_result)
void cpc_get_height (Environment *_environment, char *_result)
void cpc_pset_int (Environment *_environment, int _x, int _y, int *_c)
void cpc_pset_vars (Environment *_environment, char *_x, char *_y, char *_c)
void cpc_pget_color_vars (Environment *_environment, char *_x, char *_y, char *_result)
void cpc_cls (Environment *_environment)
void cpc_cls_box (Environment *_environment, char *_x1, char *_y1, char *_w, char *_h)
void cpc_scroll_text (Environment *_environment, int _direction, int _overlap)
void cpc_hscroll_line (Environment *_environment, int _direction, int _overlap)
void cpc_hscroll_screen (Environment *_environment, int _direction, int _overlap)
void cpc_text (Environment *_environment, char *_text, char *_text_size, int _raw)
void cpc_cline (Environment *_environment, char *_characters)
void cpc_scroll (Environment *_environment, int _dx, int _dy)
Variablecpc_get_raster_line (Environment *_environment)
int cpc_image_size (Environment *_environment, int _width, int _height, int _mode)
Variablecpc_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)
Variablecpc_sprite_converter (Environment *_environment, char *_data, int _width, int _height, int _depth, RGBi *_color)
void cpc_put_image (Environment *_environment, Resource *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_flags)
void cpc_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 cpc_wait_vbl (Environment *_environment, char *_raster_line)
Variablecpc_new_image (Environment *_environment, int _width, int _height, int _mode)
Variablecpc_new_images (Environment *_environment, int _frames, int _width, int _height, int _mode)
Variablecpc_new_sequence (Environment *_environment, int _sequences, int _frames, int _width, int _height, int _mode)
void cpc_get_image (Environment *_environment, char *_image, char *_x, char *_y, char *_frame, char *_sequence, int _frame_size, int _frame_count, int _palette)
void cpc_put_tile (Environment *_environment, char *_image, char *_x, char *_y)
void cpc_put_tiles (Environment *_environment, char *_image, char *_x, char *_y, char *_w, char *_h)
void cpc_move_tiles (Environment *_environment, char *_image, char *_x, char *_y)
void cpc_use_tileset (Environment *_environment, char *_tileset)
void cpc_tile_at (Environment *_environment, char *_x, char *_y, char *_result)
void cpc_move_memory_video (Environment *_environment, char *_from, char *_to, char *_size)
void cpc_move_video_memory (Environment *_environment, char *_from, char *_to, char *_size)
void cpc_move_video_video (Environment *_environment, char *_from, char *_to, char *_size)
void cpc_slice_image_copy (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
void cpc_slice_image_extract (Environment *_environment, char *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_destination)
void cpc_sys_call (Environment *_environment, int _destination)
int cpc_palette_extract (Environment *_environment, char *_data, int _width, int _height, int _depth, int _flags, RGBi *_palette)
void cpc_calculate_sequence_frame_offset (Environment *_environment, char *_offset, char *_sequence, char *_frame, int _frame_size, int _frame_count)
void cpc_timer_set_status_on (Environment *_environment, char *_timer)
void cpc_timer_set_status_off (Environment *_environment, char *_timer)
void cpc_timer_set_counter (Environment *_environment, char *_timer, char *_counter)
void cpc_timer_set_init (Environment *_environment, char *_timer, char *_init)
void cpc_timer_set_address (Environment *_environment, char *_timer, char *_address)
void cpc_dload (Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
void cpc_dsave (Environment *_environment, char *_filename, char *_offset, char *_address, char *_size)
void cpc_flip_image (Environment *_environment, Resource *_image, char *_frame, char *_sequence, int _frame_size, int _frame_count, char *_direction)
void cpc_flash_begin (Environment *_environment, char *_index, char *_register)
void cpc_flash_register (Environment *_environment, char *_index, char *_timer, char *_color)
void cpc_flash_end (Environment *_environment)
void cpc_flash_off (Environment *_environment, char *_index)
void cpc_chain (Environment *_environment, char *_filename)

Macro Definition Documentation

◆ BANK_BASE_ADDRESS

#define BANK_BASE_ADDRESS   0

Definition at line 157 of file cpc.h.

◆ BANK_COUNT

#define BANK_COUNT   0

Definition at line 155 of file cpc.h.

◆ BANK_SIZE

#define BANK_SIZE   0

Definition at line 156 of file cpc.h.

◆ BITMAP_MODE_DEFAULT

#define BITMAP_MODE_DEFAULT   BITMAP_MODE_GRAPHIC2

Definition at line 241 of file cpc.h.

◆ BITMAP_MODE_GRAPHIC0

#define BITMAP_MODE_GRAPHIC0   0

Definition at line 236 of file cpc.h.

◆ BITMAP_MODE_GRAPHIC1

#define BITMAP_MODE_GRAPHIC1   1

Definition at line 237 of file cpc.h.

◆ BITMAP_MODE_GRAPHIC2

#define BITMAP_MODE_GRAPHIC2   2

Definition at line 238 of file cpc.h.

◆ BITMAP_MODE_GRAPHIC3

#define BITMAP_MODE_GRAPHIC3   3

Definition at line 239 of file cpc.h.

◆ BITMAP_MODE_STANDARD

#define BITMAP_MODE_STANDARD   BITMAP_MODE_DEFAULT

Definition at line 242 of file cpc.h.

◆ COLOR_BLACK

#define COLOR_BLACK   0x14

Definition at line 182 of file cpc.h.

◆ COLOR_BLUE

#define COLOR_BLUE   0x04

Definition at line 184 of file cpc.h.

◆ COLOR_BROWN

#define COLOR_BROWN   COLOR_RED

Definition at line 217 of file cpc.h.

◆ COLOR_COUNT

#define COLOR_COUNT   16

Definition at line 228 of file cpc.h.

◆ COLOR_CYAN

#define COLOR_CYAN   0x06

Definition at line 196 of file cpc.h.

◆ COLOR_DARK_BLUE

#define COLOR_DARK_BLUE   0x04

Definition at line 183 of file cpc.h.

◆ COLOR_DARK_CYAN

#define COLOR_DARK_CYAN   0x06

Definition at line 197 of file cpc.h.

◆ COLOR_DARK_GREEN

#define COLOR_DARK_GREEN   0x16

Definition at line 193 of file cpc.h.

◆ COLOR_DARK_GREY

#define COLOR_DARK_GREY   COLOR_BLACK

Definition at line 218 of file cpc.h.

◆ COLOR_DARK_RED

#define COLOR_DARK_RED   0x1c

Definition at line 186 of file cpc.h.

◆ COLOR_DARK_WHITE

#define COLOR_DARK_WHITE   0x00

Definition at line 210 of file cpc.h.

◆ COLOR_GOLD

#define COLOR_GOLD   COLOR_YELLOW

Definition at line 222 of file cpc.h.

◆ COLOR_GREEN

#define COLOR_GREEN   0x16

Definition at line 194 of file cpc.h.

◆ COLOR_GREY

#define COLOR_GREY   COLOR_WHITE

Definition at line 219 of file cpc.h.

◆ COLOR_LAVENDER

#define COLOR_LAVENDER   COLOR_VIOLET

Definition at line 221 of file cpc.h.

◆ COLOR_LIGHT_BLUE

#define COLOR_LIGHT_BLUE   0x15

Definition at line 185 of file cpc.h.

◆ COLOR_LIGHT_CYAN

#define COLOR_LIGHT_CYAN   0x13

Definition at line 204 of file cpc.h.

◆ COLOR_LIGHT_GREEN

#define COLOR_LIGHT_GREEN   0x12

Definition at line 195 of file cpc.h.

◆ COLOR_LIGHT_GREY

#define COLOR_LIGHT_GREY   COLOR_WHITE

Definition at line 220 of file cpc.h.

◆ COLOR_LIGHT_MAGENTA

#define COLOR_LIGHT_MAGENTA   0x0d

Definition at line 192 of file cpc.h.

◆ COLOR_LIGHT_RED

#define COLOR_LIGHT_RED   0x0c

Definition at line 188 of file cpc.h.

◆ COLOR_LIGHT_WHITE

#define COLOR_LIGHT_WHITE   0x0b

Definition at line 212 of file cpc.h.

◆ COLOR_LIGHT_YELLOW

#define COLOR_LIGHT_YELLOW   0x0a

Definition at line 208 of file cpc.h.

◆ COLOR_LIME

#define COLOR_LIME   0x1a

Definition at line 205 of file cpc.h.

◆ COLOR_MAGENTA

#define COLOR_MAGENTA   0x18

Definition at line 189 of file cpc.h.

◆ COLOR_MAUVE

#define COLOR_MAUVE   0x1d

Definition at line 190 of file cpc.h.

◆ COLOR_OLIVE_GREEN

#define COLOR_OLIVE_GREEN   COLOR_PASTEL_GREEN

Definition at line 226 of file cpc.h.

◆ COLOR_ORANGE

#define COLOR_ORANGE   0x0e

Definition at line 200 of file cpc.h.

◆ COLOR_PASTEL_BLUE

#define COLOR_PASTEL_BLUE   0x1f

Definition at line 199 of file cpc.h.

◆ COLOR_PASTEL_CYAN

#define COLOR_PASTEL_CYAN   0x1b

Definition at line 207 of file cpc.h.

◆ COLOR_PASTEL_GREEN

#define COLOR_PASTEL_GREEN   0x19

Definition at line 206 of file cpc.h.

◆ COLOR_PASTEL_MAGENTA

#define COLOR_PASTEL_MAGENTA   0x0f

Definition at line 202 of file cpc.h.

◆ COLOR_PASTEL_YELLOW

#define COLOR_PASTEL_YELLOW   0x03

Definition at line 209 of file cpc.h.

◆ COLOR_PEACH

#define COLOR_PEACH   COLOR_PINK

Definition at line 227 of file cpc.h.

◆ COLOR_PINK

#define COLOR_PINK   0x07

Definition at line 201 of file cpc.h.

◆ COLOR_PURPLE

#define COLOR_PURPLE   0x05

Definition at line 191 of file cpc.h.

◆ COLOR_RED

#define COLOR_RED   0x1c

Definition at line 187 of file cpc.h.

◆ COLOR_SEA_GREEN

#define COLOR_SEA_GREEN   0x02

Definition at line 203 of file cpc.h.

◆ COLOR_TAN

#define COLOR_TAN   COLOR_BROWN

Definition at line 224 of file cpc.h.

◆ COLOR_TURQUOISE

#define COLOR_TURQUOISE   COLOR_LIGHT_BLUE

Definition at line 223 of file cpc.h.

◆ COLOR_VIOLET

#define COLOR_VIOLET   COLOR_PURPLE

Definition at line 216 of file cpc.h.

◆ COLOR_WHITE

#define COLOR_WHITE   0x00

Definition at line 211 of file cpc.h.

◆ COLOR_YELLOW

#define COLOR_YELLOW   0x1e

Definition at line 198 of file cpc.h.

◆ COLOR_YELLOW_GREEN

#define COLOR_YELLOW_GREEN   COLOR_YELLOW

Definition at line 225 of file cpc.h.

◆ CPC_GA_MASK

#define CPC_GA_MASK ( mask,
value )
Value:
outline0( "LD B, $7F" ) \
outline0( "LD A, (GAVALUE)" ); \
outline1( "AND A, $%2.2x", (unsigned char) ~( (unsigned char) mask & 0xff ) ); \
outline1( "OR A, $%2.2x", (unsigned char) ( (unsigned char) value & 0xff ) ); \
outline0( "LD (GAVALUE), A" ); \
outline0( "LD C, A" ); \
outline0( "OUT (C), C" );
#define outline0(s)
Definition ugbc.h:4252

Definition at line 281 of file cpc.h.

◆ DEFAULT_PAINT_BUCKET_SIZE

#define DEFAULT_PAINT_BUCKET_SIZE   1024

Definition at line 153 of file cpc.h.

◆ DEFAULT_PAPER_COLOR

#define DEFAULT_PAPER_COLOR   COLOR_BLACK

Definition at line 231 of file cpc.h.

◆ DEFAULT_PEN_COLOR

#define DEFAULT_PEN_COLOR   COLOR_WHITE

Definition at line 230 of file cpc.h.

◆ DOUBLE_BUFFER_PAGE_0

#define DOUBLE_BUFFER_PAGE_0   0

Definition at line 263 of file cpc.h.

◆ DOUBLE_BUFFER_PAGE_1

#define DOUBLE_BUFFER_PAGE_1   1

Definition at line 264 of file cpc.h.

◆ DSTRING_DEFAULT_COUNT

#define DSTRING_DEFAULT_COUNT   255

Definition at line 159 of file cpc.h.

◆ DSTRING_DEFAULT_SPACE

#define DSTRING_DEFAULT_SPACE   1024

Definition at line 160 of file cpc.h.

◆ IMAGE_HEIGHT_OFFSET

#define IMAGE_HEIGHT_OFFSET   2

Definition at line 261 of file cpc.h.

◆ IMAGE_HEIGHT_SIZE

#define IMAGE_HEIGHT_SIZE   1

Definition at line 260 of file cpc.h.

◆ IMAGE_WIDTH_OFFSET

#define IMAGE_WIDTH_OFFSET   0

Definition at line 259 of file cpc.h.

◆ IMAGE_WIDTH_SIZE

#define IMAGE_WIDTH_SIZE   2

Definition at line 258 of file cpc.h.

◆ INPUT_DEFAULT_CURSOR

#define INPUT_DEFAULT_CURSOR   95

Definition at line 137 of file cpc.h.

◆ INPUT_DEFAULT_DELAY

#define INPUT_DEFAULT_DELAY   16

Definition at line 139 of file cpc.h.

◆ INPUT_DEFAULT_RATE

#define INPUT_DEFAULT_RATE   16

Definition at line 138 of file cpc.h.

◆ INPUT_DEFAULT_SEPARATOR

#define INPUT_DEFAULT_SEPARATOR   ','

Definition at line 135 of file cpc.h.

◆ INPUT_DEFAULT_SIZE

#define INPUT_DEFAULT_SIZE   32

Definition at line 136 of file cpc.h.

◆ JOY_COUNT

#define JOY_COUNT   2

Definition at line 143 of file cpc.h.

◆ JOY_DOWN

#define JOY_DOWN   1

Definition at line 146 of file cpc.h.

◆ JOY_FIRE

#define JOY_FIRE   4

Definition at line 149 of file cpc.h.

◆ JOY_LEFT

#define JOY_LEFT   2

Definition at line 147 of file cpc.h.

◆ JOY_RIGHT

#define JOY_RIGHT   3

Definition at line 148 of file cpc.h.

◆ JOY_UP

#define JOY_UP   0

Definition at line 145 of file cpc.h.

◆ JOYSTICK_CONFIG_DEFAULT_SYNC

#define JOYSTICK_CONFIG_DEFAULT_SYNC   1

Definition at line 151 of file cpc.h.

◆ KEY_0

#define KEY_0   32

Definition at line 37 of file cpc.h.

◆ KEY_1

#define KEY_1   64

Definition at line 38 of file cpc.h.

◆ KEY_2

#define KEY_2   65

Definition at line 39 of file cpc.h.

◆ KEY_3

#define KEY_3   57

Definition at line 40 of file cpc.h.

◆ KEY_4

#define KEY_4   56

Definition at line 41 of file cpc.h.

◆ KEY_5

#define KEY_5   49

Definition at line 42 of file cpc.h.

◆ KEY_6

#define KEY_6   48

Definition at line 43 of file cpc.h.

◆ KEY_7

#define KEY_7   41

Definition at line 44 of file cpc.h.

◆ KEY_8

#define KEY_8   40

Definition at line 45 of file cpc.h.

◆ KEY_9

#define KEY_9   33

Definition at line 46 of file cpc.h.

◆ KEY_A

#define KEY_A   69

Definition at line 47 of file cpc.h.

◆ KEY_APIX

#define KEY_APIX   0xfe

Definition at line 112 of file cpc.h.

◆ KEY_ASTERISK

#define KEY_ASTERISK   0xfe

Definition at line 48 of file cpc.h.

◆ KEY_AT

#define KEY_AT   0xfe

Definition at line 49 of file cpc.h.

◆ KEY_B

#define KEY_B   54

Definition at line 50 of file cpc.h.

◆ KEY_BACKSLASH

#define KEY_BACKSLASH   19

Definition at line 107 of file cpc.h.

◆ KEY_BS

#define KEY_BS   79

Definition at line 122 of file cpc.h.

◆ KEY_C

#define KEY_C   62

Definition at line 51 of file cpc.h.

◆ KEY_CAPS

#define KEY_CAPS   70

Definition at line 117 of file cpc.h.

◆ KEY_CLEAR

#define KEY_CLEAR   0xfe

Definition at line 52 of file cpc.h.

◆ KEY_CODE

#define KEY_CODE   0xfe

Definition at line 118 of file cpc.h.

◆ KEY_COLON

#define KEY_COLON   0xfe

Definition at line 53 of file cpc.h.

◆ KEY_COMMA

#define KEY_COMMA   38

Definition at line 54 of file cpc.h.

◆ KEY_COMMODORE

#define KEY_COMMODORE   0xfe

Definition at line 55 of file cpc.h.

◆ KEY_CONTROL

#define KEY_CONTROL   23

Definition at line 56 of file cpc.h.

◆ KEY_CRSR_LEFT_RIGHT

#define KEY_CRSR_LEFT_RIGHT   0xfe

Definition at line 57 of file cpc.h.

◆ KEY_CRSR_UP_DOWN

#define KEY_CRSR_UP_DOWN   0xfe

Definition at line 58 of file cpc.h.

◆ KEY_CTRL

#define KEY_CTRL   23

Definition at line 115 of file cpc.h.

◆ KEY_D

#define KEY_D   61

Definition at line 59 of file cpc.h.

◆ KEY_DEAD

#define KEY_DEAD   0xfe

Definition at line 113 of file cpc.h.

◆ KEY_DEL

#define KEY_DEL   24

Definition at line 126 of file cpc.h.

◆ KEY_DELETE

#define KEY_DELETE   24

Definition at line 60 of file cpc.h.

◆ KEY_DIVISION

#define KEY_DIVISION   0xfe

Definition at line 131 of file cpc.h.

◆ KEY_DOWN

#define KEY_DOWN   2

Definition at line 129 of file cpc.h.

◆ KEY_E

#define KEY_E   58

Definition at line 61 of file cpc.h.

◆ KEY_EQUAL

#define KEY_EQUAL   0xfe

Definition at line 62 of file cpc.h.

◆ KEY_ESC

#define KEY_ESC   66

Definition at line 119 of file cpc.h.

◆ KEY_F

#define KEY_F   53

Definition at line 63 of file cpc.h.

◆ KEY_F1

#define KEY_F1   0xfe

Definition at line 64 of file cpc.h.

◆ KEY_F2

#define KEY_F2   0xfe

Definition at line 65 of file cpc.h.

◆ KEY_F3

#define KEY_F3   0xfe

Definition at line 66 of file cpc.h.

◆ KEY_F4

#define KEY_F4   0xfe

Definition at line 67 of file cpc.h.

◆ KEY_F5

#define KEY_F5   0xfe

Definition at line 68 of file cpc.h.

◆ KEY_F6

#define KEY_F6   0xfe

Definition at line 69 of file cpc.h.

◆ KEY_F7

#define KEY_F7   0xfe

Definition at line 70 of file cpc.h.

◆ KEY_F8

#define KEY_F8   0xfe

Definition at line 71 of file cpc.h.

◆ KEY_G

#define KEY_G   52

Definition at line 72 of file cpc.h.

◆ KEY_GRAPH

#define KEY_GRAPH   0xfe

Definition at line 116 of file cpc.h.

◆ KEY_H

#define KEY_H   44

Definition at line 73 of file cpc.h.

◆ KEY_HOME

#define KEY_HOME   0xfe

Definition at line 74 of file cpc.h.

◆ KEY_I

#define KEY_I   35

Definition at line 75 of file cpc.h.

◆ KEY_INS

#define KEY_INS   0xfe

Definition at line 125 of file cpc.h.

◆ KEY_INSERT

#define KEY_INSERT   0xfe

Definition at line 76 of file cpc.h.

◆ KEY_J

#define KEY_J   45

Definition at line 77 of file cpc.h.

◆ KEY_K

#define KEY_K   37

Definition at line 78 of file cpc.h.

◆ KEY_L

#define KEY_L   36

Definition at line 79 of file cpc.h.

◆ KEY_LEFT

#define KEY_LEFT   8

Definition at line 127 of file cpc.h.

◆ KEY_LEFT_ARROW

#define KEY_LEFT_ARROW   0xfe

Definition at line 80 of file cpc.h.

◆ KEY_LEFT_SHIFT

#define KEY_LEFT_SHIFT   21

Definition at line 81 of file cpc.h.

◆ KEY_M

#define KEY_M   38

Definition at line 82 of file cpc.h.

◆ KEY_MINUS

#define KEY_MINUS   0xfe

Definition at line 83 of file cpc.h.

◆ KEY_N

#define KEY_N   46

Definition at line 84 of file cpc.h.

◆ KEY_NONE

#define KEY_NONE   255

Definition at line 36 of file cpc.h.

◆ KEY_O

#define KEY_O   34

Definition at line 85 of file cpc.h.

◆ KEY_P

#define KEY_P   27

Definition at line 86 of file cpc.h.

◆ KEY_PERIOD

#define KEY_PERIOD   39

Definition at line 87 of file cpc.h.

◆ KEY_PLUS

#define KEY_PLUS   32

Definition at line 88 of file cpc.h.

◆ KEY_POUND

#define KEY_POUND   0xfe

Definition at line 89 of file cpc.h.

◆ KEY_Q

#define KEY_Q   67

Definition at line 90 of file cpc.h.

◆ KEY_QUOTE

#define KEY_QUOTE   0xfe

Definition at line 111 of file cpc.h.

◆ KEY_R

#define KEY_R   50

Definition at line 91 of file cpc.h.

◆ KEY_RET

#define KEY_RET   0xfe

Definition at line 124 of file cpc.h.

◆ KEY_RETURN

#define KEY_RETURN   18

Definition at line 92 of file cpc.h.

◆ KEY_RIGHT

#define KEY_RIGHT   1

Definition at line 130 of file cpc.h.

◆ KEY_RIGHT_SHIFT

#define KEY_RIGHT_SHIFT   21

Definition at line 93 of file cpc.h.

◆ KEY_RUNSTOP

#define KEY_RUNSTOP   0xfe

Definition at line 94 of file cpc.h.

◆ KEY_S

#define KEY_S   60

Definition at line 95 of file cpc.h.

◆ KEY_SELECT

#define KEY_SELECT   0xfe

Definition at line 123 of file cpc.h.

◆ KEY_SEMICOLON

#define KEY_SEMICOLON   0xfe

Definition at line 96 of file cpc.h.

◆ KEY_SEMICOMMA

#define KEY_SEMICOMMA   0xfe

Definition at line 110 of file cpc.h.

◆ KEY_SHIFT

#define KEY_SHIFT   21

Definition at line 114 of file cpc.h.

◆ KEY_SLASH

#define KEY_SLASH   0xfe

Definition at line 97 of file cpc.h.

◆ KEY_SPACE

#define KEY_SPACE   47

Definition at line 98 of file cpc.h.

◆ KEY_SQUARE_CLOSED

#define KEY_SQUARE_CLOSED   0xfe

Definition at line 109 of file cpc.h.

◆ KEY_SQUARE_OPEN

#define KEY_SQUARE_OPEN   0xfe

Definition at line 108 of file cpc.h.

◆ KEY_STOP

#define KEY_STOP   0xfe

Definition at line 121 of file cpc.h.

◆ KEY_T

#define KEY_T   51

Definition at line 99 of file cpc.h.

◆ KEY_TAB

#define KEY_TAB   68

Definition at line 120 of file cpc.h.

◆ KEY_U

#define KEY_U   42

Definition at line 100 of file cpc.h.

◆ KEY_UP

#define KEY_UP   0

Definition at line 128 of file cpc.h.

◆ KEY_UP_ARROW

#define KEY_UP_ARROW   8

Definition at line 101 of file cpc.h.

◆ KEY_V

#define KEY_V   55

Definition at line 102 of file cpc.h.

◆ KEY_W

#define KEY_W   59

Definition at line 103 of file cpc.h.

◆ KEY_X

#define KEY_X   63

Definition at line 104 of file cpc.h.

◆ KEY_Y

#define KEY_Y   43

Definition at line 105 of file cpc.h.

◆ KEY_Z

#define KEY_Z   71

Definition at line 106 of file cpc.h.

◆ KEYBOARD_CONFIG_DEFAULT_SYNC

#define KEYBOARD_CONFIG_DEFAULT_SYNC   1

Definition at line 133 of file cpc.h.

◆ MAX_AUDIO_CHANNELS

#define MAX_AUDIO_CHANNELS   3 /* 4 channel is noise! */

Definition at line 266 of file cpc.h.

◆ SCREEN_BORDER_X

#define SCREEN_BORDER_X   0

Definition at line 255 of file cpc.h.

◆ SCREEN_BORDER_Y

#define SCREEN_BORDER_Y   0

Definition at line 256 of file cpc.h.

◆ SCREEN_CAPABILITIES

#define SCREEN_CAPABILITIES   ( ( 1<<BITMAP_NATIVE ) )

Definition at line 141 of file cpc.h.

◆ SCREEN_SPRITE_RATIO_X

#define SCREEN_SPRITE_RATIO_X   100

Definition at line 253 of file cpc.h.

◆ SCREEN_SPRITE_RATIO_Y

#define SCREEN_SPRITE_RATIO_Y   100

Definition at line 254 of file cpc.h.

◆ SPRITE_COUNT

#define SPRITE_COUNT   0

Definition at line 244 of file cpc.h.

◆ SPRITE_HEIGHT

#define SPRITE_HEIGHT   0

Definition at line 246 of file cpc.h.

◆ SPRITE_WIDTH

#define SPRITE_WIDTH   0

Definition at line 245 of file cpc.h.

◆ SPRITE_X_MAX

#define SPRITE_X_MAX   0

Definition at line 250 of file cpc.h.

◆ SPRITE_X_MIN

#define SPRITE_X_MIN   0

Definition at line 248 of file cpc.h.

◆ SPRITE_Y_MAX

#define SPRITE_Y_MAX   0

Definition at line 251 of file cpc.h.

◆ SPRITE_Y_MIN

#define SPRITE_Y_MIN   0

Definition at line 249 of file cpc.h.

◆ TEXT_COLUMNS_COUNT

#define TEXT_COLUMNS_COUNT   20

Definition at line 233 of file cpc.h.

◆ TEXT_ROWS_COUNT

#define TEXT_ROWS_COUNT   24

Definition at line 234 of file cpc.h.

Typedef Documentation

◆ CpcSliceImageFunction

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

Definition at line 388 of file cpc.h.

Function Documentation

◆ cpc_asciicode()

void cpc_asciicode ( Environment * _environment,
char * _asciicode )

Definition at line 235 of file cpc.c.

◆ cpc_back()

void cpc_back ( Environment * _environment)

Definition at line 1295 of file cpc.c.

◆ cpc_background_color()

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

cpc: 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 427 of file cpc.c.

◆ cpc_background_color_get_vars()

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

cpc: 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 505 of file cpc.c.

◆ cpc_background_color_semivars()

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

cpc: 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 477 of file cpc.c.

◆ cpc_background_color_vars()

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

cpc: 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 452 of file cpc.c.

◆ cpc_bank_select()

void cpc_bank_select ( Environment * _environment,
int _bank )

Definition at line 582 of file cpc.c.

◆ cpc_bitmap_at()

void cpc_bitmap_at ( Environment * _environment,
char * _address )

Definition at line 768 of file cpc.c.

◆ cpc_bitmap_disable()

void cpc_bitmap_disable ( Environment * _environment)

Definition at line 739 of file cpc.c.

◆ cpc_bitmap_enable()

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

Definition at line 717 of file cpc.c.

◆ cpc_blit_image()

void cpc_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 2116 of file cpc.c.

◆ cpc_border_color()

void cpc_border_color ( Environment * _environment,
char * _border_color )

cpc: 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 405 of file cpc.c.

◆ cpc_busy_wait()

void cpc_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 943 of file cpc.c.

◆ cpc_calculate_sequence_frame_offset()

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

Definition at line 2759 of file cpc.c.

◆ cpc_chain()

void cpc_chain ( Environment * _environment,
char * _filename )

Definition at line 2922 of file cpc.c.

◆ cpc_clear_key()

void cpc_clear_key ( Environment * _environment)

Definition at line 276 of file cpc.c.

◆ cpc_cline()

void cpc_cline ( Environment * _environment,
char * _characters )

Definition at line 1299 of file cpc.c.

◆ cpc_cls()

void cpc_cls ( Environment * _environment)

Definition at line 980 of file cpc.c.

◆ cpc_cls_box()

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

Definition at line 987 of file cpc.c.

◆ cpc_collision()

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

cpc: 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 373 of file cpc.c.

◆ cpc_colormap_at()

void cpc_colormap_at ( Environment * _environment,
char * _address )

Definition at line 772 of file cpc.c.

◆ cpc_colors_vars()

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

Definition at line 2478 of file cpc.c.

◆ cpc_dload()

void cpc_dload ( Environment * _environment,
char * _filename,
char * _offset,
char * _address,
char * _size )

Definition at line 2657 of file cpc.c.

◆ cpc_dsave()

void cpc_dsave ( Environment * _environment,
char * _filename,
char * _offset,
char * _address,
char * _size )

Definition at line 2705 of file cpc.c.

◆ cpc_fade()

void cpc_fade ( Environment * _environment,
char * _ticks )

Definition at line 2845 of file cpc.c.

◆ cpc_finalization()

void cpc_finalization ( Environment * _environment)

Definition at line 1224 of file cpc.c.

◆ cpc_flash_begin()

void cpc_flash_begin ( Environment * _environment,
char * _index,
char * _register )

Definition at line 2861 of file cpc.c.

◆ cpc_flash_end()

void cpc_flash_end ( Environment * _environment)

Definition at line 2901 of file cpc.c.

◆ cpc_flash_off()

void cpc_flash_off ( Environment * _environment,
char * _index )

Definition at line 2911 of file cpc.c.

◆ cpc_flash_register()

void cpc_flash_register ( Environment * _environment,
char * _index,
char * _timer,
char * _color )

Definition at line 2886 of file cpc.c.

◆ cpc_flip_image()

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

Definition at line 2810 of file cpc.c.

◆ cpc_get_height()

void cpc_get_height ( Environment * _environment,
char * _result )

Definition at line 973 of file cpc.c.

◆ cpc_get_image()

void cpc_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 2301 of file cpc.c.

◆ cpc_get_raster_line()

Variable * cpc_get_raster_line ( Environment * _environment)

Definition at line 2460 of file cpc.c.

◆ cpc_get_width()

void cpc_get_width ( Environment * _environment,
char * _result )

Definition at line 959 of file cpc.c.

◆ cpc_hit()

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

cpc: 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 392 of file cpc.c.

◆ cpc_horizontal_scroll()

void cpc_horizontal_scroll ( Environment * _environment,
char * _displacement )

Definition at line 939 of file cpc.c.

◆ cpc_hscroll_line()

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

Definition at line 1268 of file cpc.c.

◆ cpc_hscroll_screen()

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

Definition at line 1283 of file cpc.c.

◆ cpc_image_converter()

Variable * cpc_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 1910 of file cpc.c.

◆ cpc_image_size()

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

Definition at line 1314 of file cpc.c.

◆ cpc_initialization()

void cpc_initialization ( Environment * _environment)

Definition at line 1043 of file cpc.c.

◆ cpc_inkey()

void cpc_inkey ( Environment * _environment,
char * _key )

Definition at line 105 of file cpc.c.

◆ cpc_joy()

void cpc_joy ( Environment * _environment,
int _port,
char * _value )

Definition at line 326 of file cpc.c.

◆ cpc_joy_vars()

void cpc_joy_vars ( Environment * _environment,
char * _port,
char * _value )

Definition at line 286 of file cpc.c.

◆ cpc_key_pressed()

void cpc_key_pressed ( Environment * _environment,
char * _scancode,
char * _result )

Definition at line 246 of file cpc.c.

◆ cpc_key_state()

void cpc_key_state ( Environment * _environment,
char * _scancode,
char * _result )

Definition at line 201 of file cpc.c.

◆ cpc_keyshift()

void cpc_keyshift ( Environment * _environment,
char * _shifts )

Definition at line 265 of file cpc.c.

◆ cpc_move_memory_video()

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

Definition at line 2470 of file cpc.c.

◆ cpc_move_tiles()

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

Definition at line 2362 of file cpc.c.

◆ cpc_move_video_memory()

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

Definition at line 2474 of file cpc.c.

◆ cpc_move_video_video()

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

◆ cpc_new_image()

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

Definition at line 2206 of file cpc.c.

◆ cpc_new_images()

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

Definition at line 2232 of file cpc.c.

◆ cpc_new_sequence()

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

Definition at line 2266 of file cpc.c.

◆ cpc_next_raster()

void cpc_next_raster ( Environment * _environment)

cpc: 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 561 of file cpc.c.

◆ cpc_next_raster_at()

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

cpc: 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 578 of file cpc.c.

◆ cpc_palette_extract()

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

Definition at line 2543 of file cpc.c.

◆ cpc_pget_color_vars()

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

Definition at line 837 of file cpc.c.

◆ cpc_pset_int()

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

Definition at line 780 of file cpc.c.

◆ cpc_pset_vars()

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

Definition at line 804 of file cpc.c.

◆ cpc_put_image()

void cpc_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 2086 of file cpc.c.

◆ cpc_put_key()

void cpc_put_key ( Environment * _environment,
char * _string,
char * _size )

Definition at line 2832 of file cpc.c.

◆ cpc_put_tile()

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

Definition at line 2341 of file cpc.c.

◆ cpc_put_tiles()

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

Definition at line 2404 of file cpc.c.

◆ cpc_raster_at()

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

cpc: 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 547 of file cpc.c.

◆ cpc_scancode()

void cpc_scancode ( Environment * _environment,
char * _scacode )

Definition at line 216 of file cpc.c.

◆ cpc_scanshift()

void cpc_scanshift ( Environment * _environment,
char * _shifts )

Definition at line 261 of file cpc.c.

◆ cpc_screen_columns()

void cpc_screen_columns ( Environment * _environment,
char * _columns )

Definition at line 875 of file cpc.c.

◆ cpc_screen_mode_enable()

int cpc_screen_mode_enable ( Environment * _environment,
ScreenMode * _screen_mode )

Definition at line 629 of file cpc.c.

◆ cpc_screen_off()

void cpc_screen_off ( Environment * _environment)

Definition at line 867 of file cpc.c.

◆ cpc_screen_on()

void cpc_screen_on ( Environment * _environment)

Definition at line 863 of file cpc.c.

◆ cpc_screen_rows()

void cpc_screen_rows ( Environment * _environment,
char * _rows )

Definition at line 871 of file cpc.c.

◆ cpc_scroll()

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

Definition at line 2324 of file cpc.c.

◆ cpc_scroll_text()

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

Definition at line 1012 of file cpc.c.

◆ cpc_slice_image_copy()

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

Definition at line 2482 of file cpc.c.

◆ cpc_slice_image_extract()

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

Definition at line 2502 of file cpc.c.

◆ cpc_sprite_at()

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

Definition at line 895 of file cpc.c.

◆ cpc_sprite_color()

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

Definition at line 923 of file cpc.c.

◆ cpc_sprite_common_color()

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

cpc: 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 528 of file cpc.c.

◆ cpc_sprite_compress_horizontal()

void cpc_sprite_compress_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 911 of file cpc.c.

◆ cpc_sprite_compress_vertical()

void cpc_sprite_compress_vertical ( Environment * _environment,
char * _sprite )

Definition at line 907 of file cpc.c.

◆ cpc_sprite_converter()

Variable * cpc_sprite_converter ( Environment * _environment,
char * _data,
int _width,
int _height,
int _depth,
RGBi * _color )

◆ cpc_sprite_data_from()

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

Definition at line 879 of file cpc.c.

◆ cpc_sprite_data_set()

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

Definition at line 883 of file cpc.c.

◆ cpc_sprite_disable()

void cpc_sprite_disable ( Environment * _environment,
char * _sprite )

Definition at line 891 of file cpc.c.

◆ cpc_sprite_enable()

void cpc_sprite_enable ( Environment * _environment,
char * _sprite )

Definition at line 887 of file cpc.c.

◆ cpc_sprite_expand_horizontal()

void cpc_sprite_expand_horizontal ( Environment * _environment,
char * _sprite )

Definition at line 903 of file cpc.c.

◆ cpc_sprite_expand_vertical()

void cpc_sprite_expand_vertical ( Environment * _environment,
char * _sprite )

Definition at line 899 of file cpc.c.

◆ cpc_sprite_monocolor()

void cpc_sprite_monocolor ( Environment * _environment,
char * _sprite )

Definition at line 919 of file cpc.c.

◆ cpc_sprite_multicolor()

void cpc_sprite_multicolor ( Environment * _environment,
char * _sprite )

Definition at line 915 of file cpc.c.

◆ cpc_sprite_priority()

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

Definition at line 927 of file cpc.c.

◆ cpc_sys_call()

void cpc_sys_call ( Environment * _environment,
int _destination )

Definition at line 2528 of file cpc.c.

◆ cpc_text()

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

Definition at line 1026 of file cpc.c.

◆ cpc_textmap_at()

void cpc_textmap_at ( Environment * _environment,
char * _address )

Definition at line 776 of file cpc.c.

◆ cpc_tile_at()

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

Definition at line 2432 of file cpc.c.

◆ cpc_tilemap_enable()

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

Definition at line 743 of file cpc.c.

◆ cpc_tiles_at()

void cpc_tiles_at ( Environment * _environment,
char * _address )

Definition at line 931 of file cpc.c.

◆ cpc_tiles_get()

void cpc_tiles_get ( Environment * _environment,
char * _result )

Definition at line 966 of file cpc.c.

◆ cpc_timer_set_address()

void cpc_timer_set_address ( Environment * _environment,
char * _timer,
char * _address )

Definition at line 2634 of file cpc.c.

◆ cpc_timer_set_counter()

void cpc_timer_set_counter ( Environment * _environment,
char * _timer,
char * _counter )

Definition at line 2590 of file cpc.c.

◆ cpc_timer_set_init()

void cpc_timer_set_init ( Environment * _environment,
char * _timer,
char * _init )

Definition at line 2612 of file cpc.c.

◆ cpc_timer_set_status_off()

void cpc_timer_set_status_off ( Environment * _environment,
char * _timer )

Definition at line 2573 of file cpc.c.

◆ cpc_timer_set_status_on()

void cpc_timer_set_status_on ( Environment * _environment,
char * _timer )

Definition at line 2557 of file cpc.c.

◆ cpc_use_tileset()

void cpc_use_tileset ( Environment * _environment,
char * _tileset )

Definition at line 2449 of file cpc.c.

◆ cpc_vertical_scroll()

void cpc_vertical_scroll ( Environment * _environment,
char * _displacement )

Definition at line 935 of file cpc.c.

◆ cpc_wait_fire()

void cpc_wait_fire ( Environment * _environment,
int _port,
int _release )

Definition at line 165 of file cpc.c.

◆ cpc_wait_fire_semivar()

void cpc_wait_fire_semivar ( Environment * _environment,
char * _port,
int _release )

Definition at line 186 of file cpc.c.

◆ cpc_wait_key()

void cpc_wait_key ( Environment * _environment,
int _release )

Definition at line 116 of file cpc.c.

◆ cpc_wait_key_or_fire()

void cpc_wait_key_or_fire ( Environment * _environment,
int _port,
int _release )

Definition at line 131 of file cpc.c.

◆ cpc_wait_key_or_fire_semivar()

void cpc_wait_key_or_fire_semivar ( Environment * _environment,
char * _port,
int _release )

Definition at line 148 of file cpc.c.

◆ cpc_wait_vbl()

void cpc_wait_vbl ( Environment * _environment,
char * _raster_line )

Definition at line 2174 of file cpc.c.