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

Go to the source code of this file.

Macros

#define SM83_BLII_REGISTER_COUNT   ( sizeof( SM83_BLIT_REGISTER ) / 2 )

Functions

void cpu_init (Environment *_environment)
void cpu_nop (Environment *_environment)
void cpu_ztoa (Environment *_environment)
void cpu_ctoa (Environment *_environment)
void cpu_beq (Environment *_environment, char *_label)
 Z80: emit code to make long conditional jump
void cpu_bneq (Environment *_environment, char *_label)
 Z80: emit code to make long conditional jump
void cpu_bveq (Environment *_environment, char *_value, char *_label)
void cpu_bvneq (Environment *_environment, char *_value, char *_label)
void cpu_label (Environment *_environment, char *_label)
void cpu_peek (Environment *_environment, char *_address, char *_target)
void cpu_poke (Environment *_environment, char *_address, char *_source)
void cpu_poke_const (Environment *_environment, char *_address, int _source)
void cpu_peekw (Environment *_environment, char *_address, char *_target)
void cpu_pokew (Environment *_environment, char *_address, char *_source)
void cpu_pokew_const (Environment *_environment, char *_address, int _source)
void cpu_peekd (Environment *_environment, char *_address, char *_target)
void cpu_poked (Environment *_environment, char *_address, char *_source)
void cpu_poked_const (Environment *_environment, char *_address, int _source)
void cpu_fill_blocks (Environment *_environment, char *_address, char *_blocks, char *_pattern)
 Z80: emit code to fill up a memory area
void cpu_fill (Environment *_environment, char *_address, char *_bytes, int _bytes_width, char *_pattern)
 Z80: emit code to fill up a memory area
void cpu_fill_size (Environment *_environment, char *_address, int _bytes, char *_pattern)
 Z80: emit code to fill up a memory area
void cpu_fill_size_value (Environment *_environment, char *_address, int _bytes, int _pattern)
 Z80: emit code to fill up a memory area
void cpu_fill_direct (Environment *_environment, char *_address, char *_bytes, char *_pattern)
 Z80: emit code to fill up a memory area
void cpu_fill_direct_size (Environment *_environment, char *_address, int _bytes, char *_pattern)
 Z80: emit code to fill up a memory area
void cpu_fill_direct_size_value (Environment *_environment, char *_address, int _bytes, int _pattern)
 Z80: emit code to fill up a memory area
void cpu_move_8bit (Environment *_environment, char *_source, char *_destination)
 Z80: emit code to move 8 bit
void cpu_store_8bit (Environment *_environment, char *_destination, int _value)
 Z80: emit code to store 8 bit
void cpu_store_char (Environment *_environment, char *_destination, int _value)
 Z80: emit code to store 8 bit
void cpu_store_8bit_with_offset (Environment *_environment, char *_destination, int _value, int _offset)
void cpu_store_8bit_with_offset2 (Environment *_environment, char *_destination, char *_offset, int _value)
void cpu_compare_8bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 Z80: emit code to compare two 8 bit values
void cpu_compare_8bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 Z80: emit code to compare two 8 bit values
void cpu_compare_and_branch_8bit (Environment *_environment, char *_source, char *_destination, char *_label, int _positive)
void cpu_compare_and_branch_8bit_const (Environment *_environment, char *_source, int _destination, char *_label, int _positive)
 Z80: emit code to compare two 8 bit values and jump if they are equal/different
void cpu_prepare_for_compare_and_branch_8bit (Environment *_environment, char *_source)
 Z80: emit code to compare two 8 bit values and jump if they are equal/different
void cpu_execute_compare_and_branch_8bit_const (Environment *_environment, int _destination, char *_label, int _positive)
 Z80: emit code to compare two 8 bit values and jump if they are equal/different
void cpu_compare_and_branch_char_const (Environment *_environment, char *_source, int _destination, char *_label, int _positive)
 Z80: emit code to compare two 8 bit values and jump if they are equal/different
void cpu_less_than_8bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_less_than_8bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_less_than_and_branch_8bit_const (Environment *_environment, char *_source, int _destination, char *_label, int _equal, int _signed)
void cpu_greater_than_8bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_greater_than_8bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_math_add_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to add two 8 bit values
void cpu_math_add_8bit_const (Environment *_environment, char *_source, int _destination, char *_other)
 CPU 6502: emit code to add two 8 bit values
void cpu_math_sub_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to subtract two 8 bit values
void cpu_math_double_8bit (Environment *_environment, char *_source, char *_other, int _signed)
 Z80: emit code to double a 8 bit value
void cpu_math_mul_8bit_to_16bit (Environment *_environment, char *_source, char *_destination, char *_other, int _signed)
 Z80: emit code to multiply two 8bit values in a 16 bit register
void cpu_math_div2_const_8bit (Environment *_environment, char *_source, int _steps, int _signed, char *_remainder)
 Z80: emit code to halves for several times a 8 bit value
void cpu_math_mul2_const_8bit (Environment *_environment, char *_source, int _steps, int _signed)
 Z80: emit code to double for several times a 8 bit value
void cpu_math_complement_const_8bit (Environment *_environment, char *_source, int _value)
 Z80: emit code to calculate an 8 bit complement of a number
void cpu_math_and_const_8bit (Environment *_environment, char *_source, int _mask)
 Z80: emit code to mask with "and" a value of 8 bit
void cpu_move_16bit (Environment *_environment, char *_source, char *_destination)
 Z80: emit code to move 16 bit
void cpu_addressof_16bit (Environment *_environment, char *_source, char *_destination)
void cpu_store_16bit (Environment *_environment, char *_destination, int _value)
 Z80: emit code to store 16 bit
void cpu_compare_16bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 Z80: emit code to compare two 16 bit values
void cpu_compare_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 Z80: emit code to compare two 16 bit values
void cpu_compare_and_branch_16bit (Environment *_environment, char *_source, char *_destination, char *_label, int _positive)
void cpu_compare_and_branch_16bit_const (Environment *_environment, char *_source, int _destination, char *_label, int _positive)
 Z80: emit code to compare two 16 bit values and jump if they are equal/different
void cpu_less_than_16bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_less_than_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_greater_than_16bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_greater_than_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_math_add_16bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to add two 16 bit values
void cpu_math_add_16bit_const (Environment *_environment, char *_source, int _destination, char *_other)
 CPU 6502: emit code to add two 16 bit values
void cpu_math_add_16bit_with_16bit (Environment *_environment, char *_source, char *_destination, char *_other)
 CPU 6309: emit code to add two 16 bit values
void cpu_math_double_16bit (Environment *_environment, char *_source, char *_other, int _signed)
 Z80: emit code to double a 16 bit value
void cpu_math_mul_16bit_to_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _signed)
 Z80: emit code to multiply two 16 bit values in a 32 bit register
void cpu_math_mul_nbit_to_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _bits)
void cpu_math_mul2_const_nbit (Environment *_environment, char *_source, int _steps, int _bits)
void cpu_math_sub_16bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to subtract two 16 bit values
void cpu_math_complement_const_16bit (Environment *_environment, char *_source, int _value)
 Z80: emit code to calculate a 16 bit complement of a number
void cpu_math_div2_const_16bit (Environment *_environment, char *_source, int _steps, int _signed, char *_remainder)
 Z80: emit code to halves for several times a 16 bit value
void cpu_math_mul2_const_16bit (Environment *_environment, char *_source, int _steps, int _signed)
 Z80: emit code to halves for several times a 8 bit value
void cpu_math_and_const_16bit (Environment *_environment, char *_source, int _mask)
 Z80: emit code to mask with "and" a value of 16 bit
void cpu_move_32bit (Environment *_environment, char *_source, char *_destination)
 Z80: emit code to move 32 bit
void cpu_store_32bit (Environment *_environment, char *_destination, int _value)
 Z80: emit code to store 32 bit
void cpu_compare_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 Z80: emit code to compare two 32 bit values
void cpu_compare_32bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 Z80: emit code to compare two 32 bit values
void cpu_compare_and_branch_32bit_const (Environment *_environment, char *_source, int _destination, char *_label, int _positive)
 Z80: emit code to compare two 32 bit values and jump if they are equal/different
void cpu_less_than_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_less_than_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _bits)
void cpu_less_than_32bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_less_than_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _bits)
void cpu_greater_than_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 Z80: emit code to compare two 8 bit values
void cpu_greater_than_32bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _signed)
void cpu_greater_than_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _bits)
void cpu_greater_than_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _bits)
void cpu_math_add_32bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to add two 32 bit values
void cpu_math_add_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _bits)
void cpu_math_add_32bit_const (Environment *_environment, char *_source, int _destination, char *_other)
void cpu_math_double_32bit (Environment *_environment, char *_source, char *_other, int _signed)
 Z80: emit code to double a 32 bit value
void cpu_math_sub_32bit (Environment *_environment, char *_source, char *_destination, char *_other)
 Z80: emit code to subtract two 32 bit values
void cpu_math_sub_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _bits)
void cpu_math_complement_const_32bit (Environment *_environment, char *_source, int _value)
 Z80: emit code to calculate a 32 bit complement of a number
void cpu_math_div2_const_32bit (Environment *_environment, char *_source, int _steps, int _signed, char *_remainder)
 Z80: emit code to halves for several times a 32 bit value
void cpu_math_mul2_const_32bit (Environment *_environment, char *_source, int _steps, int _signed)
 Z80: emit code to double for several times a 32 bit value
void cpu_math_and_const_32bit (Environment *_environment, char *_source, int _mask)
 Z80: emit code to mask with "and" a value of 32 bit
void cpu_combine_nibbles (Environment *_environment, char *_low_nibble, char *_hi_nibble, char *_byte)
 Z80: emit code to combine nibbles
void cpu_jump (Environment *_environment, char *_label)
void cpu_call_addr (Environment *_environment, int _address)
void cpu_call (Environment *_environment, char *_label)
void cpu_call_indirect (Environment *_environment, char *_value)
void cpu_jump_indirect (Environment *_environment, char *_value)
int cpu_register_decode (Environment *_environment, char *_register)
void cpu_set_asmio (Environment *_environment, int _asmio, int _value)
void cpu_set_asmio_indirect (Environment *_environment, int _asmio, char *_value)
void cpu_get_asmio_indirect (Environment *_environment, int _asmio, char *_value)
void cpu_return (Environment *_environment)
void cpu_pop (Environment *_environment)
void cpu_halt (Environment *_environment)
void cpu_end (Environment *_environment)
void cpu_random (Environment *_environment, char *_entropy)
void cpu_random_8bit (Environment *_environment, char *_entropy, char *_result)
void cpu_random_16bit (Environment *_environment, char *_entropy, char *_result)
void cpu_random_32bit (Environment *_environment, char *_entropy, char *_result)
void cpu_limit_16bit (Environment *_environment, char *_variable, int _value)
void cpu_busy_wait (Environment *_environment, char *_timing)
void cpu_port_out (Environment *_environment, char *_port, char *_value)
 Z80: emit code to send one byte throught a I/O port
