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

Go to the source code of this file.

Macros

#define cpu_BLIT_REGISTER_COUNT   ( sizeof( cpu_BLIT_REGISTER ) / 9 )

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)
 CPU 6309: emit code to make long conditional jump
void cpu_bneq (Environment *_environment, char *_label)
 CPU 6502: 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)
 CPU 6502: emit code to fill up a memory area
void cpu_fill (Environment *_environment, char *_address, char *_bytes, int _bytes_width, char *_pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_fill_size (Environment *_environment, char *_address, int _bytes, char *_pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_fill_size_value (Environment *_environment, char *_address, int _bytes, int _pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_fill_direct (Environment *_environment, char *_address, char *_bytes, char *_pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_fill_direct_size (Environment *_environment, char *_address, int _bytes, char *_pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_fill_direct_size_value (Environment *_environment, char *_address, int _bytes, int _pattern)
 CPU 6502: emit code to fill up a memory area
void cpu_move_8bit (Environment *_environment, char *_source, char *_destination)
 CPU 6502: emit code to move 8 bit
void cpu_store_8bit (Environment *_environment, char *_destination, int _value)
 CPU 6502: emit code to store 8 bit
void cpu_store_char (Environment *_environment, char *_destination, int _value)
 CPU 6502: emit code to store a char
void cpu_compare_8bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 CPU 6502: emit code to compare two 8 bit values
void cpu_compare_8bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 CPU 6502: emit code to compare two 8 bit values
void cpu_prepare_for_compare_and_branch_8bit (Environment *_environment, char *_source)
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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: emit code to subtract two 8 bit values
void cpu_math_double_8bit (Environment *_environment, char *_source, char *_other, int _signed)
 CPU 6502: 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)
 CPU 6502: emit code to multiply two 8bit values in a 16 bit register
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_math_div2_const_8bit (Environment *_environment, char *_source, int _steps, int _signed, char *_remainder)
 CPU 6502: 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)
 CPU 6502: emit code to double for several times a 8 bit value
void cpu_math_complement_const_8bit (Environment *_environment, char *_source, int _value)
 CPU 6502: emit code to calculate an 8 bit complement of a number
void cpu_math_and_const_8bit (Environment *_environment, char *_source, int _mask)
 CPU 6502: emit code to mask with "and" a value of 8 bit
void cpu_move_16bit (Environment *_environment, char *_source, char *_destination)
 CPU 6502: 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)
 CPU 6502: emit code to store 16 bit
void cpu_compare_16bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 CPU 6502: emit code to compare two 16 bit values
void cpu_compare_16bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: 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 6502: emit code to add two 16 bit values
void cpu_math_add_16bit_with_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
void cpu_math_double_16bit (Environment *_environment, char *_source, char *_other, int _signed)
 CPU 6502: 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)
 CPU 6502: 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_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_sub_16bit (Environment *_environment, char *_source, char *_destination, char *_other)
 CPU 6502: emit code to subtract two 16 bit values
void cpu_math_sub_16bit_with_8bit (Environment *_environment, char *_source, char *_destination, char *_other)
void cpu_math_complement_const_16bit (Environment *_environment, char *_source, int _value)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: emit code to halves for several times a 8 bit value
void cpu_math_and_const_16bit (Environment *_environment, char *_source, int _mask)
 CPU 6502: emit code to mask with "and" a value of 16 bit
void cpu_move_32bit (Environment *_environment, char *_source, char *_destination)
 CPU 6502: emit code to move 32 bit
void cpu_store_32bit (Environment *_environment, char *_destination, int _value)
 CPU 6502: emit code to store 32 bit
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_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_compare_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive)
 CPU 6502: emit code to compare two 32 bit values
void cpu_compare_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _positive, 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_compare_32bit_const (Environment *_environment, char *_source, int _destination, char *_other, int _positive)
 CPU 6309: 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)
 CPU 6502: 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)
 CPU 6502: emit code to compare two 32 bit values
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_less_than_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, int _equal, int _bits)
void cpu_greater_than_32bit (Environment *_environment, char *_source, char *_destination, char *_other, int _equal, int _signed)
 CPU 6502: 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)
 CPU 6502: emit code to add two 32 bit values
void cpu_math_add_32bit_const (Environment *_environment, char *_source, int _destination, char *_other)
void cpu_math_add_nbit (Environment *_environment, char *_source, char *_destination, char *_other, int _bits)
void cpu_math_add_nbit_const (Environment *_environment, char *_source, int _destination, char *_other, int _bits)
void cpu_math_double_32bit (Environment *_environment, char *_source, char *_other, int _signed)
 CPU 6502: emit code to double a 32 bit value
