For background information refer to cpc-dev-tool-chain.
To start hacking and generate an updated table, see README-maintainer.md.
Total fw calls as per SOFT968 official documentation | 202 |
Total fw calls declared at C level | 136 |
Overall coverage percentage | 67% |
Package | Call count | C-covered | % |
---|---|---|---|
KM | 28 | 27 | 96% |
TXT | 37 | 37 | 100% |
GRA | 32 | 24 | 75% |
SCR | 36 | 9 | 25% |
CAS | 22 | 18 | 81% |
SOUND | 12 | 3 | 25% |
KL | 26 | 6 | 23% |
MC | 13 | 12 | 92% |
JUMP | 1 | 1 | 100% |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
KM INITIALISE |
_fw_km_initialise == 0xBB00 | iyh, iyl | void fw_km_initialise(void); | |
KM RESET |
_fw_km_reset == 0xBB03 | iyh, iyl | void fw_km_reset(void); | |
KM WAIT CHAR |
_fw_km_wait_char (wrapper, 5 bytes) | b, c, d, e, iyh, iyl | unsigned char fw_km_wait_char(void); | |
KM READ CHAR |
_fw_km_read_char (wrapper, 9 bytes) | b, c, d, e, iyh, iyl | uint16_t fw_km_read_char(void); | |
KM CHAR RETURN |
_fw_km_char_return (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_km_char_return(unsigned char c); | |
KM SET EXPAND |
_fw_km_set_expand (wrapper, 20 bytes) | iyh, iyl | enum fw_byte_all_or_nothing fw_km_set_expand(uint8_t token, uint8_t string_length, unsigned char* string); | |
KM GET EXPAND |
_fw_km_get_expand (wrapper, 16 bytes) | b, c, iyh, iyl | uint16_t fw_km_get_expand(uint8_t token, uint8_t char_number); | |
KM EXP BUFFER |
_fw_km_exp_buffer (wrapper, 20 bytes) | iyh, iyl | enum fw_byte_all_or_nothing fw_km_exp_buffer(unsigned char *buffer, uint16_t buffer_bytecount); | |
KM WAIT KEY |
_fw_km_wait_key (wrapper, 5 bytes) | b, c, d, e, iyh, iyl | unsigned char fw_km_wait_key(void); | |
KM READ KEY |
_fw_km_read_key (wrapper, 10 bytes) | b, c, d, e, iyh, iyl | uint16_t fw_km_read_key(void); | |
KM TEST KEY |
_fw_km_test_key (wrapper, 10 bytes) | b, c, d, e, iyh, iyl | uint16_t fw_km_test_key(uint8_t key_number); | |
KM GET STATE |
_fw_km_get_state == 0xBB21 | b, c, d, e, iyh, iyl | uint16_t fw_km_get_state(void); | |
KM GET JOYSTICK |
_fw_km_get_joystick == 0xBB24 | b, c, d, e, iyh, iyl | uint16_t fw_km_get_joystick(void); | |
KM SET TRANSLATE |
_fw_km_set_translate (wrapper, 10 bytes) | b, c, d, e, iyh, iyl | void fw_km_set_translate(uint8_t key_number, uint8_t new_translation); | |
KM GET TRANSLATE |
_fw_km_get_translate (wrapper, 6 bytes) | b, c, d, e, iyh, iyl | uint8_t fw_km_get_translate(uint8_t key_number); | |
KM SET SHIFT |
_fw_km_set_shift (wrapper, 10 bytes) | b, c, d, e, iyh, iyl | void fw_km_set_shift(uint8_t key_number, uint8_t new_translation); | |
KM GET SHIFT |
_fw_km_get_shift (wrapper, 6 bytes) | b, c, d, e, iyh, iyl | uint8_t fw_km_get_shift(uint8_t key_number); | |
KM SET CONTROL |
_fw_km_set_control (wrapper, 10 bytes) | b, c, d, e, iyh, iyl | void fw_km_set_control(uint8_t key_number, uint8_t new_translation); | |
KM GET CONTROL |
_fw_km_get_control (wrapper, 6 bytes) | b, c, d, e, iyh, iyl | uint8_t fw_km_get_control(uint8_t key_number); | |
KM SET REPEAT |
_fw_km_set_repeat (wrapper, 10 bytes) | d, e, iyh, iyl | uint8_t fw_km_set_repeat(uint8_t key_number, enum fw_byte_all_or_nothing repeat_allowed); | |
KM GET REPEAT |
_fw_km_get_repeat (wrapper, 8 bytes) | b, c, d, e, iyh, iyl | enum fw_byte_all_or_nothing fw_km_get_repeat(uint8_t key_number); | |
KM SET DELAY |
_fw_km_set_delay (wrapper, 11 bytes) | b, c, d, e, iyh, iyl | void fw_km_set_delay(uint8_t startup_delay, uint8_t repeat_speed); | |
KM GET DELAY |
_fw_km_get_delay == 0xBB42 | b, c, d, e, iyh, iyl | uint16_t fw_km_get_delay(void); | |
KM ARM BREAK | Not yet covered | |||
KM DISARM BREAK |
_fw_km_disarm_break == 0xBB48 | b, c, d, e, iyh, iyl | void fw_km_disarm_break(void); | |
KM BREAK EVENT |
_fw_km_break_event == 0xBB4B | b, c, d, e, iyh, iyl | void fw_km_break_event(void); | |
KM SET LOCKS |
_fw_km_set_locks == 0xBD3A | b,c,d,e,iyh, iyl | void fw_km_set_locks(uint16_t locks); | |
KM FLUSH |
_fw_km_flush == 0xBD3D | b, c, d, e, iyh, iyl | void fw_km_flush(void); |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) |
---|---|---|---|
TXT INITIALISE |
_fw_txt_initialise == 0xBB4E | iyh, iyl | void fw_txt_initialise(void); |
TXT RESET |
_fw_txt_reset == 0xBB51 | iyh, iyl | void fw_txt_reset(void); |
TXT VDU ENABLE |
_fw_txt_vdu_enable == 0xBB54 | b, c, d, e, h, l, iyh, iyl | void fw_txt_vdu_enable(void); |
TXT VDU DISABLE |
_fw_txt_vdu_disable == 0xBB57 | b, c, d, e, h, l, iyh, iyl | void fw_txt_vdu_disable(void); |
TXT OUTPUT |
_fw_txt_output (wrapper, 4 bytes) | a, b, c, d, e, h, l, iyh, iyl | void fw_txt_output(unsigned char c); |
TXT WR CHAR |
_fw_txt_wr_char (wrapper, 4 bytes) | iyh, iyl | void fw_txt_wr_char(unsigned char c); |
TXT RD CHAR |
_fw_txt_rd_char (wrapper, 9 bytes) | b, c, d, e, h, l, iyh, iyl | uint16_t fw_txt_rd_char(void); |
TXT SET GRAPHIC |
_fw_txt_set_graphic (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_txt_set_graphic(bool enable); |
TXT WIN ENABLE |
_fw_txt_win_enable (wrapper, 16 bytes) | iyh, iyl | void fw_txt_win_enable(uint8_t left, uint8_t right, uint8_t top, uint8_t bottom); |
_fw_txt_win_enable__fastcall == 0xBB66 | iyh, iyl | void fw_txt_win_enable__fastcall(uint32_t fw_txt_window_t_asint); | |
TXT GET WINDOW |
_fw_txt_get_window == 0xBB69 | iyh, iyl | uint32_t fw_txt_get_window(void); |
TXT CLEAR WINDOW |
_fw_txt_clear_window == 0xBB6C | iyh, iyl | void fw_txt_clear_window(void); |
TXT SET COLUMN |
_fw_txt_set_column (wrapper, 4 bytes) | iyh, iyl | void fw_txt_set_column(int8_t column); |
TXT SET ROW |
_fw_txt_set_row (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_txt_set_row(int8_t row); |
TXT SET CURSOR |
_fw_txt_set_cursor (wrapper, 11 bytes) | b, c, d, e, iyh, iyl | void fw_txt_set_cursor(int8_t row, int8_t column); |
_fw_txt_set_cursor__fastcall == 0xBB75 | b, c, d, e, iyh, iyl | void fw_txt_set_cursor__fastcall(int16_t colum8h_row8l); | |
TXT GET CURSOR |
_fw_txt_get_cursor (wrapper, 5 bytes) | b, c, iyh, iyl | uint32_t fw_txt_get_cursor(); |
TXT CUR ENABLE |
_fw_txt_cur_enable == 0xBB7B | b, c, d, e, h, l, iyh, iyl | void fw_txt_cur_enable(void); |
TXT CUR DISABLE |
_fw_txt_cur_disable == 0xBB7E | b, c, d, e, iyh, iyl | void fw_txt_cur_disable(void); |
TXT CUR ON |
_fw_txt_cur_on == 0xBB81 | a, b, c, d, e, h, l, iyh, iyl | void fw_txt_cur_on(void); |
TXT CUR OFF |
_fw_txt_cur_off == 0xBB84 | a, b, c, d, e, h, l, iyh, iyl | void fw_txt_cur_off(void); |
TXT VALIDATE |
_fw_txt_validate (wrapper, 9 bytes) | c, iyh, iyl | uint32_t fw_txt_validate(void); |
TXT PLACE CURSOR |
_fw_txt_place_cursor == 0xBB8A | b, c, d, e, h, l, iyh, iyl | void fw_txt_place_cursor(void); |
TXT REMOVE CURSOR |
_fw_txt_remove_cursor == 0xBB8D | b, c, d, e, h, l, iyh, iyl | void fw_txt_remove_cursor(void); |
TXT SET PEN |
_fw_txt_set_pen (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_txt_set_pen(uint8_t p); |
TXT GET PEN |
_fw_txt_get_pen (wrapper, 5 bytes) | b, c, d, e, h, l, iyh, iyl | uint8_t fw_txt_get_pen(void); |
TXT SET PAPER |
_fw_txt_set_paper (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_txt_set_paper(uint8_t p); |
TXT GET PAPER |
_fw_txt_get_paper (wrapper, 5 bytes) | b, c, d, e, h, l, iyh, iyl | uint8_t fw_txt_get_paper(void); |
TXT INVERSE |
_fw_txt_inverse == 0xBB9C | b, c, d, e, iyh, iyl | void fw_txt_inverse(void); |
TXT SET BACK |
_fw_txt_set_back (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_txt_set_back(uint8_t is_transparent); |
TXT GET BACK |
_fw_txt_get_back (wrapper, 5 bytes) | b, c, iyh, iyl | uint8_t fw_txt_get_back(void); |
TXT GET MATRIX |
_fw_txt_get_matrix (wrapper, 8 bytes) | b, c, iyh, iyl | uint32_t fw_txt_get_matrix(uint8_t character_number); |
_fw_txt_get_matrix__ignore_rom_indication == 0xBBA5 | b, c, d, e, iyh, iyl | fw_txt_character_matrix_t *fw_txt_get_matrix__ignore_rom_indication(uint8_t character_number); | |
TXT SET MATRIX |
_fw_txt_set_matrix (wrapper, 18 bytes) | iyh, iyl | enum fw_byte_all_or_nothing fw_txt_set_matrix(uint8_t character, fw_txt_character_matrix_t *matrix); |
TXT SET M TABLE |
_fw_txt_set_m_table (wrapper, 21 bytes) | iyh, iyl | uint32_t fw_txt_set_m_table(fw_txt_character_matrix_t *buffer, bool disable, uint8_t lowest_affected_character); |
TXT GET M TABLE |
_fw_txt_get_m_table (wrapper, 9 bytes) | b, c, iyh, iyl | uint32_t fw_txt_get_m_table(); |
TXT GET CONTROLS |
_fw_txt_get_controls == 0xBBB1 | a, b, c, d, e, iyh, iyl | fw_txt_control_code_table_t *fw_txt_get_controls(); |
TXT STR SELECT |
_fw_txt_str_select (wrapper, 5 bytes) | b, c, d, e, iyl, iyh | uint8_t fw_txt_str_select(uint8_t stream_to_select); |
TXT SWAP STREAMS |
_fw_txt_swap_streams (wrapper, 10 bytes) | iyh, iyl | void fw_txt_swap_streams(uint8_t stream1, uint8_t stream2); |
TXT ASK STATE |
_fw_txt_ask_state (wrapper, 5 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_txt_ask_state(void); |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
TXT SET GRAPHIC |
_fw_txt_set_graphic (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_txt_set_graphic(bool enable); | |
GRA INITIALISE |
_fw_gra_initialise == 0xBBBA | iyh, iyl | void fw_gra_initialise(void); | |
GRA RESET |
_fw_gra_reset == 0xBBBD | iyh, iyl | void fw_gra_reset(void); | |
GRA MOVE ABSOLUTE |
_fw_gra_move_absolute (wrapper, 15 bytes) | iyh, iyl | void fw_gra_move_absolute(int16_t x, int16_t y); | |
_fw_gra_move_absolute__fastcall == 0xBBC0 | iyh, iyl | void fw_gra_move_absolute__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA MOVE RELATIVE |
_fw_gra_move_relative (wrapper, 15 bytes) | iyh, iyl | void fw_gra_move_relative(int16_t x, int16_t y); | |
_fw_gra_move_relative__fastcall == 0xBBC3 | iyh, iyl | void fw_gra_move_relative__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA ASK CURSOR |
_fw_gra_ask_cursor == 0xBBC6 | b, c, iyh, iyl | uint32_t fw_gra_ask_cursor(void); | |
GRA SET ORIGIN |
_fw_gra_set_origin (wrapper, 15 bytes) | iyh, iyl | void fw_gra_set_origin(int16_t x, int16_t y); | |
_fw_gra_set_origin__fastcall == 0xBBC9 | iyh, iyl | void fw_gra_set_origin__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA GET ORIGIN |
_fw_gra_get_origin == 0xBBCC | b, c, iyh, iyl | uint32_t fw_gra_get_origin(void); | |
GRA WIN WIDTH |
_fw_gra_win_width (wrapper, 15 bytes) | iyh, iyl | void fw_gra_win_width(int16_t x1, int16_t x2); | |
_fw_gra_win_width__fastcall == 0xBBCF | iyh, iyl | void fw_gra_win_width__fastcall(int32_t fw_gra_x_x_coordinates_t_asint); | ||
GRA WIN HEIGHT |
_fw_gra_win_height (wrapper, 15 bytes) | iyh, iyl | void fw_gra_win_height(int16_t y1, int16_t y2); | |
_fw_gra_win_height__fastcall == 0xBBD2 | iyh, iyl | void fw_gra_win_height__fastcall(int32_t fw_gra_y_y_coordinates_t_asint); | ||
GRA GET W WIDTH |
_fw_gra_get_w_width == 0xBBD5 | b, c, iyh, iyl | uint32_t fw_gra_get_w_width(); | |
GRA GET W HEIGHT |
_fw_gra_get_w_height == 0xBBD8 | b, c, iyh, iyl | uint32_t fw_gra_get_w_height(); | |
GRA CLEAR WINDOW |
_fw_gra_clear_window == 0xBBDB | iyh, iyl | void fw_gra_clear_window(void); | |
GRA SET PEN |
_fw_gra_set_pen (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_gra_set_pen(uint8_t pencolor); | |
GRA GET PEN |
_fw_gra_get_pen (wrapper, 5 bytes) | b, c, d, e, h, iyh, iyl | uint8_t fw_gra_get_pen(void); | |
GRA SET PAPER |
_fw_gra_set_paper (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_gra_set_paper(uint8_t papercolor); | |
GRA GET PAPER |
_fw_gra_get_paper (wrapper, 5 bytes) | b, c, d, e, h, iyh, iyl | uint8_t fw_gra_get_paper(void); | |
GRA PLOT ABSOLUTE |
_fw_gra_plot_absolute (wrapper, 15 bytes) | iyh, iyl | void fw_gra_plot_absolute(int16_t x, int16_t y); | |
_fw_gra_plot_absolute__fastcall == 0xBBEA | iyh, iyl | void fw_gra_plot_absolute__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA PLOT RELATIVE |
_fw_gra_plot_relative (wrapper, 15 bytes) | iyh, iyl | void fw_gra_plot_relative(int16_t x, int16_t y); | |
_fw_gra_plot_relative__fastcall == 0xBBED | iyh, iyl | void fw_gra_plot_relative__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA TEST ABSOLUTE |
_fw_gra_test_absolute (wrapper, 17 bytes) | iyh, iyl | void fw_gra_test_absolute(int16_t x, int16_t y); | |
_fw_gra_test_absolute__fastcall == 0xBBF0 | iyh, iyl | void fw_gra_test_absolute__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA TEST RELATIVE |
_fw_gra_test_relative (wrapper, 17 bytes) | iyh, iyl | void fw_gra_test_relative(int16_t x, int16_t y); | |
_fw_gra_test_relative__fastcall == 0xBBF3 | iyh, iyl | void fw_gra_test_relative__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA LINE ABSOLUTE |
_fw_gra_line_absolute (wrapper, 15 bytes) | iyh, iyl | void fw_gra_line_absolute(int16_t x, int16_t y); | |
_fw_gra_line_absolute__fastcall == 0xBBF6 | iyh, iyl | void fw_gra_line_absolute__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA LINE RELATIVE |
_fw_gra_line_relative (wrapper, 15 bytes) | iyh, iyl | void fw_gra_line_relative(int16_t x, int16_t y); | |
_fw_gra_line_relative__fastcall == 0xBBF9 | iyh, iyl | void fw_gra_line_relative__fastcall(uint32_t fw_gra_x_y_coordinates_t_asint); | ||
GRA WR CHAR |
_fw_gra_wr_char (wrapper, 4 bytes) | iyh, iyl | void fw_gra_wr_char(char character); | |
MC BOOT PROGRAM |
_fw_mc_boot_program == 0xBD13 | void fw_mc_boot_program(void *loader); | ||
MC START PROGRAM |
_fw_mc_start_program (wrapper, 13 bytes) | void fw_mc_start_program(uint8_t rom_selection, void *entry); | ||
GRA DEFAULT |
_fw_gra_default == 0xBD43 | iyh, iyl | void fw_gra_default(void); | |
GRA SET BACK | Not yet covered | |||
GRA SET FIRST | Not yet covered | |||
GRA SET LINE MASK | Not yet covered | |||
GRA FROM USER | Not yet covered | |||
GRA FILL | Not yet covered |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
SCR INITIALISE |
_fw_scr_initialise == 0xBBFF | iyh, iyl | void fw_scr_initialise(void); | |
SCR RESET |
_fw_scr_reset == 0xBC02 | iyh, iyl | void fw_scr_reset(void); | |
SCR SET OFFSET |
_fw_scr_set_offset == 0xBC05 | b, c, d, e, iyh, iyl | void fw_scr_set_offset(uint16_t offset); | |
SCR SET BASE |
_fw_scr_set_base (wrapper, 4 bytes) | b, c, d, e, iyh, iyl | void fw_scr_set_base( uint8_t base_msb); | |
SCR GET LOCATION |
_fw_scr_get_location == 0xBC0B | b, c, iyh, iyl | uint32_t fw_scr_get_location(void); | |
SCR SET MODE |
_fw_scr_set_mode (wrapper, 9 bytes) | iyh, iyl | void fw_scr_set_mode(unsigned char x); | |
SCR GET MODE | Not yet covered | |||
SCR CLEAR |
_fw_scr_clear == 0xBC14 | iyh, iyl | void fw_scr_clear(void); | |
SCR CHAR LIMITS | Not yet covered | |||
SCR CHAR POSITION | Not yet covered | |||
SCR DOT POSITION | Not yet covered | |||
SCR NEXT BYTE | Not yet covered | |||
SCR PREV BYTE | Not yet covered | |||
SCR NEXT LINE | Not yet covered | |||
SCR PREV LINE | Not yet covered | |||
SCR INK ENCODE | Not yet covered | |||
SCR INK DECODE | Not yet covered | |||
SCR SET INK |
_fw_scr_set_ink (wrapper, 17 bytes) | iyh, iyl | void fw_scr_set_ink( uint8_t pen, uint8_t color1, uint8_t color2 ); | |
SCR GET INK | Not yet covered | |||
SCR SET BORDER |
_fw_scr_set_border (wrapper, 11 bytes) | iyh, iyl | void fw_scr_set_border( uint8_t color1, uint8_t color2 ); | |
SCR GET BORDER | Not yet covered | |||
SCR SET FLASHING | Not yet covered | |||
SCR GET FLASHING | Not yet covered | |||
SCR FILL BOX | Not yet covered | |||
SCR FLOOD BOX | Not yet covered | |||
SCR CHAR INVERT | Not yet covered | |||
SCR HW ROLL | Not yet covered | |||
SCR SW ROLL | Not yet covered | |||
SCR UNPACK | Not yet covered | |||
SCR REPACK | Not yet covered | |||
SCR ACCESS | Not yet covered | |||
SCR PIXELS | Not yet covered | |||
SCR HORIZONTAL | Not yet covered | |||
SCR VERTICAL | Not yet covered | |||
MC SCREEN OFFSET |
_fw_mc_screen_offset (wrapper, 13 bytes) | b, d, e, iyh, iyl | void fw_mc_screen_offset(uint8_t screen_base, uint16_t screen_offset); | |
SCR SET POSITION | Not yet covered |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
CAS INITIALISE |
_fw_cas_initialise == 0xBC65 | iyh, iyl | void fw_cas_initialise(void); | |
CAS SET SPEED |
_fw_cas_set_speed (wrapper, 9 bytes) | b, c, d, e, iyh, iyl | void fw_cas_set_speed(uint16_t length_of_half_zero_bit, uint8_t precompensation); | |
CAS NOISY |
_fw_cas_noisy (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_cas_noisy(uint8_t messages_enabled); | |
CAS START MOTOR |
_fw_cas_start_motor (wrapper, 7 bytes) | b, c, d, e, iyh, iyl | uint16_t fw_cas_start_motor(void); | |
CAS STOP MOTOR |
_fw_cas_stop_motor (wrapper, 7 bytes) | b, c, d, e, iyh, iyl | uint16_t fw_cas_stop_motor(void); | |
CAS RESTORE MOTOR |
_fw_cas_restore_motor (wrapper, 8 bytes) | b, c, d, e, h, iyh, iyl | uint8_t fw_cas_restore_motor(uint8_t previous_motor_state); | |
CAS IN OPEN |
_fw_cas_in_open (wrapper, 38 bytes) | iyh, iyl | uint8_t fw_cas_in_open(fw_cas_in_open_parameters_t *parameters); | |
CAS IN CLOSE |
No implementation: _fw_cas_in_close
| iyh, iyl | uint8_t fw_cas_in_close(void); | |
CAS IN ABANDON |
_fw_cas_in_abandon == 0xBC7D | iyh, iyl | void fw_cas_in_abandon(void); | |
CAS IN CHAR |
No implementation: _fw_cas_in_char
| b, c, d, e, iyh, iyl | uint16_t fw_cas_in_char(void); | |
CAS IN DIRECT |
No implementation: _fw_cas_in_direct
| iyh, iyl | uint32_t fw_cas_in_direct(void *destination_buffer); | |
CAS RETURN |
_fw_cas_return == 0xBC86 | a, b, c, d, e, h, l, iyh, iyl | void fw_cas_return(void); | |
CAS TEST EOF |
No implementation: _fw_cas_test_eof
| b, c, d, e, iyh, iyl | uint16_t fw_cas_test_eof(void); | |
CAS OUT OPEN |
_fw_cas_out_open (wrapper, 30 bytes) | iyh, iyl | uint8_t fw_cas_out_open(fw_cas_out_open_parameters_t *parameters); | |
CAS OUT CLOSE |
No implementation: _fw_cas_out_close
| iyh, iyl | uint16_t fw_cas_out_close(void); | |
CAS OUT ABANDON |
_fw_cas_out_abandon == 0xBC92 | iyh, iyl | void fw_cas_out_abandon(void); | |
CAS OUT CHAR |
No implementation: _fw_cas_out_char
| iyh, iyl | uint16_t fw_cas_out_char(unsigned char char_to_write); | |
CAS OUT DIRECT | Not yet covered | |||
CAS CATALOG |
_fw_cas_catalog (wrapper, 13 bytes) | iyh, iyl | uint16_t fw_cas_catalog(void *buffer); | |
CAS WRITE | Not yet covered | |||
CAS READ | Not yet covered | |||
CAS CHECK | Not yet covered |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
SOUND RESET |
_fw_sound_reset == 0xBCA7 | iyh, iyl | void fw_sound_reset(void); | |
SOUND QUEUE | Not yet covered | |||
SOUND CHECK | Not yet covered | |||
SOUND ARM EVENT | Not yet covered | |||
SOUND RELEASE | Not yet covered | |||
SOUND HOLD | Not yet covered | |||
SOUND CONTINUE |
_fw_sound_continue == 0xBCB9 | iyh, iyl | void fw_sound_continue(void); | |
SOUND AMPL ENVELOPE | Not yet covered | |||
SOUND TONE ENVELOPE | Not yet covered | |||
SOUND A ADDRESS | Not yet covered | |||
SOUND T ADDRESS | Not yet covered | |||
MC SOUND REGISTER |
_fw_mc_sound_register (wrapper, 10 bytes) | d, e, iyh, iyl | void fw_mc_sound_register(uint8_t register_number, uint8_t data); |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
KL CHOKE OFF |
_fw_kl_choke_off__ignore_return_value == 0xBCC8 | iyh, iyl | void fw_kl_choke_off__ignore_return_value(void); | |
_fw_kl_choke_off__with_return_value (wrapper, 6 bytes) | iyh, iyl | uint32_t fw_kl_choke_off__with_return_value(void); | ||
KL ROM WALK |
_fw_kl_rom_walk == 0xBCCB | iyh, iyl | uint32_t fw_kl_rom_walk(uint32_t fw_memory_range_t_asint); | |
KL INIT BACK | Not yet covered | |||
KL LOG EXT | Not yet covered | |||
KL FIND COMMAND | Not yet covered | |||
KL NEW FRAME FLY | Not yet covered | |||
KL ADD FRAME FLY | Not yet covered | |||
KL DEL FRAME FLY | Not yet covered | |||
KL NEW FAST TICKER | Not yet covered | |||
KL ADD FAST TICKER | Not yet covered | |||
KL DEL FAST TICKER | Not yet covered | |||
KL ADD TICKER | Not yet covered | |||
KL DEL TICKER | Not yet covered | |||
KL INIT EVENT | Not yet covered | |||
KL EVENT |
_fw_kl_event_disable == 0xBD04 | b, c, d, e, iyh, iyl | void fw_kl_event_disable(void); | |
_fw_kl_event_enable == 0xBD07 | b, c, d, e, iyh, iyl | void fw_kl_event_enable(void); | ||
KL SYNC RESET |
_fw_kl_sync_reset == 0xBCF5 | b, c, d, e, iyh, iyl | void fw_kl_sync_reset(void); | |
KL DEL SYNCHRONOUS | Not yet covered | |||
KL NEXT SYNC | Not yet covered | |||
KL DO SYNC | Not yet covered | |||
KL DONE SYNC | Not yet covered | |||
KL EVENT DISABLE |
_fw_kl_event_disable == 0xBD04 | b, c, d, e, iyh, iyl | void fw_kl_event_disable(void); | |
KL EVENT ENABLE |
_fw_kl_event_enable == 0xBD07 | b, c, d, e, iyh, iyl | void fw_kl_event_enable(void); | |
KL DISARM EVENT | Not yet covered | |||
KL TIME PLEASE |
_fw_kl_time_please == 0xBD0D | a, b, c, iyh, iyl | uint32_t fw_kl_time_please(void); | |
KL TIME SET | Not yet covered | |||
KL BANK SWITCH | Not yet covered |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) | |
---|---|---|---|---|
MC BOOT PROGRAM |
_fw_mc_boot_program == 0xBD13 | void fw_mc_boot_program(void *loader); | ||
MC START PROGRAM |
_fw_mc_start_program (wrapper, 13 bytes) | void fw_mc_start_program(uint8_t rom_selection, void *entry); | ||
MC WAIT FLYBACK |
_fw_mc_wait_flyback == 0xBD19 | a, b, c, d, e, h, l, iyh, iyl | void fw_mc_wait_flyback(void); | |
MC SET MODE |
_fw_mc_set_mode (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_mc_set_mode(uint8_t mode); | |
MC SCREEN OFFSET |
_fw_mc_screen_offset (wrapper, 13 bytes) | b, d, e, iyh, iyl | void fw_mc_screen_offset(uint8_t screen_base, uint16_t screen_offset); | |
MC CLEAR INKS |
_fw_mc_clear_inks__1 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_clear_inks__1(ink_vector1 *ink_vector); | |
_fw_mc_clear_inks__16 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_clear_inks__16(ink_vector16 *ink_vector); | ||
_fw_mc_clear_inks__2 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_clear_inks__2(ink_vector2 *ink_vector); | ||
_fw_mc_clear_inks__4 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_clear_inks__4(ink_vector4 *ink_vector); | ||
MC SET INKS |
_fw_mc_set_inks__16 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_set_inks__16(ink_vector16 *ink_vector); | |
_fw_mc_set_inks__2 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_set_inks__2(ink_vector2 *ink_vector); | ||
_fw_mc_set_inks__4 (wrapper, 4 bytes) | b, c, iyh, iyl | void fw_mc_set_inks__4(ink_vector4 *ink_vector); | ||
MC RESET PRINTER |
_fw_mc_reset_printer == 0xBD28 | iyh, iyl | void fw_mc_reset_printer(void); | |
MC PRINT CHAR |
_fw_mc_print_char (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_mc_print_char(unsigned char char_to_send_7bits); | |
MC BUSY PRINTER |
_fw_mc_busy_printer (wrapper, 8 bytes) | a, b, c, d, e, h, iyh, iyl | uint8_t fw_mc_busy_printer(void); | |
MC SEND PRINTER |
_fw_mc_send_printer (wrapper, 4 bytes) | b, c, d, e, h, l, iyh, iyl | void fw_mc_send_printer(unsigned char char_to_send_7bits); | |
MC SOUND REGISTER |
_fw_mc_sound_register (wrapper, 10 bytes) | d, e, iyh, iyl | void fw_mc_sound_register(uint8_t register_number, uint8_t data); | |
MC PRINT TRANSLATION | Not yet covered |
Call | ASM symbol(s) | Preserved regs optimisation | C prototype(s) |
---|---|---|---|
JUMP RESTORE |
_fw_jre_jump_restore == 0xBD37 | iyh, iyl | void fw_jre_jump_restore(void); |
Happy hacking! Start there: cpc-dev-tool-chain on GitHub.