void cpu_logical_and_8bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_and_8bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_and_8bit_const (Environment *_environment, char *_left, int _right, char *_result)
void cpu_and_16bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_and_32bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_logical_or_8bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_or_8bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_or_8bit_const (Environment *_environment, char *_left, int _right, char *_result)
void cpu_or_16bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_or_32bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_xor_8bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_xor_8bit_const (Environment *_environment, char *_left, int _right, char *_result)
void cpu_xor_16bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_xor_16bit_const (Environment *_environment, char *_left, int _right, char *_result)
void cpu_xor_32bit (Environment *_environment, char *_left, char *_right, char *_result)
void cpu_xor_32bit_const (Environment *_environment, char *_left, int _right, char *_result)
void cpu_swap_8bit (Environment *_environment, char *_left, char *_right)
void cpu_swap_16bit (Environment *_environment, char *_left, char *_right)
void cpu_swap_32bit (Environment *_environment, char *_left, char *_right)
void cpu_logical_not_8bit (Environment *_environment, char *_value, char *_result)
void cpu_not_8bit (Environment *_environment, char *_value, char *_result)
void cpu_not_16bit (Environment *_environment, char *_value, char *_result)
void cpu_not_32bit (Environment *_environment, char *_value, char *_result)
void cpu_di (Environment *_environment)
void cpu_ei (Environment *_environment)
void cpu_inc (Environment *_environment, char *_variable)
void cpu_dec (Environment *_environment, char *_variable)
void cpu_inc_16bit (Environment *_environment, char *_variable)
void cpu_inc_32bit (Environment *_environment, char *_variable)
void cpu_inc_nbit (Environment *_environment, char *_variable, int _bits)
void cpu_dec_16bit (Environment *_environment, char *_variable)
void cpu_dec_32bit (Environment *_environment, char *_variable)
void cpu_dec_nbit (Environment *_environment, char *_variable, int _bits)
void cpu_mem_move (Environment *_environment, char *_source, char *_destination, char *_size)
void cpu_mem_move_16bit (Environment *_environment, char *_source, char *_destination, char *_size)
void cpu_mem_move_direct (Environment *_environment, char *_source, char *_destination, char *_size)
void cpu_mem_move_direct2 (Environment *_environment, char *_source, char *_destination, char *_size)
void cpu_mem_move_direct2_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_mem_move_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_mem_move_direct_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_mem_move_direct_indirect_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_mem_move_indirect_direct_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_compare_memory (Environment *_environment, char *_source, char *_destination, char *_size, char *_result, int _equal)
void cpu_compare_memory_size (Environment *_environment, char *_source, char *_destination, int _size, char *_result, int _equal)
void cpu_less_than_memory (Environment *_environment, char *_source, char *_destination, char *_size, char *_result, int _equal)
void cpu_less_than_memory_size (Environment *_environment, char *_source, char *_destination, int _size, char *_result, int _equal)
void cpu_greater_than_memory (Environment *_environment, char *_source, char *_destination, char *_size, char *_result, int _equal)
void cpu_greater_than_memory_size (Environment *_environment, char *_source, char *_destination, int _size, char *_result, int _equal)
void cpu_math_add_16bit_with_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
void cpu_math_sub_16bit_with_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
void cpu_uppercase (Environment *_environment, char *_source, char *_size, char *_result)
void cpu_lowercase (Environment *_environment, char *_source, char *_size, char *_result)
void cpu_convert_string_into_8bit (Environment *_environment, char *_string, char *_len, char *_value)
void cpu_convert_string_into_16bit (Environment *_environment, char *_string, char *_len, char *_value)
void cpu_fill_indirect (Environment *_environment, char *_address, char *_size, char *_pattern, int _size_size)
void cpu_flip_8bit (Environment *_environment, char *_source, char *_destination)
void cpu_flip (Environment *_environment, char *_source, char *_size, char *_destination)
void cpu_move_8bit_indirect (Environment *_environment, char *_source, char *_value)
void cpu_move_8bit_with_offset2 (Environment *_environment, char *_source, char *_value, char *_offset)
void cpu_move_8bit_indirect_with_offset (Environment *_environment, char *_source, char *_value, int _offset)
void cpu_move_8bit_indirect2 (Environment *_environment, char *_value, char *_source)
void cpu_move_8bit_indirect2_8bit (Environment *_environment, char *_value, char *_offset, char *_source)
void cpu_move_8bit_indirect2_16bit (Environment *_environment, char *_value, char *_offset, char *_source)
void cpu_move_16bit_indirect (Environment *_environment, char *_source, char *_value)
void cpu_move_16bit_indirect2 (Environment *_environment, char *_value, char *_source)
void cpu_move_16bit_indirect2_8bit (Environment *_environment, char *_value, char *_offset, char *_source)
void cpu_move_32bit_indirect (Environment *_environment, char *_source, char *_value)
void cpu_move_nbit_indirect (Environment *_environment, int _n, char *_source, char *_value)
void cpu_move_32bit_indirect2 (Environment *_environment, char *_value, char *_source)
void cpu_move_nbit_indirect2 (Environment *_environment, int _n, char *_value, char *_source)
void cpu_math_div_32bit_to_16bit (Environment *_environment, char *_source, char *_destination, char *_other, char *_other_remainder, int _signed)
void cpu_math_div_32bit_to_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, char *_other_remainder, int _signed)
void cpu_math_div_16bit_to_16bit (Environment *_environment, char *_source, char *_destination, char *_other, char *_other_remainder, int _signed)
void cpu_math_div_16bit_to_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, char *_other_remainder, int _signed)
void cpu_math_div_nbit_to_nbit (Environment *_environment, char *_source, char *_destination, char *_other, char *_other_remainder, int _bits)
void cpu_math_div_nbit_to_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, char *_other_remainder, int _bits)
void cpu_math_div2_const_nbit (Environment *_environment, char *_source, int _steps, int _bits, char *_remainder)
void cpu_math_div_8bit_to_8bit (Environment *_environment, char *_source, char *_destination, char *_other, char *_other_remainder, int _signed)
void cpu_math_div_8bit_to_8bit_const (Environment *_environment, char *_source, int _destination, char *_other, char *_other_remainder, int _signed)
void cpu_bit_check (Environment *_environment, char *_value, int _position, char *_result, int _bitwidth)
void cpu_bit_check_extended (Environment *_environment, char *_value, char *_position, char *_result, int _bitwidth)
void cpu_bit_inplace_8bit (Environment *_environment, char *_value, int _position, int *_bit)
void cpu_bit_inplace_8bit_extended_indirect (Environment *_environment, char *_address, char *_position, char *_bit)
void cpu_number_to_string_vars (Environment *_environment)
void cpu_number_to_string (Environment *_environment, char *_number, char *_string, char *_string_size, int _bits, int _signed)
void cpu_bits_to_string_vars (Environment *_environment)
void cpu_bits_to_string (Environment *_environment, char *_number, char *_string, char *_string_size, int _bits, char *_zero, char *_one)
void cpu_hex_to_string_calc_string (Environment *_environment, char *_size, int _separator, char *_string_size)
void cpu_hex_to_string_calc_string_size (Environment *_environment, int _size, int _separator, char *_string_size)
void cpu_hex_to_string (Environment *_environment, char *_number, char *_string, char *_size, int _separator)
void cpu_dsdefine (Environment *_environment, char *_string, char *_index)
void cpu_dsalloc (Environment *_environment, char *_size, char *_index)
void cpu_dsalloc_size (Environment *_environment, int _size, char *_index)
void cpu_dsfree (Environment *_environment, char *_index)
void cpu_dswrite (Environment *_environment, char *_index)
void cpu_dsresize (Environment *_environment, char *_index, char *_resize)
void cpu_dsresize_size (Environment *_environment, char *_index, int _resize)
void cpu_dsgc (Environment *_environment)
void cpu_dsinit (Environment *_environment)
void cpu_dsdescriptor (Environment *_environment, char *_index, char *_address, char *_size)
void cpu_dsassign (Environment *_environment, char *_original, char *_copy)
void cpu_dsassign_string (Environment *_environment, char *_string, char *_copy)
void cpu_move_8bit_indirect_with_offset2 (Environment *_environment, char *_source, char *_value, char *_offset)
void cpu_complement2_8bit (Environment *_environment, char *_source, char *_destination)
void cpu_complement2_16bit (Environment *_environment, char *_source, char *_destination)
void cpu_complement2_32bit (Environment *_environment, char *_source, char *_destination)
void cpu_complement2_nbit (Environment *_environment, char *_source, char *_destination, int _bits)
void cpu_compare_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive, int _bits)
 CPU 6502: emit code to compare two 32 bit values
void cpu_sqroot (Environment *_environment, char *_number, char *_result)
void cpu_dstring_vars (Environment *_environment)
void cpu_protothread_vars (Environment *_environment)
void cpu_protothread_loop (Environment *_environment)
void cpu_protothread_register_at (Environment *_environment, char *_index, char *_label)
void cpu_protothread_register (Environment *_environment, char *_label, char *_index)
void cpu_protothread_unregister (Environment *_environment, char *_index)
void cpu_protothread_save (Environment *_environment, char *_index, int _step)
void cpu_protothread_restore (Environment *_environment, char *_index, char *_step)
void cpu_protothread_set_state (Environment *_environment, char *_index, int _state)
void cpu_protothread_get_state (Environment *_environment, char *_index, char *_state)
void cpu_protothread_get_address (Environment *_environment, char *_index, char *_address)
void cpu_protothread_current (Environment *_environment, char *_current)
void cpu_set_callback (Environment *_environment, char *_callback, char *_label)
void cpu_msc1_uncompress_direct_direct (Environment *_environment, char *_input, char *_output)
void cpu_msc1_uncompress_direct_indirect (Environment *_environment, char *_input, char *_output)
void cpu_msc1_uncompress_indirect_direct (Environment *_environment, char *_input, char *_output)
void cpu_msc1_uncompress_indirect_indirect (Environment *_environment, char *_input, char *_output)
void cpu_out (Environment *_environment, char *_port, char *_value)
void cpu_in (Environment *_environment, char *_port, char *_value)
void cpu_out_direct (Environment *_environment, char *_port, char *_value)
void cpu_in_direct (Environment *_environment, char *_port, char *_value)
void cpu_string_sub (Environment *_environment, char *_source, char *_source_size, char *_pattern, char *_pattern_size, char *_destination, char *_destination_size)
void cpu_blit_initialize (Environment *_environment)
void cpu_blit_finalize (Environment *_environment)
char * cpu_blit_register_name (Environment *_environment, int _register)
int cpu_blit_alloc_register (Environment *_environment)
void cpu_blit_free_register (Environment *_environment, int _register)
void cpu_store_nbit (Environment *_environment, char *_destination, int _n, int _value[])
 CPU Z80: emit code to store n bit