void cpu_math_sub_32bit (Environment *_environment, char *_source, char *_destination, char *_other)
 CPU 6502: 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)
 CPU 6502: 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)
 CPU 6502: emit code to halves for several times a 32 bit value
void cpu_math_div2_const_nbit (Environment *_environment, char *_source, int _steps, int _bits, char *_remainder)
void cpu_math_mul2_const_32bit (Environment *_environment, char *_source, int _steps, int _signed)
 CPU 6502: emit code to double for several times a 32 bit value
void cpu_math_mul2_const_nbit (Environment *_environment, char *_source, int _steps, int _bits)
void cpu_math_and_const_32bit (Environment *_environment, char *_source, int _mask)
 CPU 6502: 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)
void cpu_move_nbit (Environment *_environment, int _n, char *_source, char *_destination)
 CPU cpu6502: emit code to store n bit
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_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_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 (Environment *_environment, char *_variable)
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_size (Environment *_environment, char *_source, char *_destination, int _size)
void cpu_mem_move_direct2 (Environment *_environment, char *_source, char *_destination, char *_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_move_8bit_indirect (Environment *_environment, char *_source, char *_value)
void cpu_move_8bit_indirect_with_offset (Environment *_environment, char *_source, char *_value, int _offset)
void cpu_move_8bit_indirect_with_offset2 (Environment *_environment, char *_source, char *_value, char *_offset)
void cpu_move_8bit_with_offset2 (Environment *_environment, char *_source, char *_value, char *_offset)
void cpu_move_8bit_indirect2 (Environment *_environment, char *_value, 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 *_index, char *_source)
void cpu_move_32bit_indirect (Environment *_environment, char *_source, char *_value)
void cpu_move_32bit_indirect2 (Environment *_environment, char *_value, char *_source)
void cpu_move_nbit_indirect (Environment *_environment, int _n, char *_source, char *_value)
void cpu_move_nbit_indirect2 (Environment *_environment, int _n, 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_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_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 (Environment *_environment, char *_number, char *_string, char *_string_size, int _bits, int _signed)
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_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_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_sqroot (Environment *_environment, char *_number, char *_result)
void emit_segment_if_enough_space (Environment *_environment, int _space)
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_current (Environment *_environment, char *_current)
void cpu_protothread_get_address (Environment *_environment, char *_index, char *_address)
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 6502: emit code to store 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_fast_from_int_array_to_double (Environment *_environment, int _value[], double *_result)
void cpu_float_single_from_int_array_to_double (Environment *_environment, int _value[], double *_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_fast_from_8 (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_fast_from_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_single_from_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_single_to_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_single_to_16 (Environment *_environment, char *_value, char *_result, int _signed)
void cpu_float_fast_sub (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_sub (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_add (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_add (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_cmp (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_cmp (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_mul (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_single_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_single_div (Environment *_environment, char *_x, char *_y, char *_result)
void cpu_float_fast_sin (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_sin (Environment *_environment, char *_angle, char *_result)
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_float_fast_cos (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_cos (Environment *_environment, char *_angle, char *_result)
void cpu_float_fast_tan (Environment *_environment, char *_angle, char *_result)
void cpu_float_single_tan (Environment *_environment, char *_angle, 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_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

◆ cpu_BLIT_REGISTER_COUNT

#define cpu_BLIT_REGISTER_COUNT   ( sizeof( cpu_BLIT_REGISTER ) / 9 )

Definition at line 8200 of file 6502.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 9283 of file 6502.c.

◆ cpu_address_table_call()

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

Definition at line 9328 of file 6502.c.

◆ cpu_address_table_lookup()

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

Definition at line 9292 of file 6502.c.

◆ cpu_addressof_16bit()

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

Definition at line 1743 of file 6502.c.

◆ cpu_and_16bit()

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

Definition at line 5351 of file 6502.c.

◆ cpu_and_32bit()

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

Definition at line 5368 of file 6502.c.

◆ cpu_and_8bit()

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

Definition at line 5322 of file 6502.c.

◆ cpu_and_8bit_const()

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

Definition at line 5336 of file 6502.c.

◆ cpu_beq()

void cpu_beq ( Environment * _environment,
char * _label )

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 CPU 6309 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 92 of file 6502.c.

◆ cpu_bit_check()

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

Definition at line 7326 of file 6502.c.

◆ cpu_bit_check_extended()

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

Definition at line 7347 of file 6502.c.

◆ cpu_bit_inplace_8bit()

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

Definition at line 7370 of file 6502.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 7404 of file 6502.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 7471 of file 6502.c.

◆ cpu_blit_alloc_register()

int cpu_blit_alloc_register ( Environment * _environment)

Definition at line 8225 of file 6502.c.

◆ cpu_blit_finalize()

void cpu_blit_finalize ( Environment * _environment)

Definition at line 8209 of file 6502.c.

◆ cpu_blit_free_register()

void cpu_blit_free_register ( Environment * _environment,
int _register )

Definition at line 8261 of file 6502.c.

◆ cpu_blit_initialize()

void cpu_blit_initialize ( Environment * _environment)

Definition at line 8202 of file 6502.c.

◆ cpu_blit_register_name()

char * cpu_blit_register_name ( Environment * _environment,
int _register )

Definition at line 8216 of file 6502.c.

◆ cpu_bneq()

void cpu_bneq ( Environment * _environment,
char * _label )

CPU 6502: 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 112 of file 6502.c.

◆ cpu_busy_wait()

void cpu_busy_wait ( Environment * _environment,
char * _timing )

Definition at line 5285 of file 6502.c.

◆ cpu_bveq()

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

Definition at line 126 of file 6502.c.

◆ cpu_bvneq()

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

Definition at line 137 of file 6502.c.

◆ cpu_call()

void cpu_call ( Environment * _environment,
char * _label )

Definition at line 4697 of file 6502.c.

◆ cpu_call_addr()

void cpu_call_addr ( Environment * _environment,
int _address )

Definition at line 4691 of file 6502.c.

◆ cpu_call_indirect()

void cpu_call_indirect ( Environment * _environment,
char * _value )

Definition at line 4707 of file 6502.c.

◆ cpu_combine_nibbles()

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

Definition at line 4593 of file 6502.c.

◆ cpu_compare_16bit()

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

CPU 6502: 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
_positiveInvert meaning of comparison

Definition at line 1785 of file 6502.c.

◆ cpu_compare_16bit_const()

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

CPU 6502: 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
_positiveInvert meaning of comparison

Definition at line 1826 of file 6502.c.

◆ cpu_compare_32bit()

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

CPU 6502: 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 3596 of file 6502.c.

◆ cpu_compare_32bit_const()

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

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 3703 of file 6502.c.

◆ cpu_compare_8bit()

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

CPU 6502: 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
_positiveInvert meaning of comparison

Definition at line 748 of file 6502.c.

◆ cpu_compare_8bit_const()

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

CPU 6502: 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
_positiveInvert meaning of comparison

Definition at line 786 of file 6502.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 1850 of file 6502.c.

◆ cpu_compare_and_branch_16bit_const()

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

CPU 6502: 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 1885 of file 6502.c.

◆ cpu_compare_and_branch_32bit_const()

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

CPU 6502: 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 3742 of file 6502.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 819 of file 6502.c.

◆ cpu_compare_and_branch_8bit_const()

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

CPU 6502: 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 848 of file 6502.c.

◆ cpu_compare_and_branch_char_const()

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

CPU 6502: 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 905 of file 6502.c.

◆ cpu_compare_memory()

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

Definition at line 6397 of file 6502.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 6434 of file 6502.c.

◆ cpu_compare_nbit()

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

Definition at line 3634 of file 6502.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 3677 of file 6502.c.

◆ cpu_complement2_16bit()

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

Definition at line 7750 of file 6502.c.

◆ cpu_complement2_32bit()

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

Definition at line 7772 of file 6502.c.

◆ cpu_complement2_8bit()

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

Definition at line 7735 of file 6502.c.

◆ cpu_complement2_nbit()

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

Definition at line 7809 of file 6502.c.

◆ cpu_convert_string_into_16bit()

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

Definition at line 7163 of file 6502.c.

◆ cpu_convert_string_into_8bit()

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

Definition at line 7142 of file 6502.c.

◆ cpu_ctoa()

void cpu_ctoa ( Environment * _environment)

Definition at line 75 of file 6502.c.

◆ cpu_dec()

void cpu_dec ( Environment * _environment,
char * _variable )

Definition at line 5803 of file 6502.c.

◆ cpu_dec_16bit()

void cpu_dec_16bit ( Environment * _environment,
char * _variable )

Definition at line 5813 of file 6502.c.

◆ cpu_dec_32bit()

void cpu_dec_32bit ( Environment * _environment,
char * _variable )

Definition at line 5830 of file 6502.c.

◆ cpu_dec_nbit()

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

Definition at line 5856 of file 6502.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 9595 of file 6502.c.

◆ cpu_di()

void cpu_di ( Environment * _environment)

Definition at line 5722 of file 6502.c.

◆ cpu_dsalloc()

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

Definition at line 7576 of file 6502.c.

◆ cpu_dsalloc_size()

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

Definition at line 7588 of file 6502.c.

◆ cpu_dsassign()

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

Definition at line 7684 of file 6502.c.

◆ cpu_dsassign_string()

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

Definition at line 7696 of file 6502.c.

◆ cpu_dsdefine()

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

Definition at line 7562 of file 6502.c.

◆ cpu_dsdescriptor()

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

Definition at line 7662 of file 6502.c.

◆ cpu_dsfill()

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

Definition at line 9640 of file 6502.c.

◆ cpu_dsfill_value()

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

Definition at line 9651 of file 6502.c.

◆ cpu_dsfree()

void cpu_dsfree ( Environment * _environment,
char * _index )

Definition at line 7600 of file 6502.c.

◆ cpu_dsgc()

void cpu_dsgc ( Environment * _environment)

Definition at line 7644 of file 6502.c.

◆ cpu_dsinit()

void cpu_dsinit ( Environment * _environment)

Definition at line 7653 of file 6502.c.

◆ cpu_dsresize()

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

Definition at line 7620 of file 6502.c.

◆ cpu_dsresize_size()

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

Definition at line 7632 of file 6502.c.

◆ cpu_dstring_vars()

void cpu_dstring_vars ( Environment * _environment)

Definition at line 7859 of file 6502.c.

◆ cpu_dswrite()

void cpu_dswrite ( Environment * _environment,
char * _index )

Definition at line 7610 of file 6502.c.

◆ cpu_ei()

void cpu_ei ( Environment * _environment)

Definition at line 5732 of file 6502.c.

◆ cpu_encrypt()

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

Definition at line 9571 of file 6502.c.

◆ cpu_end()

void cpu_end ( Environment * _environment)

Definition at line 5155 of file 6502.c.

◆ cpu_execute_compare_and_branch_8bit_const()

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

CPU 6502: 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 877 of file 6502.c.

◆ cpu_fill()

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

CPU 6502: 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 406 of file 6502.c.

◆ cpu_fill_blocks()

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

CPU 6502: 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 353 of file 6502.c.

◆ cpu_fill_direct()

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

CPU 6502: 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 555 of file 6502.c.

◆ cpu_fill_direct_size()

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

CPU 6502: 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 595 of file 6502.c.

◆ cpu_fill_direct_size_value()

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

CPU 6502: 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 646 of file 6502.c.

◆ cpu_fill_indirect()

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

Definition at line 7243 of file 6502.c.

◆ cpu_fill_size()

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

CPU 6502: 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 462 of file 6502.c.

◆ cpu_fill_size_value()

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

CPU 6502: 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 512 of file 6502.c.

◆ cpu_flip()

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

Definition at line 7303 of file 6502.c.

◆ cpu_flip_8bit()

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

Definition at line 7285 of file 6502.c.

◆ cpu_float_fast_add()

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

Definition at line 8968 of file 6502.c.

◆ cpu_float_fast_cmp()

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

Definition at line 9007 of file 6502.c.

◆ cpu_float_fast_cos()

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

Definition at line 9219 of file 6502.c.

◆ cpu_float_fast_div()

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

Definition at line 9082 of file 6502.c.

◆ cpu_float_fast_exp()

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

Definition at line 9187 of file 6502.c.

◆ cpu_float_fast_from_16()

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

Definition at line 8855 of file 6502.c.

◆ cpu_float_fast_from_8()

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

Definition at line 8817 of file 6502.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 8359 of file 6502.c.

◆ cpu_float_fast_from_int_array_to_double()

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

Definition at line 8705 of file 6502.c.

◆ cpu_float_fast_log()

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

Definition at line 9155 of file 6502.c.

◆ cpu_float_fast_mul()

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

Definition at line 9041 of file 6502.c.

◆ cpu_float_fast_sin()

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

Definition at line 9123 of file 6502.c.

◆ cpu_float_fast_sub()

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

Definition at line 8929 of file 6502.c.

◆ cpu_float_fast_tan()

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

Definition at line 9251 of file 6502.c.

◆ cpu_float_fast_to_16()

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

Definition at line 8903 of file 6502.c.

◆ cpu_float_fast_to_8()

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

Definition at line 8879 of file 6502.c.

◆ cpu_float_fast_to_string()

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

Definition at line 8774 of file 6502.c.

◆ cpu_float_single_add()

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

Definition at line 8972 of file 6502.c.

◆ cpu_float_single_cmp()

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

Definition at line 9011 of file 6502.c.

◆ cpu_float_single_cos()

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

Definition at line 9223 of file 6502.c.

◆ cpu_float_single_div()

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

Definition at line 9086 of file 6502.c.

◆ cpu_float_single_exp()

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

Definition at line 9191 of file 6502.c.

◆ cpu_float_single_from_16()

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

Definition at line 8859 of file 6502.c.

◆ cpu_float_single_from_8()

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

Definition at line 8821 of file 6502.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 8365 of file 6502.c.

◆ cpu_float_single_from_int_array_to_double()

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

Definition at line 8709 of file 6502.c.

◆ cpu_float_single_log()

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

Definition at line 9159 of file 6502.c.

◆ cpu_float_single_mul()

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

Definition at line 9045 of file 6502.c.

◆ cpu_float_single_sin()

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

Definition at line 9127 of file 6502.c.

◆ cpu_float_single_sub()

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

Definition at line 8933 of file 6502.c.

◆ cpu_float_single_tan()

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

Definition at line 9255 of file 6502.c.

◆ cpu_float_single_to_16()

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

Definition at line 8907 of file 6502.c.

◆ cpu_float_single_to_8()

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

Definition at line 8883 of file 6502.c.

◆ cpu_float_single_to_string()

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

Definition at line 8778 of file 6502.c.

◆ cpu_get_asmio_indirect()

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

Definition at line 5012 of file 6502.c.

◆ cpu_greater_than_16bit()

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

CPU 6502: 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 2065 of file 6502.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 2080 of file 6502.c.

◆ cpu_greater_than_32bit()

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

CPU 6502: 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 4103 of file 6502.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 4118 of file 6502.c.

◆ cpu_greater_than_8bit()

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

CPU 6502: 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 1088 of file 6502.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 1103 of file 6502.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 6544 of file 6502.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 6582 of file 6502.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 4129 of file 6502.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 4144 of file 6502.c.

◆ cpu_halt()

void cpu_halt ( Environment * _environment)

Definition at line 5142 of file 6502.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 9621 of file 6502.c.

◆ cpu_hex_to_string()

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

Definition at line 7538 of file 6502.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 7506 of file 6502.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 7522 of file 6502.c.

◆ cpu_in()

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

Definition at line 8148 of file 6502.c.

◆ cpu_in_direct()

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

Definition at line 8156 of file 6502.c.

◆ cpu_inc()

void cpu_inc ( Environment * _environment,
char * _variable )

Definition at line 5742 of file 6502.c.

◆ cpu_inc_16bit()

void cpu_inc_16bit ( Environment * _environment,
char * _variable )

Definition at line 5752 of file 6502.c.

◆ cpu_inc_32bit()

void cpu_inc_32bit ( Environment * _environment,
char * _variable )

Definition at line 5767 of file 6502.c.

◆ cpu_inc_nbit()

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

Definition at line 5786 of file 6502.c.

◆ cpu_init()

void cpu_init ( Environment * _environment)

Definition at line 47 of file 6502.c.

◆ cpu_jump()

void cpu_jump ( Environment * _environment,
char * _label )

Definition at line 4681 of file 6502.c.

◆ cpu_jump_indirect()

void cpu_jump_indirect ( Environment * _environment,
char * _value )

Definition at line 4734 of file 6502.c.

◆ cpu_label()

void cpu_label ( Environment * _environment,
char * _label )

Definition at line 148 of file 6502.c.

◆ cpu_less_than_16bit()

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

CPU 6502: 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 1920 of file 6502.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 1996 of file 6502.c.

◆ cpu_less_than_32bit()

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

CPU 6502: 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
_equalTrue if equal

Definition at line 3783 of file 6502.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 3891 of file 6502.c.

◆ cpu_less_than_8bit()

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

CPU 6502: 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 934 of file 6502.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 995 of file 6502.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 1040 of file 6502.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 6468 of file 6502.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 6506 of file 6502.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 3982 of file 6502.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 4042 of file 6502.c.

◆ cpu_limit_16bit()

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

Definition at line 5266 of file 6502.c.

◆ cpu_logical_and_8bit()

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

Definition at line 5300 of file 6502.c.

◆ cpu_logical_not_8bit()

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

Definition at line 5654 of file 6502.c.

◆ cpu_logical_or_8bit()

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

Definition at line 5391 of file 6502.c.

◆ cpu_lowercase()

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

Definition at line 7078 of file 6502.c.

◆ cpu_math_add_16bit()

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

CPU 6502: 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
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2099 of file 6502.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 2131 of file 6502.c.

◆ cpu_math_add_16bit_with_16bit()

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

CPU 6502: 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
_destinationSecond value to add and destination address for result (if _other is NULL)
_otherDestination address for result

Definition at line 2155 of file 6502.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 2171 of file 6502.c.

◆ cpu_math_add_32bit()

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

CPU 6502: 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 4163 of file 6502.c.

◆ cpu_math_add_32bit_const()

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

Definition at line 4201 of file 6502.c.

◆ cpu_math_add_8bit()

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

CPU 6502: 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 1122 of file 6502.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 1147 of file 6502.c.

◆ cpu_math_add_nbit()

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

Definition at line 4223 of file 6502.c.

◆ cpu_math_add_nbit_const()

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

Definition at line 4242 of file 6502.c.

◆ cpu_math_and_const_16bit()

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

CPU 6502: 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 3136 of file 6502.c.

◆ cpu_math_and_const_32bit()

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

CPU 6502: 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 4572 of file 6502.c.

◆ cpu_math_and_const_8bit()

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

CPU 6502: 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 1707 of file 6502.c.

◆ cpu_math_complement_const_16bit()

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

CPU 6502: 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 3017 of file 6502.c.

◆ cpu_math_complement_const_32bit()

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

CPU 6502: 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 4377 of file 6502.c.

◆ cpu_math_complement_const_8bit()

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

CPU 6502: 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 1687 of file 6502.c.

◆ cpu_math_div2_const_16bit()

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

CPU 6502: 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 3040 of file 6502.c.

◆ cpu_math_div2_const_32bit()

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

CPU 6502: 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 4406 of file 6502.c.

◆ cpu_math_div2_const_8bit()

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

CPU 6502: 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 1568 of file 6502.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 4456 of file 6502.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 2582 of file 6502.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 2768 of file 6502.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 3203 of file 6502.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 3314 of file 6502.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 1341 of file 6502.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 1451 of file 6502.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 3424 of file 6502.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 3554 of file 6502.c.

◆ cpu_math_double_16bit()

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

CPU 6502: 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 2202 of file 6502.c.

◆ cpu_math_double_32bit()

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

CPU 6502: 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 4267 of file 6502.c.

◆ cpu_math_double_8bit()

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

CPU 6502: 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 1192 of file 6502.c.

◆ cpu_math_mul2_const_16bit()

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

CPU 6502: 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 3099 of file 6502.c.

◆ cpu_math_mul2_const_32bit()

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

CPU 6502: 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 4504 of file 6502.c.

◆ cpu_math_mul2_const_8bit()

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

CPU 6502: 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 1638 of file 6502.c.

◆ cpu_math_mul2_const_nbit()

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

Definition at line 4538 of file 6502.c.

◆ cpu_math_mul_16bit_to_32bit()

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

CPU 6502: 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 2234 of file 6502.c.

◆ cpu_math_mul_8bit_to_16bit()

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

CPU 6502: 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 1235 of file 6502.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 2459 of file 6502.c.

◆ cpu_math_sub_16bit()

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

CPU 6502: 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 2962 of file 6502.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 2986 of file 6502.c.

◆ cpu_math_sub_32bit()

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

CPU 6502: 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 4312 of file 6502.c.

◆ cpu_math_sub_8bit()

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

CPU 6502: 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 1168 of file 6502.c.

◆ cpu_math_sub_nbit()

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

Definition at line 4350 of file 6502.c.

◆ cpu_mem_move()

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

Definition at line 5876 of file 6502.c.

◆ cpu_mem_move_16bit()

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

Definition at line 5923 of file 6502.c.

◆ cpu_mem_move_direct()

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

Definition at line 5951 of file 6502.c.

◆ cpu_mem_move_direct2()

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

Definition at line 6061 of file 6502.c.

◆ cpu_mem_move_direct2_size()

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

Definition at line 5998 of file 6502.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 6268 of file 6502.c.

◆ cpu_mem_move_direct_size()

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

Definition at line 6171 of file 6502.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 6365 of file 6502.c.

◆ cpu_mem_move_size()

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

Definition at line 6124 of file 6502.c.

◆ cpu_move_16bit()

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

CPU 6502: 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 1730 of file 6502.c.

◆ cpu_move_16bit_indirect()

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

Definition at line 6703 of file 6502.c.

◆ cpu_move_16bit_indirect2()

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

Definition at line 6722 of file 6502.c.

◆ cpu_move_16bit_indirect2_8bit()

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

Definition at line 6741 of file 6502.c.

◆ cpu_move_16bit_signed_32bit_signed()

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

Definition at line 9454 of file 6502.c.

◆ cpu_move_16bit_signed_32bit_unsigned()

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

Definition at line 9468 of file 6502.c.

◆ cpu_move_16bit_signed_8bit_signed()

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

Definition at line 9429 of file 6502.c.

◆ cpu_move_16bit_signed_8bit_unsigned()

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

Definition at line 9435 of file 6502.c.

◆ cpu_move_16bit_unsigned_32bit_signed()

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

Definition at line 9483 of file 6502.c.

◆ cpu_move_16bit_unsigned_32bit_unsigned()

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

Definition at line 9494 of file 6502.c.

◆ cpu_move_16bit_unsigned_8bit_signed()

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

Definition at line 9441 of file 6502.c.

◆ cpu_move_16bit_unsigned_8bit_unsigned()

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

Definition at line 9447 of file 6502.c.

◆ cpu_move_32bit()

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

CPU 6502: 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 3162 of file 6502.c.

◆ cpu_move_32bit_indirect()

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

Definition at line 6762 of file 6502.c.

◆ cpu_move_32bit_indirect2()

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

Definition at line 6787 of file 6502.c.

◆ cpu_move_32bit_signed_16bit_signed()

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

Definition at line 9535 of file 6502.c.

◆ cpu_move_32bit_signed_16bit_unsigned()

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

Definition at line 9544 of file 6502.c.

◆ cpu_move_32bit_signed_8bit_signed()

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

Definition at line 9506 of file 6502.c.

◆ cpu_move_32bit_signed_8bit_unsigned()

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

Definition at line 9516 of file 6502.c.

◆ cpu_move_32bit_unsigned_16bit_signed()

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

Definition at line 9553 of file 6502.c.

◆ cpu_move_32bit_unsigned_16bit_unsigned()

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

Definition at line 9562 of file 6502.c.

◆ cpu_move_32bit_unsigned_8bit_signed()

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

Definition at line 9522 of file 6502.c.

◆ cpu_move_32bit_unsigned_8bit_unsigned()

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

Definition at line 9528 of file 6502.c.

◆ cpu_move_8bit()

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

CPU 6502: 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 688 of file 6502.c.

◆ cpu_move_8bit_indirect()

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

Definition at line 6620 of file 6502.c.

◆ cpu_move_8bit_indirect2()

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

Definition at line 6687 of file 6502.c.

◆ cpu_move_8bit_indirect2_16bit()

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

Definition at line 6996 of file 6502.c.

◆ cpu_move_8bit_indirect2_8bit()

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

Definition at line 6980 of file 6502.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 6636 of file 6502.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 6655 of file 6502.c.

◆ cpu_move_8bit_signed_16bit_signed()

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

Definition at line 9342 of file 6502.c.

◆ cpu_move_8bit_signed_16bit_unsigned()

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

Definition at line 9353 of file 6502.c.

◆ cpu_move_8bit_signed_32bit_signed()

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

Definition at line 9382 of file 6502.c.

◆ cpu_move_8bit_signed_32bit_unsigned()

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

Definition at line 9395 of file 6502.c.

◆ cpu_move_8bit_unsigned_16bit_signed()

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

Definition at line 9364 of file 6502.c.

◆ cpu_move_8bit_unsigned_16bit_unsigned()

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

Definition at line 9373 of file 6502.c.

◆ cpu_move_8bit_unsigned_32bit_signed()

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

Definition at line 9408 of file 6502.c.

◆ cpu_move_8bit_unsigned_32bit_unsigned()

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

Definition at line 9418 of file 6502.c.

◆ cpu_move_8bit_with_offset2()

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

Definition at line 6671 of file 6502.c.

◆ cpu_move_nbit()

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

CPU cpu6502: 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 4617 of file 6502.c.

◆ cpu_move_nbit_indirect()

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

Definition at line 6812 of file 6502.c.

◆ cpu_move_nbit_indirect2()

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

Definition at line 6895 of file 6502.c.

◆ cpu_msc1_uncompress_direct_direct()

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

Definition at line 8052 of file 6502.c.

◆ cpu_msc1_uncompress_direct_indirect()

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

Definition at line 8075 of file 6502.c.

◆ cpu_msc1_uncompress_indirect_direct()

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

Definition at line 8098 of file 6502.c.

◆ cpu_msc1_uncompress_indirect_indirect()

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

Definition at line 8121 of file 6502.c.

◆ cpu_nop()

void cpu_nop ( Environment * _environment)

Definition at line 53 of file 6502.c.

◆ cpu_not_16bit()

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

Definition at line 5682 of file 6502.c.

◆ cpu_not_32bit()

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

Definition at line 5699 of file 6502.c.

◆ cpu_not_8bit()

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

Definition at line 5668 of file 6502.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 7436 of file 6502.c.

◆ cpu_or_16bit()

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

Definition at line 5443 of file 6502.c.

◆ cpu_or_32bit()

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

Definition at line 5460 of file 6502.c.

◆ cpu_or_8bit()

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

Definition at line 5415 of file 6502.c.

◆ cpu_or_8bit_const()

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

Definition at line 5429 of file 6502.c.

◆ cpu_out()

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

Definition at line 8144 of file 6502.c.

◆ cpu_out_direct()

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

Definition at line 8152 of file 6502.c.

◆ cpu_peek()

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

Definition at line 158 of file 6502.c.

◆ cpu_peekd()

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

Definition at line 265 of file 6502.c.

◆ cpu_peekw()

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

Definition at line 208 of file 6502.c.

◆ cpu_poke()

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

Definition at line 174 of file 6502.c.

◆ cpu_poke_const()

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

Definition at line 192 of file 6502.c.

◆ cpu_poked()

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

Definition at line 290 of file 6502.c.

◆ cpu_poked_const()

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

Definition at line 315 of file 6502.c.

◆ cpu_pokew()

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

Definition at line 227 of file 6502.c.

◆ cpu_pokew_const()

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

Definition at line 246 of file 6502.c.

◆ cpu_pop()

void cpu_pop ( Environment * _environment)

Definition at line 5131 of file 6502.c.

◆ cpu_prepare_for_compare_and_branch_8bit()

void cpu_prepare_for_compare_and_branch_8bit ( Environment * _environment,
char * _source )

Definition at line 807 of file 6502.c.

◆ cpu_protothread_current()

void cpu_protothread_current ( Environment * _environment,
char * _current )

Definition at line 8013 of file 6502.c.

◆ cpu_protothread_get_address()

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

Definition at line 8022 of file 6502.c.

◆ cpu_protothread_get_state()

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

Definition at line 8001 of file 6502.c.

◆ cpu_protothread_loop()

void cpu_protothread_loop ( Environment * _environment)

Definition at line 7920 of file 6502.c.

◆ cpu_protothread_register()

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

Definition at line 7942 of file 6502.c.

◆ cpu_protothread_register_at()

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

Definition at line 7928 of file 6502.c.

◆ cpu_protothread_restore()

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

Definition at line 7978 of file 6502.c.

◆ cpu_protothread_save()

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

Definition at line 7967 of file 6502.c.

◆ cpu_protothread_set_state()

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

Definition at line 7990 of file 6502.c.

◆ cpu_protothread_unregister()

void cpu_protothread_unregister ( Environment * _environment,
char * _index )

Definition at line 7957 of file 6502.c.

◆ cpu_protothread_vars()

void cpu_protothread_vars ( Environment * _environment)

Definition at line 7901 of file 6502.c.

◆ cpu_random()

void cpu_random ( Environment * _environment,
char * _entropy )

Definition at line 5166 of file 6502.c.

◆ cpu_random_16bit()

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

Definition at line 5220 of file 6502.c.

◆ cpu_random_32bit()

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

Definition at line 5241 of file 6502.c.

◆ cpu_random_8bit()

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

Definition at line 5201 of file 6502.c.

◆ cpu_register_decode()

int cpu_register_decode ( Environment * _environment,
char * _register )

Definition at line 4761 of file 6502.c.

◆ cpu_return()

void cpu_return ( Environment * _environment)

Definition at line 5121 of file 6502.c.

◆ cpu_set_asmio()

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

Definition at line 4818 of file 6502.c.

◆ cpu_set_asmio_indirect()

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

Definition at line 4914 of file 6502.c.

◆ cpu_set_callback()

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

Definition at line 8037 of file 6502.c.

◆ cpu_sqroot()

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

Definition at line 7829 of file 6502.c.

◆ cpu_store_16bit()

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

CPU 6502: 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 1763 of file 6502.c.

◆ cpu_store_32bit()

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

CPU 6502: 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 3186 of file 6502.c.

◆ cpu_store_8bit()

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

CPU 6502: 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 706 of file 6502.c.

◆ cpu_store_8bit_with_offset()

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

Definition at line 7711 of file 6502.c.

◆ cpu_store_8bit_with_offset2()

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

Definition at line 7723 of file 6502.c.

◆ cpu_store_char()

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

CPU 6502: emit code to store a char

CPU 6309: emit code to store 8 bit

Parameters
_environmentCurrent calling environment
_destinationDestination of store
_valueValue to store

Definition at line 724 of file 6502.c.

◆ cpu_store_nbit()

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

CPU 6502: 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 8300 of file 6502.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 8160 of file 6502.c.

◆ cpu_swap_16bit()

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

Definition at line 5608 of file 6502.c.

◆ cpu_swap_32bit()

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

Definition at line 5631 of file 6502.c.

◆ cpu_swap_8bit()

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

Definition at line 5591 of file 6502.c.

◆ cpu_uppercase()

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

Definition at line 7015 of file 6502.c.

◆ cpu_xor_16bit()

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

Definition at line 5511 of file 6502.c.

◆ cpu_xor_16bit_const()

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

Definition at line 5528 of file 6502.c.

◆ cpu_xor_32bit()

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

Definition at line 5545 of file 6502.c.

◆ cpu_xor_32bit_const()

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

Definition at line 5568 of file 6502.c.

◆ cpu_xor_8bit()

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

Definition at line 5483 of file 6502.c.

◆ cpu_xor_8bit_const()

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

Definition at line 5497 of file 6502.c.

◆ cpu_ztoa()

void cpu_ztoa ( Environment * _environment)

Definition at line 58 of file 6502.c.

◆ emit_segment_if_enough_space()

void emit_segment_if_enough_space ( Environment * _environment,
int _space )

Definition at line 7845 of file 6502.c.