void cpu_move_nbit (Environment *_environment, int _n, char *_source, char *_destination)
 CPU Z80: emit code to store n bit
void cpu_compare_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive, int _bits)
 CPU Z80: emit code to compare n bit
void cpu_float_fast_from_double_to_int_array (Environment *_environment, double _value, int _result[])
void cpu_float_single_from_double_to_int_array (Environment *_environment, double _value, int _result[])
void cpu_float_double_from_double_to_int_array (Environment *_environment, double _value, int _result[])
void cpu_float_fast_to_string (Environment *_environment, char *_x, char *_string, char *_string_size)
void cpu_float_single_to_string (Environment *_environment, char *_x, char *_string, char *_string_size)
void cpu_float_double_to_string (Environment *_environment, char *_x, char *_string, char *_string_size)
void cpu_float_fast_from_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_fast_from_8 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_fast_to_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_fast_to_8 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_fast_add (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_sub (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_mul (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_div (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_cmp (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_sin (Environment *_environment, char *_angle, char *_result)
void cpu_float_fast_cos (Environment *_environment, char *_angle, char *_result)
void cpu_float_fast_tan (Environment *_environment, char *_angle, char *_result)
void cpu_float_fast_sqr (Environment *_environment, char *_value, char *_result)
void cpu_float_fast_mod1 (Environment *_environment, char *_value, char *_result)
void cpu_float_fast_neg (Environment *_environment, char *_value, char *_result)
void cpu_float_single_from_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_single_from_8 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_single_to_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_single_to_8 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_single_add (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_sub (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_mul (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_div (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_cmp (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_neg (Environment *_environment, char *_value, char *_result)
void cpu_float_single_sin (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_cos (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_tan (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_sqr (Environment *_environment, char *_value, char *_result)
void cpu_float_single_mod1 (Environment *_environment, char *_value, char *_result)
void cpu_address_table_build (Environment *_environment, char *_table, int *_values, char *_address[], int _count)
void cpu_address_table_lookup (Environment *_environment, char *_table, int _count)
void cpu_address_table_call (Environment *_environment, char *_table, char *_value, char *_address)
void cpu_move_8bit_signed_16bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_signed_16bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_unsigned_16bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_unsigned_16bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_signed_32bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_signed_32bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_unsigned_32bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_8bit_unsigned_32bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_signed_8bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_signed_8bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_unsigned_8bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_unsigned_8bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_signed_32bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_signed_32bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_unsigned_32bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_16bit_unsigned_32bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_signed_8bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_signed_8bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_unsigned_8bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_unsigned_8bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_signed_16bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_signed_16bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_unsigned_16bit_signed (Environment *_environment, char *_source, char *_destination)
void cpu_move_32bit_unsigned_16bit_unsigned (Environment *_environment, char *_source, char *_destination)
void cpu_float_fast_log (Environment *_environment, char *_value, char *_result)
void cpu_float_single_log (Environment *_environment, char *_value, char *_result)
void cpu_float_fast_exp (Environment *_environment, char *_value, char *_result)
void cpu_float_single_exp (Environment *_environment, char *_value, char *_result)
void cpu_encrypt (Environment *_environment, char *_data, char *_data_size, char *_key, char *_key_size, char *_output)
void cpu_decrypt (Environment *_environment, char *_data, char *_data_size, char *_key, char *_key_size, char *_output, char *_result)
void cpu_hex_to_bin (Environment *_environment, char *_value_address, char *_value_size, char *_variable_address, char *_variable_size, char *_result)
void cpu_dsfill (Environment *_environment, char *_string, char *_value)
void cpu_dsfill_value (Environment *_environment, char *_string, int _value)

Macro Definition Documentation

◆ SM83_BLII_REGISTER_COUNT

#define SM83_BLII_REGISTER_COUNT   ( sizeof( SM83_BLIT_REGISTER ) / 2 )

Definition at line 7568 of file sm83.c.

Function Documentation

◆ cpu_address_table_build()

void cpu_address_table_build ( Environment * _environment,
char * _table,
int * _values,
char * _address[],
int _count )

Definition at line 8078 of file sm83.c.

◆ cpu_address_table_call()

void cpu_address_table_call ( Environment * _environment,
char * _table,
char * _value,
char * _address )

Definition at line 8127 of file sm83.c.

◆ cpu_address_table_lookup()

void cpu_address_table_lookup ( Environment * _environment,
char * _table,
int _count )

Definition at line 8087 of file sm83.c.

◆ cpu_addressof_16bit()

void cpu_addressof_16bit ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 1699 of file sm83.c.

◆ cpu_and_16bit()

void cpu_and_16bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4304 of file sm83.c.

◆ cpu_and_32bit()

void cpu_and_32bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4325 of file sm83.c.

◆ cpu_and_8bit()

void cpu_and_8bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4280 of file sm83.c.

◆ cpu_and_8bit_const()

void cpu_and_8bit_const ( Environment * _environment,
char * _left,
int _right,
char * _result )

Definition at line 4294 of file sm83.c.

◆ cpu_beq()

void cpu_beq ( Environment * _environment,
char * _label )

Z80: emit code to make long conditional jump

CPU 6309: emit code to make long conditional jump

This function outputs a code that guarantees an arbitrary distance jump with conditional check on equality. In fact, the opcode BEQ of the Z80 processor allows to make a jump of maximum +/- 128 bytes with respect to the address where the processor is at that moment. To overcome this problem, this function will make a conditional jump to a very close location, which (in turn) will make an unconditional jump to the true destination.

Parameters
_environmentCurrent calling environment
_labelDestination of the conditional jump.

Definition at line 176 of file sm83.c.

◆ cpu_bit_check()

void cpu_bit_check ( Environment * _environment,
char * _value,
int _position,
char * _result,
int _bitwidth )

Definition at line 6636 of file sm83.c.

◆ cpu_bit_check_extended()

void cpu_bit_check_extended ( Environment * _environment,
char * _value,
char * _position,
char * _result,
int _bitwidth )

Definition at line 6654 of file sm83.c.

◆ cpu_bit_inplace_8bit()

void cpu_bit_inplace_8bit ( Environment * _environment,
char * _value,
int _position,
int * _bit )

Definition at line 6674 of file sm83.c.

◆ cpu_bit_inplace_8bit_extended_indirect()

void cpu_bit_inplace_8bit_extended_indirect ( Environment * _environment,
char * _address,
char * _position,
char * _bit )

Definition at line 6700 of file sm83.c.

◆ cpu_bits_to_string()

void cpu_bits_to_string ( Environment * _environment,
char * _number,
char * _string,
char * _string_size,
int _bits,
char * _zero,
char * _one )

Definition at line 6832 of file sm83.c.

◆ cpu_bits_to_string_vars()

void cpu_bits_to_string_vars ( Environment * _environment)

Definition at line 6825 of file sm83.c.

◆ cpu_blit_alloc_register()

int cpu_blit_alloc_register ( Environment * _environment)

Definition at line 7603 of file sm83.c.

◆ cpu_blit_finalize()

void cpu_blit_finalize ( Environment * _environment)

Definition at line 7582 of file sm83.c.

◆ cpu_blit_free_register()

void cpu_blit_free_register ( Environment * _environment,
int _register )

Definition at line 7641 of file sm83.c.

◆ cpu_blit_initialize()

void cpu_blit_initialize ( Environment * _environment)

Definition at line 7570 of file sm83.c.

◆ cpu_blit_register_name()

char * cpu_blit_register_name ( Environment * _environment,
int _register )

Definition at line 7594 of file sm83.c.

◆ cpu_bneq()

void cpu_bneq ( Environment * _environment,
char * _label )

Z80: emit code to make long conditional jump

CPU 6309: emit code to make long conditional jump

Parameters
_environmentCurrent calling environment
_labelDestination of the conditional jump.

Definition at line 192 of file sm83.c.

◆ cpu_busy_wait()

void cpu_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 4234 of file sm83.c.

◆ cpu_bveq()

void cpu_bveq ( Environment * _environment,
char * _value,
char * _label )

Definition at line 202 of file sm83.c.

◆ cpu_bvneq()

void cpu_bvneq ( Environment * _environment,
char * _value,
char * _label )

Definition at line 214 of file sm83.c.

◆ cpu_call()

void cpu_call ( Environment * _environment,
char * _label )

Definition at line 3543 of file sm83.c.

◆ cpu_call_addr()

void cpu_call_addr ( Environment * _environment,
int _address )

Definition at line 3537 of file sm83.c.

◆ cpu_call_indirect()

void cpu_call_indirect ( Environment * _environment,
char * _value )

Definition at line 3549 of file sm83.c.

◆ cpu_combine_nibbles()

void cpu_combine_nibbles ( Environment * _environment,
char * _low_nibble,
char * _hi_nibble,
char * _byte )

Z80: emit code to combine nibbles

Z80: emit code to combine nibbles

Definition at line 3516 of file sm83.c.

◆ cpu_compare_16bit()

void cpu_compare_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _positive )

Z80: emit code to compare two 16 bit values

CPU 6309: emit code to compare two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 1736 of file sm83.c.

◆ cpu_compare_16bit_const()

void cpu_compare_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _positive )

Z80: emit code to compare two 16 bit values

CPU 6309: emit code to compare two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 1795 of file sm83.c.

◆ cpu_compare_32bit()

void cpu_compare_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _positive )

Z80: emit code to compare two 32 bit values

CPU 6309: emit code to compare two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_positiveMeaning of comparison

Definition at line 2714 of file sm83.c.

◆ cpu_compare_32bit_const()

void cpu_compare_32bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _positive )

Z80: emit code to compare two 32 bit values

CPU 6309: emit code to compare two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_positiveMeaning of comparison

Definition at line 2784 of file sm83.c.

◆ cpu_compare_8bit()

void cpu_compare_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _positive )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_positiveMeaning of comparison

Definition at line 795 of file sm83.c.

◆ cpu_compare_8bit_const()

void cpu_compare_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _positive )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_positiveMeaning of comparison

Definition at line 834 of file sm83.c.

◆ cpu_compare_and_branch_16bit()

void cpu_compare_and_branch_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _label,
int _positive )

Definition at line 1834 of file sm83.c.

◆ cpu_compare_and_branch_16bit_const()

void cpu_compare_and_branch_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _label,
int _positive )

Z80: emit code to compare two 16 bit values and jump if they are equal/different

CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 1873 of file sm83.c.

◆ cpu_compare_and_branch_32bit_const()

void cpu_compare_and_branch_32bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _label,
int _positive )

Z80: emit code to compare two 32 bit values and jump if they are equal/different

CPU 6309: emit code to compare two 32 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 2816 of file sm83.c.

◆ cpu_compare_and_branch_8bit()

void cpu_compare_and_branch_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _label,
int _positive )

Definition at line 855 of file sm83.c.

◆ cpu_compare_and_branch_8bit_const()

void cpu_compare_and_branch_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _label,
int _positive )

Z80: emit code to compare two 8 bit values and jump if they are equal/different

CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 884 of file sm83.c.

◆ cpu_compare_and_branch_char_const()

void cpu_compare_and_branch_char_const ( Environment * _environment,
char * _source,
int _destination,
char * _label,
int _positive )

Z80: emit code to compare two 8 bit values and jump if they are equal/different

CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 956 of file sm83.c.

◆ cpu_compare_memory()

void cpu_compare_memory ( Environment * _environment,
char * _source,
char * _destination,
char * _size,
char * _result,
int _equal )

Definition at line 4931 of file sm83.c.

◆ cpu_compare_memory_size()

void cpu_compare_memory_size ( Environment * _environment,
char * _source,
char * _destination,
int _size,
char * _result,
int _equal )

Definition at line 4964 of file sm83.c.

◆ cpu_compare_nbit()

void cpu_compare_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _positive,
int _bits )

CPU Z80: emit code to compare n bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_nbits to store (>32)
_value[]Value to store (segmented in 32 bit each)

Definition at line 7814 of file sm83.c.

◆ cpu_compare_nbit_const()

void cpu_compare_nbit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _positive,
int _bits )

CPU 6502: emit code to compare two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_positiveMeaning of comparison

Definition at line 7216 of file sm83.c.

◆ cpu_complement2_16bit()

void cpu_complement2_16bit ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 7138 of file sm83.c.

◆ cpu_complement2_32bit()

void cpu_complement2_32bit ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 7160 of file sm83.c.

◆ cpu_complement2_8bit()

void cpu_complement2_8bit ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 7123 of file sm83.c.

◆ cpu_complement2_nbit()

void cpu_complement2_nbit ( Environment * _environment,
char * _source,
char * _destination,
int _bits )

Definition at line 7196 of file sm83.c.

◆ cpu_convert_string_into_16bit()

void cpu_convert_string_into_16bit ( Environment * _environment,
char * _string,
char * _len,
char * _value )

Definition at line 5255 of file sm83.c.

◆ cpu_convert_string_into_8bit()

void cpu_convert_string_into_8bit ( Environment * _environment,
char * _string,
char * _len,
char * _value )

Definition at line 5245 of file sm83.c.

◆ cpu_ctoa()

void cpu_ctoa ( Environment * _environment)

Definition at line 145 of file sm83.c.

◆ cpu_dec()

void cpu_dec ( Environment * _environment,
char * _variable )

Definition at line 4696 of file sm83.c.

◆ cpu_dec_16bit()

void cpu_dec_16bit ( Environment * _environment,
char * _variable )

Definition at line 4751 of file sm83.c.

◆ cpu_dec_32bit()

void cpu_dec_32bit ( Environment * _environment,
char * _variable )

Definition at line 4759 of file sm83.c.

◆ cpu_dec_nbit()

void cpu_dec_nbit ( Environment * _environment,
char * _variable,
int _bits )

Definition at line 4777 of file sm83.c.

◆ cpu_decrypt()

void cpu_decrypt ( Environment * _environment,
char * _data,
char * _data_size,
char * _key,
char * _key_size,
char * _output,
char * _result )

Definition at line 8442 of file sm83.c.

◆ cpu_di()

void cpu_di ( Environment * _environment)

Definition at line 4676 of file sm83.c.

◆ cpu_dsalloc()

void cpu_dsalloc ( Environment * _environment,
char * _size,
char * _index )

Definition at line 6964 of file sm83.c.

◆ cpu_dsalloc_size()

void cpu_dsalloc_size ( Environment * _environment,
int _size,
char * _index )

Definition at line 6977 of file sm83.c.

◆ cpu_dsassign()

void cpu_dsassign ( Environment * _environment,
char * _original,
char * _copy )

Definition at line 7082 of file sm83.c.

◆ cpu_dsassign_string()

void cpu_dsassign_string ( Environment * _environment,
char * _string,
char * _copy )

Definition at line 7096 of file sm83.c.

◆ cpu_dsdefine()

void cpu_dsdefine ( Environment * _environment,
char * _string,
char * _index )

Definition at line 6952 of file sm83.c.

◆ cpu_dsdescriptor()

void cpu_dsdescriptor ( Environment * _environment,
char * _index,
char * _address,
char * _size )

Definition at line 7056 of file sm83.c.

◆ cpu_dsfill()

void cpu_dsfill ( Environment * _environment,
char * _string,
char * _value )

Definition at line 8477 of file sm83.c.

◆ cpu_dsfill_value()

void cpu_dsfill_value ( Environment * _environment,
char * _string,
int _value )

Definition at line 8489 of file sm83.c.

◆ cpu_dsfree()

void cpu_dsfree ( Environment * _environment,
char * _index )

Definition at line 6990 of file sm83.c.

◆ cpu_dsgc()

void cpu_dsgc ( Environment * _environment)

Definition at line 7038 of file sm83.c.

◆ cpu_dsinit()

void cpu_dsinit ( Environment * _environment)

Definition at line 7047 of file sm83.c.

◆ cpu_dsresize()

void cpu_dsresize ( Environment * _environment,
char * _index,
char * _resize )

Definition at line 7012 of file sm83.c.

◆ cpu_dsresize_size()

void cpu_dsresize_size ( Environment * _environment,
char * _index,
int _resize )

Definition at line 7025 of file sm83.c.

◆ cpu_dstring_vars()

void cpu_dstring_vars ( Environment * _environment)

Definition at line 7261 of file sm83.c.

◆ cpu_dswrite()

void cpu_dswrite ( Environment * _environment,
char * _index )

Definition at line 7001 of file sm83.c.

◆ cpu_ei()

void cpu_ei ( Environment * _environment)

Definition at line 4682 of file sm83.c.

◆ cpu_encrypt()

void cpu_encrypt ( Environment * _environment,
char * _data,
char * _data_size,
char * _key,
char * _key_size,
char * _output )

Definition at line 8425 of file sm83.c.

◆ cpu_end()

void cpu_end ( Environment * _environment)

Definition at line 4123 of file sm83.c.

◆ cpu_execute_compare_and_branch_8bit_const()

void cpu_execute_compare_and_branch_8bit_const ( Environment * _environment,
int _destination,
char * _label,
int _positive )

Z80: emit code to compare two 8 bit values and jump if they are equal/different

CPU 6309: emit code to compare two 8 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 930 of file sm83.c.

◆ cpu_fill()

void cpu_fill ( Environment * _environment,
char * _address,
char * _bytes,
int _bytes_width,
char * _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 445 of file sm83.c.

◆ cpu_fill_blocks()

void cpu_fill_blocks ( Environment * _environment,
char * _address,
char * _blocks,
char * _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_blocksNumber of 256 bytes blocks to fill
_patternPattern to use

Definition at line 387 of file sm83.c.

◆ cpu_fill_direct()

void cpu_fill_direct ( Environment * _environment,
char * _address,
char * _bytes,
char * _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 584 of file sm83.c.

◆ cpu_fill_direct_size()

void cpu_fill_direct_size ( Environment * _environment,
char * _address,
int _bytes,
char * _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 621 of file sm83.c.

◆ cpu_fill_direct_size_value()

void cpu_fill_direct_size_value ( Environment * _environment,
char * _address,
int _bytes,
int _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 669 of file sm83.c.

◆ cpu_fill_indirect()

void cpu_fill_indirect ( Environment * _environment,
char * _address,
char * _size,
char * _pattern,
int _size_size )

Definition at line 5336 of file sm83.c.

◆ cpu_fill_size()

void cpu_fill_size ( Environment * _environment,
char * _address,
int _bytes,
char * _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 493 of file sm83.c.

◆ cpu_fill_size_value()

void cpu_fill_size_value ( Environment * _environment,
char * _address,
int _bytes,
int _pattern )

Z80: emit code to fill up a memory area

CPU 6309: emit code to fill up a memory area

This function can be used to output a piece of code that fills a given memory area with a given pattern (pattern size: 1 byte). The starting address must be contained in a variable, while the area must be a multiple of 256 bytes.

Parameters
_environmentCurrent calling environment
_addressStarting address
_bytesNumber of bytes to fill
_patternPattern to use

Definition at line 541 of file sm83.c.

◆ cpu_flip()

void cpu_flip ( Environment * _environment,
char * _source,
char * _size,
char * _destination )

Definition at line 5391 of file sm83.c.

◆ cpu_flip_8bit()

void cpu_flip_8bit ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 5373 of file sm83.c.

◆ cpu_float_double_from_double_to_int_array()

void cpu_float_double_from_double_to_int_array ( Environment * _environment,
double _value,
int _result[] )

Definition at line 7873 of file sm83.c.

◆ cpu_float_double_to_string()

void cpu_float_double_to_string ( Environment * _environment,
char * _x,
char * _string,
char * _string_size )

Definition at line 7891 of file sm83.c.

◆ cpu_float_fast_add()

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

Definition at line 7921 of file sm83.c.

◆ cpu_float_fast_cmp()

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

Definition at line 7945 of file sm83.c.

◆ cpu_float_fast_cos()

void cpu_float_fast_cos ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 7957 of file sm83.c.

◆ cpu_float_fast_div()

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

Definition at line 7939 of file sm83.c.

◆ cpu_float_fast_exp()

void cpu_float_fast_exp ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8413 of file sm83.c.

◆ cpu_float_fast_from_16()

void cpu_float_fast_from_16 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7897 of file sm83.c.

◆ cpu_float_fast_from_8()

void cpu_float_fast_from_8 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7903 of file sm83.c.

◆ cpu_float_fast_from_double_to_int_array()

void cpu_float_fast_from_double_to_int_array ( Environment * _environment,
double _value,
int _result[] )

Definition at line 7851 of file sm83.c.

◆ cpu_float_fast_log()

void cpu_float_fast_log ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8401 of file sm83.c.

◆ cpu_float_fast_mod1()

void cpu_float_fast_mod1 ( Environment * _environment,
char * _value,
char * _result )

Definition at line 7975 of file sm83.c.

◆ cpu_float_fast_mul()

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

Definition at line 7933 of file sm83.c.

◆ cpu_float_fast_neg()

void cpu_float_fast_neg ( Environment * _environment,
char * _value,
char * _result )

Definition at line 7981 of file sm83.c.

◆ cpu_float_fast_sin()

void cpu_float_fast_sin ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 7951 of file sm83.c.

◆ cpu_float_fast_sqr()

void cpu_float_fast_sqr ( Environment * _environment,
char * _value,
char * _result )

Definition at line 7969 of file sm83.c.

◆ cpu_float_fast_sub()

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

Definition at line 7927 of file sm83.c.

◆ cpu_float_fast_tan()

void cpu_float_fast_tan ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 7963 of file sm83.c.

◆ cpu_float_fast_to_16()

void cpu_float_fast_to_16 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7909 of file sm83.c.

◆ cpu_float_fast_to_8()

void cpu_float_fast_to_8 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7915 of file sm83.c.

◆ cpu_float_fast_to_string()

void cpu_float_fast_to_string ( Environment * _environment,
char * _x,
char * _string,
char * _string_size )

Definition at line 7879 of file sm83.c.

◆ cpu_float_single_add()

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

Definition at line 8012 of file sm83.c.

◆ cpu_float_single_cmp()

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

Definition at line 8036 of file sm83.c.

◆ cpu_float_single_cos()

void cpu_float_single_cos ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 8054 of file sm83.c.

◆ cpu_float_single_div()

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

Definition at line 8030 of file sm83.c.

◆ cpu_float_single_exp()

void cpu_float_single_exp ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8419 of file sm83.c.

◆ cpu_float_single_from_16()

void cpu_float_single_from_16 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7987 of file sm83.c.

◆ cpu_float_single_from_8()

void cpu_float_single_from_8 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 7993 of file sm83.c.

◆ cpu_float_single_from_double_to_int_array()

void cpu_float_single_from_double_to_int_array ( Environment * _environment,
double _value,
int _result[] )

Definition at line 7862 of file sm83.c.

◆ cpu_float_single_log()

void cpu_float_single_log ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8407 of file sm83.c.

◆ cpu_float_single_mod1()

void cpu_float_single_mod1 ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8072 of file sm83.c.

◆ cpu_float_single_mul()

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

Definition at line 8024 of file sm83.c.

◆ cpu_float_single_neg()

void cpu_float_single_neg ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8042 of file sm83.c.

◆ cpu_float_single_sin()

void cpu_float_single_sin ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 8048 of file sm83.c.

◆ cpu_float_single_sqr()

void cpu_float_single_sqr ( Environment * _environment,
char * _value,
char * _result )

Definition at line 8066 of file sm83.c.

◆ cpu_float_single_sub()

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

Definition at line 8018 of file sm83.c.

◆ cpu_float_single_tan()

void cpu_float_single_tan ( Environment * _environment,
char * _angle,
char * _result )

Definition at line 8060 of file sm83.c.

◆ cpu_float_single_to_16()

void cpu_float_single_to_16 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 8000 of file sm83.c.

◆ cpu_float_single_to_8()

void cpu_float_single_to_8 ( Environment * _environment,
char * _value,
char * _result,
int _signed )

Definition at line 8006 of file sm83.c.

◆ cpu_float_single_to_string()

void cpu_float_single_to_string ( Environment * _environment,
char * _x,
char * _string,
char * _string_size )

Definition at line 7885 of file sm83.c.

◆ cpu_get_asmio_indirect()

void cpu_get_asmio_indirect ( Environment * _environment,
int _asmio,
char * _value )

Definition at line 3945 of file sm83.c.

◆ cpu_greater_than_16bit()

void cpu_greater_than_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 2135 of file sm83.c.

◆ cpu_greater_than_16bit_const()

void cpu_greater_than_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 2146 of file sm83.c.

◆ cpu_greater_than_32bit()

void cpu_greater_than_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 3062 of file sm83.c.

◆ cpu_greater_than_32bit_const()

void cpu_greater_than_32bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 3073 of file sm83.c.

◆ cpu_greater_than_8bit()

void cpu_greater_than_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 1261 of file sm83.c.

◆ cpu_greater_than_8bit_const()

void cpu_greater_than_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 1272 of file sm83.c.

◆ cpu_greater_than_memory()

void cpu_greater_than_memory ( Environment * _environment,
char * _source,
char * _destination,
char * _size,
char * _result,
int _equal )

Definition at line 5068 of file sm83.c.

◆ cpu_greater_than_memory_size()

void cpu_greater_than_memory_size ( Environment * _environment,
char * _source,
char * _destination,
int _size,
char * _result,
int _equal )

Definition at line 5101 of file sm83.c.

◆ cpu_greater_than_nbit()

void cpu_greater_than_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _bits )

Definition at line 3080 of file sm83.c.

◆ cpu_greater_than_nbit_const()

void cpu_greater_than_nbit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _bits )

Definition at line 3095 of file sm83.c.

◆ cpu_halt()

void cpu_halt ( Environment * _environment)

Definition at line 4114 of file sm83.c.

◆ cpu_hex_to_bin()

void cpu_hex_to_bin ( Environment * _environment,
char * _value_address,
char * _value_size,
char * _variable_address,
char * _variable_size,
char * _result )

Definition at line 8461 of file sm83.c.

◆ cpu_hex_to_string()

void cpu_hex_to_string ( Environment * _environment,
char * _number,
char * _string,
char * _size,
int _separator )

Definition at line 6932 of file sm83.c.

◆ cpu_hex_to_string_calc_string()

void cpu_hex_to_string_calc_string ( Environment * _environment,
char * _size,
int _separator,
char * _string_size )

Definition at line 6900 of file sm83.c.

◆ cpu_hex_to_string_calc_string_size()

void cpu_hex_to_string_calc_string_size ( Environment * _environment,
int _size,
int _separator,
char * _string_size )

Definition at line 6916 of file sm83.c.

◆ cpu_in()

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

Definition at line 7502 of file sm83.c.

◆ cpu_in_direct()

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

Definition at line 7519 of file sm83.c.

◆ cpu_inc()

void cpu_inc ( Environment * _environment,
char * _variable )

Definition at line 4688 of file sm83.c.

◆ cpu_inc_16bit()

void cpu_inc_16bit ( Environment * _environment,
char * _variable )

Definition at line 4704 of file sm83.c.

◆ cpu_inc_32bit()

void cpu_inc_32bit ( Environment * _environment,
char * _variable )

Definition at line 4712 of file sm83.c.

◆ cpu_inc_nbit()

void cpu_inc_nbit ( Environment * _environment,
char * _variable,
int _bits )

Definition at line 4732 of file sm83.c.

◆ cpu_init()

void cpu_init ( Environment * _environment)

Definition at line 45 of file sm83.c.

◆ cpu_jump()

void cpu_jump ( Environment * _environment,
char * _label )

Definition at line 3531 of file sm83.c.

◆ cpu_jump_indirect()

void cpu_jump_indirect ( Environment * _environment,
char * _value )

Definition at line 3563 of file sm83.c.

◆ cpu_label()

void cpu_label ( Environment * _environment,
char * _label )

Definition at line 226 of file sm83.c.

◆ cpu_less_than_16bit()

void cpu_less_than_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 1908 of file sm83.c.

◆ cpu_less_than_16bit_const()

void cpu_less_than_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 2029 of file sm83.c.

◆ cpu_less_than_32bit()

void cpu_less_than_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 2858 of file sm83.c.

◆ cpu_less_than_32bit_const()

void cpu_less_than_32bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 2950 of file sm83.c.

◆ cpu_less_than_8bit()

void cpu_less_than_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _signed )

Z80: emit code to compare two 8 bit values

CPU 6309: emit code to compare two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare and destination address for result (if _other is NULL)
_otherDestination address for result
_equalTrue if equal

Definition at line 983 of file sm83.c.

◆ cpu_less_than_8bit_const()

void cpu_less_than_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _signed )

Definition at line 1089 of file sm83.c.

◆ cpu_less_than_and_branch_8bit_const()

void cpu_less_than_and_branch_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _label,
int _equal,
int _signed )

Definition at line 1171 of file sm83.c.

◆ cpu_less_than_memory()

void cpu_less_than_memory ( Environment * _environment,
char * _source,
char * _destination,
char * _size,
char * _result,
int _equal )

Definition at line 4994 of file sm83.c.

◆ cpu_less_than_memory_size()

void cpu_less_than_memory_size ( Environment * _environment,
char * _source,
char * _destination,
int _size,
char * _result,
int _equal )

Definition at line 5031 of file sm83.c.

◆ cpu_less_than_nbit()

void cpu_less_than_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _equal,
int _bits )

Definition at line 3000 of file sm83.c.

◆ cpu_less_than_nbit_const()

void cpu_less_than_nbit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
int _equal,
int _bits )

Definition at line 2903 of file sm83.c.

◆ cpu_limit_16bit()

void cpu_limit_16bit ( Environment * _environment,
char * _variable,
int _value )

Definition at line 4221 of file sm83.c.

◆ cpu_logical_and_8bit()

void cpu_logical_and_8bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4259 of file sm83.c.

◆ cpu_logical_not_8bit()

void cpu_logical_not_8bit ( Environment * _environment,
char * _value,
char * _result )

Definition at line 4620 of file sm83.c.

◆ cpu_logical_or_8bit()

void cpu_logical_or_8bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4360 of file sm83.c.

◆ cpu_lowercase()

void cpu_lowercase ( Environment * _environment,
char * _source,
char * _size,
char * _result )

Definition at line 5205 of file sm83.c.

◆ cpu_math_add_16bit()

void cpu_math_add_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to add two 16 bit values

CPU 6309: emit code to add two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add (memory)
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2161 of file sm83.c.

◆ cpu_math_add_16bit_const()

void cpu_math_add_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other )

CPU 6502: emit code to add two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2180 of file sm83.c.

◆ cpu_math_add_16bit_with_16bit()

void cpu_math_add_16bit_with_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

CPU 6309: emit code to add two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

CPU 6309: emit code to add two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2193 of file sm83.c.

◆ cpu_math_add_16bit_with_8bit()

void cpu_math_add_16bit_with_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Definition at line 5134 of file sm83.c.

◆ cpu_math_add_32bit()

void cpu_math_add_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to add two 32 bit values

CPU 6309: emit code to add two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 3114 of file sm83.c.

◆ cpu_math_add_32bit_const()

void cpu_math_add_32bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other )

Definition at line 3168 of file sm83.c.

◆ cpu_math_add_8bit()

void cpu_math_add_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to add two 8 bit values

CPU 6309: emit code to add two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 1287 of file sm83.c.

◆ cpu_math_add_8bit_const()

void cpu_math_add_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other )

CPU 6502: emit code to add two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to add
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 1306 of file sm83.c.

◆ cpu_math_add_nbit()

void cpu_math_add_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _bits )

Definition at line 3146 of file sm83.c.

◆ cpu_math_and_const_16bit()

void cpu_math_and_const_16bit ( Environment * _environment,
char * _source,
int _mask )

Z80: emit code to mask with "and" a value of 16 bit

CPU 6309: emit code to mask with "and" a value of 16 bit

Parameters
_environmentCurrent calling environment
_sourceValue to mask (and destination of mask operation)
_maskMask to use

Definition at line 2642 of file sm83.c.

◆ cpu_math_and_const_32bit()

void cpu_math_and_const_32bit ( Environment * _environment,
char * _source,
int _mask )

Z80: emit code to mask with "and" a value of 32 bit

CPU 6309: emit code to mask with "and" a value of 32 bit

Parameters
_environmentCurrent calling environment
_sourceValue to mask (and destination of mask operation)
_maskMask to use

Definition at line 3492 of file sm83.c.

◆ cpu_math_and_const_8bit()

void cpu_math_and_const_8bit ( Environment * _environment,
char * _source,
int _mask )

Z80: emit code to mask with "and" a value of 8 bit

CPU 6309: emit code to mask with "and" a value of 8 bit

Parameters
_environmentCurrent calling environment
_sourceValue to mask (and destination of mask operation)
_maskMask to use

Definition at line 1665 of file sm83.c.

◆ cpu_math_complement_const_16bit()

void cpu_math_complement_const_16bit ( Environment * _environment,
char * _source,
int _value )

Z80: emit code to calculate a 16 bit complement of a number

CPU 6309: emit code to calculate a 16 bit complement of a number

Parameters
_environmentCurrent calling environment
_sourceValue to complement
_valueValure to use as base for complement

Definition at line 2481 of file sm83.c.

◆ cpu_math_complement_const_32bit()

void cpu_math_complement_const_32bit ( Environment * _environment,
char * _source,
int _value )

Z80: emit code to calculate a 32 bit complement of a number

CPU 6309: emit code to calculate a 32 bit complement of a number

Parameters
_environmentCurrent calling environment
_sourceValue to complement
_valueValure to use as base for complement

Definition at line 3304 of file sm83.c.

◆ cpu_math_complement_const_8bit()

void cpu_math_complement_const_8bit ( Environment * _environment,
char * _source,
int _value )

Z80: emit code to calculate an 8 bit complement of a number

CPU 6309: emit code to calculate an 8 bit complement of a number

Parameters
_environmentCurrent calling environment
_sourceValue to complement
_valueValure to use as base for complement

Definition at line 1644 of file sm83.c.

◆ cpu_math_div2_const_16bit()

void cpu_math_div2_const_16bit ( Environment * _environment,
char * _source,
int _steps,
int _signed,
char * _remainder )

Z80: emit code to halves for several times a 16 bit value

CPU 6309: emit code to halves for several times a 16 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to halves and destination for result
_stepsTimes to halves

Definition at line 2510 of file sm83.c.

◆ cpu_math_div2_const_32bit()

void cpu_math_div2_const_32bit ( Environment * _environment,
char * _source,
int _steps,
int _signed,
char * _remainder )

Z80: emit code to halves for several times a 32 bit value

CPU 6309: emit code to halves for several times a 32 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to halves and destination for result
_stepsTimes to halves

Definition at line 3351 of file sm83.c.

◆ cpu_math_div2_const_8bit()

void cpu_math_div2_const_8bit ( Environment * _environment,
char * _source,
int _steps,
int _signed,
char * _remainder )

Z80: emit code to halves for several times a 8 bit value

CPU 6309: emit code to halves for several times a 8 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to halves and destination for result
_stepsTimes to halves

Definition at line 1519 of file sm83.c.

◆ cpu_math_div2_const_nbit()

void cpu_math_div2_const_nbit ( Environment * _environment,
char * _source,
int _steps,
int _bits,
char * _remainder )

Definition at line 6412 of file sm83.c.

◆ cpu_math_div_16bit_to_16bit()

void cpu_math_div_16bit_to_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 6027 of file sm83.c.

◆ cpu_math_div_16bit_to_16bit_const()

void cpu_math_div_16bit_to_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 6142 of file sm83.c.

◆ cpu_math_div_32bit_to_16bit()

void cpu_math_div_32bit_to_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 5732 of file sm83.c.

◆ cpu_math_div_32bit_to_16bit_const()

void cpu_math_div_32bit_to_16bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 5888 of file sm83.c.

◆ cpu_math_div_8bit_to_8bit()

void cpu_math_div_8bit_to_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 6456 of file sm83.c.

◆ cpu_math_div_8bit_to_8bit_const()

void cpu_math_div_8bit_to_8bit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
char * _other_remainder,
int _signed )

Definition at line 6546 of file sm83.c.

◆ cpu_math_div_nbit_to_nbit()

void cpu_math_div_nbit_to_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
char * _other_remainder,
int _bits )

Definition at line 6249 of file sm83.c.

◆ cpu_math_div_nbit_to_nbit_const()

void cpu_math_div_nbit_to_nbit_const ( Environment * _environment,
char * _source,
int _destination,
char * _other,
char * _other_remainder,
int _bits )

Definition at line 6379 of file sm83.c.

◆ cpu_math_double_16bit()

void cpu_math_double_16bit ( Environment * _environment,
char * _source,
char * _other,
int _signed )

Z80: emit code to double a 16 bit value

CPU 6309: emit code to double a 16 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to double and destination for result (if _other is NULL)
_otherDestination address for result

Definition at line 2214 of file sm83.c.

◆ cpu_math_double_32bit()

void cpu_math_double_32bit ( Environment * _environment,
char * _source,
char * _other,
int _signed )

Z80: emit code to double a 32 bit value

CPU 6309: emit code to double a 32 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to double and destination for result (if _other is NULL)
_otherDestination address for result

Definition at line 3197 of file sm83.c.

◆ cpu_math_double_8bit()

void cpu_math_double_8bit ( Environment * _environment,
char * _source,
char * _other,
int _signed )

Z80: emit code to double a 8 bit value

CPU 6309: emit code to double a 8 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to double and destination for result (if _other is NULL)
_otherDestination address for result

Definition at line 1357 of file sm83.c.

◆ cpu_math_mul2_const_16bit()

void cpu_math_mul2_const_16bit ( Environment * _environment,
char * _source,
int _steps,
int _signed )

Z80: emit code to halves for several times a 8 bit value

CPU 6309: emit code to halves for several times a 8 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to halves and destination for result
_stepsTimes to halves

Definition at line 2592 of file sm83.c.

◆ cpu_math_mul2_const_32bit()

void cpu_math_mul2_const_32bit ( Environment * _environment,
char * _source,
int _steps,
int _signed )

Z80: emit code to double for several times a 32 bit value

CPU 6309: emit code to double for several times a 32 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to double and destination for result
_stepsTimes to double

Definition at line 3426 of file sm83.c.

◆ cpu_math_mul2_const_8bit()

void cpu_math_mul2_const_8bit ( Environment * _environment,
char * _source,
int _steps,
int _signed )

Z80: emit code to double for several times a 8 bit value

CPU 6309: emit code to double for several times a 8 bit value

Parameters
_environmentCurrent calling environment
_sourceValue to double and destination for result
_stepsTimes to double

Definition at line 1591 of file sm83.c.

◆ cpu_math_mul2_const_nbit()

void cpu_math_mul2_const_nbit ( Environment * _environment,
char * _source,
int _steps,
int _bits )

Definition at line 2414 of file sm83.c.

◆ cpu_math_mul_16bit_to_32bit()

void cpu_math_mul_16bit_to_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _signed )

Z80: emit code to multiply two 16 bit values in a 32 bit register

CPU 6309: emit code to multiply two 16 bit values in a 32 bit register

Parameters
_environmentCurrent calling environment
_sourceFirst value to multipy (16 bit)
_destinationSecond value to multipy (16 bit)
_otherDestination address for result (32 bit)

Definition at line 2239 of file sm83.c.

◆ cpu_math_mul_8bit_to_16bit()

void cpu_math_mul_8bit_to_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _signed )

Z80: emit code to multiply two 8bit values in a 16 bit register

CPU 6309: emit code to multiply two 8bit values in a 16 bit register

Parameters
_environmentCurrent calling environment
_sourceFirst value to multipy (8 bit)
_destinationSecond value to multipy (8 bit)
_otherDestination address for result (16 bit)

Definition at line 1394 of file sm83.c.

◆ cpu_math_mul_nbit_to_nbit()

void cpu_math_mul_nbit_to_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _bits )

Definition at line 2279 of file sm83.c.

◆ cpu_math_sub_16bit()

void cpu_math_sub_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to subtract two 16 bit values

CPU 6309: emit code to subtract two 16 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to subtract
_destinationSecond value to subtract and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2454 of file sm83.c.

◆ cpu_math_sub_16bit_with_8bit()

void cpu_math_sub_16bit_with_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Definition at line 5149 of file sm83.c.

◆ cpu_math_sub_32bit()

void cpu_math_sub_32bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to subtract two 32 bit values

CPU 6309: emit code to subtract two 32 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to subtract
_destinationSecond value to subtract and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 3219 of file sm83.c.

◆ cpu_math_sub_8bit()

void cpu_math_sub_8bit ( Environment * _environment,
char * _source,
char * _destination,
char * _other )

Z80: emit code to subtract two 8 bit values

CPU 6309: emit code to subtract two 8 bit values

Parameters
_environmentCurrent calling environment
_sourceFirst value to subtract
_destinationSecond value to subtract and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 1330 of file sm83.c.

◆ cpu_math_sub_nbit()

void cpu_math_sub_nbit ( Environment * _environment,
char * _source,
char * _destination,
char * _other,
int _bits )

Definition at line 3274 of file sm83.c.

◆ cpu_mem_move()

void cpu_mem_move ( Environment * _environment,
char * _source,
char * _destination,
char * _size )

Definition at line 4797 of file sm83.c.

◆ cpu_mem_move_16bit()

void cpu_mem_move_16bit ( Environment * _environment,
char * _source,
char * _destination,
char * _size )

Definition at line 4812 of file sm83.c.

◆ cpu_mem_move_direct()

void cpu_mem_move_direct ( Environment * _environment,
char * _source,
char * _destination,
char * _size )

Definition at line 4826 of file sm83.c.

◆ cpu_mem_move_direct2()

void cpu_mem_move_direct2 ( Environment * _environment,
char * _source,
char * _destination,
char * _size )

Definition at line 4839 of file sm83.c.

◆ cpu_mem_move_direct2_size()

void cpu_mem_move_direct2_size ( Environment * _environment,
char * _source,
char * _destination,
int _size )

Definition at line 4851 of file sm83.c.

◆ cpu_mem_move_direct_indirect_size()

void cpu_mem_move_direct_indirect_size ( Environment * _environment,
char * _source,
char * _destination,
int _size )

Definition at line 4897 of file sm83.c.

◆ cpu_mem_move_direct_size()

void cpu_mem_move_direct_size ( Environment * _environment,
char * _source,
char * _destination,
int _size )

Definition at line 4881 of file sm83.c.

◆ cpu_mem_move_indirect_direct_size()

void cpu_mem_move_indirect_direct_size ( Environment * _environment,
char * _source,
char * _destination,
int _size )

Definition at line 4915 of file sm83.c.

◆ cpu_mem_move_size()

void cpu_mem_move_size ( Environment * _environment,
char * _source,
char * _destination,
int _size )

Definition at line 4862 of file sm83.c.

◆ cpu_move_16bit()

void cpu_move_16bit ( Environment * _environment,
char * _source,
char * _destination )

Z80: emit code to move 16 bit

CPU 6309: emit code to move 16 bit

Parameters
_environmentCurrent calling environment
_sourceSource of movement
_destinationDestination of movement

Definition at line 1688 of file sm83.c.

◆ cpu_move_16bit_indirect()

void cpu_move_16bit_indirect ( Environment * _environment,
char * _source,
char * _value )

Definition at line 5475 of file sm83.c.

◆ cpu_move_16bit_indirect2()

void cpu_move_16bit_indirect2 ( Environment * _environment,
char * _value,
char * _source )

Definition at line 5489 of file sm83.c.

◆ cpu_move_16bit_indirect2_8bit()

void cpu_move_16bit_indirect2_8bit ( Environment * _environment,
char * _value,
char * _offset,
char * _source )

Definition at line 5502 of file sm83.c.

◆ cpu_move_16bit_signed_32bit_signed()

void cpu_move_16bit_signed_32bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8283 of file sm83.c.

◆ cpu_move_16bit_signed_32bit_unsigned()

void cpu_move_16bit_signed_32bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8300 of file sm83.c.

◆ cpu_move_16bit_signed_8bit_signed()

void cpu_move_16bit_signed_8bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8254 of file sm83.c.

◆ cpu_move_16bit_signed_8bit_unsigned()

void cpu_move_16bit_signed_8bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8261 of file sm83.c.

◆ cpu_move_16bit_unsigned_32bit_signed()

void cpu_move_16bit_unsigned_32bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8317 of file sm83.c.

◆ cpu_move_16bit_unsigned_32bit_unsigned()

void cpu_move_16bit_unsigned_32bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8332 of file sm83.c.

◆ cpu_move_16bit_unsigned_8bit_signed()

void cpu_move_16bit_unsigned_8bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8268 of file sm83.c.

◆ cpu_move_16bit_unsigned_8bit_unsigned()

void cpu_move_16bit_unsigned_8bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8275 of file sm83.c.

◆ cpu_move_32bit()

void cpu_move_32bit ( Environment * _environment,
char * _source,
char * _destination )

Z80: emit code to move 32 bit

CPU 6309: emit code to move 32 bit

Parameters
_environmentCurrent calling environment
_sourceSource of movement
_destinationDestination of movement

Definition at line 2668 of file sm83.c.

◆ cpu_move_32bit_indirect()

void cpu_move_32bit_indirect ( Environment * _environment,
char * _source,
char * _value )

Definition at line 5519 of file sm83.c.

◆ cpu_move_32bit_indirect2()

void cpu_move_32bit_indirect2 ( Environment * _environment,
char * _value,
char * _source )

Definition at line 5625 of file sm83.c.

◆ cpu_move_32bit_signed_16bit_signed()

void cpu_move_32bit_signed_16bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8373 of file sm83.c.

◆ cpu_move_32bit_signed_16bit_unsigned()

void cpu_move_32bit_signed_16bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8380 of file sm83.c.

◆ cpu_move_32bit_signed_8bit_signed()

void cpu_move_32bit_signed_8bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8348 of file sm83.c.

◆ cpu_move_32bit_signed_8bit_unsigned()

void cpu_move_32bit_signed_8bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8354 of file sm83.c.

◆ cpu_move_32bit_unsigned_16bit_signed()

void cpu_move_32bit_unsigned_16bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8387 of file sm83.c.

◆ cpu_move_32bit_unsigned_16bit_unsigned()

void cpu_move_32bit_unsigned_16bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8394 of file sm83.c.

◆ cpu_move_32bit_unsigned_8bit_signed()

void cpu_move_32bit_unsigned_8bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8360 of file sm83.c.

◆ cpu_move_32bit_unsigned_8bit_unsigned()

void cpu_move_32bit_unsigned_8bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8366 of file sm83.c.

◆ cpu_move_8bit()

void cpu_move_8bit ( Environment * _environment,
char * _source,
char * _destination )

Z80: emit code to move 8 bit

CPU 6309: emit code to move 8 bit

Parameters
_environmentCurrent calling environment
_sourceSource of movement
_destinationDestination of movement

Definition at line 710 of file sm83.c.

◆ cpu_move_8bit_indirect()

void cpu_move_8bit_indirect ( Environment * _environment,
char * _source,
char * _value )

Definition at line 5408 of file sm83.c.

◆ cpu_move_8bit_indirect2()

void cpu_move_8bit_indirect2 ( Environment * _environment,
char * _value,
char * _source )

Definition at line 5440 of file sm83.c.

◆ cpu_move_8bit_indirect2_16bit()

void cpu_move_8bit_indirect2_16bit ( Environment * _environment,
char * _value,
char * _offset,
char * _source )

Definition at line 5463 of file sm83.c.

◆ cpu_move_8bit_indirect2_8bit()

void cpu_move_8bit_indirect2_8bit ( Environment * _environment,
char * _value,
char * _offset,
char * _source )

Definition at line 5450 of file sm83.c.

◆ cpu_move_8bit_indirect_with_offset()

void cpu_move_8bit_indirect_with_offset ( Environment * _environment,
char * _source,
char * _value,
int _offset )

Definition at line 5430 of file sm83.c.

◆ cpu_move_8bit_indirect_with_offset2()

void cpu_move_8bit_indirect_with_offset2 ( Environment * _environment,
char * _source,
char * _value,
char * _offset )

Definition at line 7110 of file sm83.c.

◆ cpu_move_8bit_signed_16bit_signed()

void cpu_move_8bit_signed_16bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8143 of file sm83.c.

◆ cpu_move_8bit_signed_16bit_unsigned()

void cpu_move_8bit_signed_16bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8155 of file sm83.c.

◆ cpu_move_8bit_signed_32bit_signed()

void cpu_move_8bit_signed_32bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8189 of file sm83.c.

◆ cpu_move_8bit_signed_32bit_unsigned()

void cpu_move_8bit_signed_32bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8205 of file sm83.c.

◆ cpu_move_8bit_unsigned_16bit_signed()

void cpu_move_8bit_unsigned_16bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8167 of file sm83.c.

◆ cpu_move_8bit_unsigned_16bit_unsigned()

void cpu_move_8bit_unsigned_16bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8178 of file sm83.c.

◆ cpu_move_8bit_unsigned_32bit_signed()

void cpu_move_8bit_unsigned_32bit_signed ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8221 of file sm83.c.

◆ cpu_move_8bit_unsigned_32bit_unsigned()

void cpu_move_8bit_unsigned_32bit_unsigned ( Environment * _environment,
char * _source,
char * _destination )

Definition at line 8237 of file sm83.c.

◆ cpu_move_8bit_with_offset2()

void cpu_move_8bit_with_offset2 ( Environment * _environment,
char * _source,
char * _value,
char * _offset )

Definition at line 5418 of file sm83.c.

◆ cpu_move_nbit()

void cpu_move_nbit ( Environment * _environment,
int _n,
char * _source,
char * _destination )

CPU Z80: emit code to store n bit

CPU cpu6309: emit code to store n bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_nbits to store (>32)
_value[]Value to store (segmented in 32 bit each)

Definition at line 7743 of file sm83.c.

◆ cpu_move_nbit_indirect()

void cpu_move_nbit_indirect ( Environment * _environment,
int _n,
char * _source,
char * _value )

Definition at line 5541 of file sm83.c.

◆ cpu_move_nbit_indirect2()

void cpu_move_nbit_indirect2 ( Environment * _environment,
int _n,
char * _value,
char * _source )

Definition at line 5647 of file sm83.c.

◆ cpu_msc1_uncompress_direct_direct()

void cpu_msc1_uncompress_direct_direct ( Environment * _environment,
char * _input,
char * _output )

Definition at line 7425 of file sm83.c.

◆ cpu_msc1_uncompress_direct_indirect()

void cpu_msc1_uncompress_direct_indirect ( Environment * _environment,
char * _input,
char * _output )

Definition at line 7441 of file sm83.c.

◆ cpu_msc1_uncompress_indirect_direct()

void cpu_msc1_uncompress_indirect_direct ( Environment * _environment,
char * _input,
char * _output )

Definition at line 7459 of file sm83.c.

◆ cpu_msc1_uncompress_indirect_indirect()

void cpu_msc1_uncompress_indirect_indirect ( Environment * _environment,
char * _input,
char * _output )

Definition at line 7475 of file sm83.c.

◆ cpu_nop()

void cpu_nop ( Environment * _environment)

Definition at line 122 of file sm83.c.

◆ cpu_not_16bit()

void cpu_not_16bit ( Environment * _environment,
char * _value,
char * _result )

Definition at line 4636 of file sm83.c.

◆ cpu_not_32bit()

void cpu_not_32bit ( Environment * _environment,
char * _value,
char * _result )

Definition at line 4651 of file sm83.c.

◆ cpu_not_8bit()

void cpu_not_8bit ( Environment * _environment,
char * _value,
char * _result )

Definition at line 4628 of file sm83.c.

◆ cpu_number_to_string()

void cpu_number_to_string ( Environment * _environment,
char * _number,
char * _string,
char * _string_size,
int _bits,
int _signed )

Definition at line 6736 of file sm83.c.

◆ cpu_number_to_string_vars()

void cpu_number_to_string_vars ( Environment * _environment)

Definition at line 6728 of file sm83.c.

◆ cpu_or_16bit()

void cpu_or_16bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4403 of file sm83.c.

◆ cpu_or_32bit()

void cpu_or_32bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4423 of file sm83.c.

◆ cpu_or_8bit()

void cpu_or_8bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4379 of file sm83.c.

◆ cpu_or_8bit_const()

void cpu_or_8bit_const ( Environment * _environment,
char * _left,
int _right,
char * _result )

Definition at line 4392 of file sm83.c.

◆ cpu_out()

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

Definition at line 7493 of file sm83.c.

◆ cpu_out_direct()

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

Definition at line 7511 of file sm83.c.

◆ cpu_peek()

void cpu_peek ( Environment * _environment,
char * _address,
char * _target )

Definition at line 230 of file sm83.c.

◆ cpu_peekd()

void cpu_peekd ( Environment * _environment,
char * _address,
char * _target )

Definition at line 311 of file sm83.c.

◆ cpu_peekw()

void cpu_peekw ( Environment * _environment,
char * _address,
char * _target )

Definition at line 266 of file sm83.c.

◆ cpu_poke()

void cpu_poke ( Environment * _environment,
char * _address,
char * _source )

Definition at line 242 of file sm83.c.

◆ cpu_poke_const()

void cpu_poke_const ( Environment * _environment,
char * _address,
int _source )

Definition at line 254 of file sm83.c.

◆ cpu_poked()

void cpu_poked ( Environment * _environment,
char * _address,
char * _source )

Definition at line 332 of file sm83.c.

◆ cpu_poked_const()

void cpu_poked_const ( Environment * _environment,
char * _address,
int _source )

Definition at line 353 of file sm83.c.

◆ cpu_pokew()

void cpu_pokew ( Environment * _environment,
char * _address,
char * _source )

Definition at line 281 of file sm83.c.

◆ cpu_pokew_const()

void cpu_pokew_const ( Environment * _environment,
char * _address,
int _source )

Definition at line 296 of file sm83.c.

◆ cpu_pop()

void cpu_pop ( Environment * _environment)

Definition at line 4108 of file sm83.c.

◆ cpu_port_out()

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

Z80: emit code to send one byte throught a I/O port

Parameters
_environmentCurrent calling environment
_portPort to connect
_valueValue to send

Definition at line 4252 of file sm83.c.

◆ cpu_prepare_for_compare_and_branch_8bit()

void cpu_prepare_for_compare_and_branch_8bit ( Environment * _environment,
char * _source )

Z80: emit code to compare two 8 bit values and jump if they are equal/different

Parameters
_environmentCurrent calling environment
_sourceFirst value to compare
_destinationSecond value to compare
_labelWhere to jump
_positiveInvert meaning of comparison

Definition at line 911 of file sm83.c.

◆ cpu_protothread_current()

void cpu_protothread_current ( Environment * _environment,
char * _current )

Definition at line 7405 of file sm83.c.

◆ cpu_protothread_get_address()

void cpu_protothread_get_address ( Environment * _environment,
char * _index,
char * _address )

Definition at line 7392 of file sm83.c.

◆ cpu_protothread_get_state()

void cpu_protothread_get_state ( Environment * _environment,
char * _index,
char * _state )

Definition at line 7379 of file sm83.c.

◆ cpu_protothread_loop()

void cpu_protothread_loop ( Environment * _environment)

Definition at line 7298 of file sm83.c.

◆ cpu_protothread_register()

void cpu_protothread_register ( Environment * _environment,
char * _label,
char * _index )

Definition at line 7318 of file sm83.c.

◆ cpu_protothread_register_at()

void cpu_protothread_register_at ( Environment * _environment,
char * _index,
char * _label )

Definition at line 7306 of file sm83.c.

◆ cpu_protothread_restore()

void cpu_protothread_restore ( Environment * _environment,
char * _index,
char * _step )

Definition at line 7354 of file sm83.c.

◆ cpu_protothread_save()

void cpu_protothread_save ( Environment * _environment,
char * _index,
int _step )

Definition at line 7342 of file sm83.c.

◆ cpu_protothread_set_state()

void cpu_protothread_set_state ( Environment * _environment,
char * _index,
int _state )

Definition at line 7367 of file sm83.c.

◆ cpu_protothread_unregister()

void cpu_protothread_unregister ( Environment * _environment,
char * _index )

Definition at line 7331 of file sm83.c.

◆ cpu_protothread_vars()

void cpu_protothread_vars ( Environment * _environment)

Definition at line 7282 of file sm83.c.

◆ cpu_random()

void cpu_random ( Environment * _environment,
char * _entropy )

Definition at line 4130 of file sm83.c.

◆ cpu_random_16bit()

void cpu_random_16bit ( Environment * _environment,
char * _entropy,
char * _result )

Definition at line 4198 of file sm83.c.

◆ cpu_random_32bit()

void cpu_random_32bit ( Environment * _environment,
char * _entropy,
char * _result )

Definition at line 4209 of file sm83.c.

◆ cpu_random_8bit()

void cpu_random_8bit ( Environment * _environment,
char * _entropy,
char * _result )

Definition at line 4186 of file sm83.c.

◆ cpu_register_decode()

int cpu_register_decode ( Environment * _environment,
char * _register )

Definition at line 3570 of file sm83.c.

◆ cpu_return()

void cpu_return ( Environment * _environment)

Definition at line 4102 of file sm83.c.

◆ cpu_set_asmio()

void cpu_set_asmio ( Environment * _environment,
int _asmio,
int _value )

Definition at line 3644 of file sm83.c.

◆ cpu_set_asmio_indirect()

void cpu_set_asmio_indirect ( Environment * _environment,
int _asmio,
char * _value )

Definition at line 3793 of file sm83.c.

◆ cpu_set_callback()

void cpu_set_callback ( Environment * _environment,
char * _callback,
char * _label )

Definition at line 7414 of file sm83.c.

◆ cpu_sqroot()

void cpu_sqroot ( Environment * _environment,
char * _number,
char * _result )

Definition at line 7249 of file sm83.c.

◆ cpu_store_16bit()

void cpu_store_16bit ( Environment * _environment,
char * _destination,
int _value )

Z80: emit code to store 16 bit

CPU 6309: emit code to store 16 bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_valueValue to store

Definition at line 1717 of file sm83.c.

◆ cpu_store_32bit()

void cpu_store_32bit ( Environment * _environment,
char * _destination,
int _value )

Z80: emit code to store 32 bit

CPU 6309: emit code to store 32 bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_valueValue to store

Definition at line 2692 of file sm83.c.

◆ cpu_store_8bit()

void cpu_store_8bit ( Environment * _environment,
char * _destination,
int _value )

Z80: emit code to store 8 bit

CPU 6309: emit code to store 8 bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_valueValue to store

Definition at line 728 of file sm83.c.

◆ cpu_store_8bit_with_offset()

void cpu_store_8bit_with_offset ( Environment * _environment,
char * _destination,
int _value,
int _offset )

Definition at line 757 of file sm83.c.

◆ cpu_store_8bit_with_offset2()

void cpu_store_8bit_with_offset2 ( Environment * _environment,
char * _destination,
char * _offset,
int _value )

Definition at line 770 of file sm83.c.

◆ cpu_store_char()

void cpu_store_char ( Environment * _environment,
char * _destination,
int _value )

Z80: emit code to store 8 bit

CPU 6309: emit code to store 8 bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_valueValue to store

Definition at line 746 of file sm83.c.

◆ cpu_store_nbit()

void cpu_store_nbit ( Environment * _environment,
char * _destination,
int _n,
int _value[] )

CPU Z80: emit code to store n bit

CPU 6309: emit code to store n bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_nbits to store (>32)
_value[]Value to store (segmented in 32 bit each)

Definition at line 7682 of file sm83.c.

◆ cpu_string_sub()

void cpu_string_sub ( Environment * _environment,
char * _source,
char * _source_size,
char * _pattern,
char * _pattern_size,
char * _destination,
char * _destination_size )

Definition at line 7527 of file sm83.c.

◆ cpu_swap_16bit()

void cpu_swap_16bit ( Environment * _environment,
char * _left,
char * _right )

Definition at line 4590 of file sm83.c.

◆ cpu_swap_32bit()

void cpu_swap_32bit ( Environment * _environment,
char * _left,
char * _right )

Definition at line 4605 of file sm83.c.

◆ cpu_swap_8bit()

void cpu_swap_8bit ( Environment * _environment,
char * _left,
char * _right )

Definition at line 4575 of file sm83.c.

◆ cpu_uppercase()

void cpu_uppercase ( Environment * _environment,
char * _source,
char * _size,
char * _result )

Definition at line 5164 of file sm83.c.

◆ cpu_xor_16bit()

void cpu_xor_16bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4477 of file sm83.c.

◆ cpu_xor_16bit_const()

void cpu_xor_16bit_const ( Environment * _environment,
char * _left,
int _right,
char * _result )

Definition at line 4497 of file sm83.c.

◆ cpu_xor_32bit()

void cpu_xor_32bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4517 of file sm83.c.

◆ cpu_xor_32bit_const()

void cpu_xor_32bit_const ( Environment * _environment,
char * _left,
int _right,
char * _result )

Definition at line 4548 of file sm83.c.

◆ cpu_xor_8bit()

void cpu_xor_8bit ( Environment * _environment,
char * _left,
char * _right,
char * _result )

Definition at line 4454 of file sm83.c.

◆ cpu_xor_8bit_const()

void cpu_xor_8bit_const ( Environment * _environment,
char * _left,
int _right,
char * _result )

Definition at line 4466 of file sm83.c.

◆ cpu_ztoa()

void cpu_ztoa ( Environment * _environment)

Definition at line 128 of file sm83.c.