DGen/SDL
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions | Variables
m68kcpu.c File Reference
#include "m68kops.h"
#include "m68kcpu.h"
#include <stdio.h>

Functions

void m68040_fpu_op0 (void)
void m68040_fpu_op1 (void)
static int default_int_ack_callback (int int_level)
static void default_bkpt_ack_callback (unsigned int data)
static void default_reset_instr_callback (void)
static void default_cmpild_instr_callback (unsigned int val, int reg)
static void default_rte_instr_callback (void)
static int default_tas_instr_callback (void)
static void default_pc_changed_callback (unsigned int new_pc)
static void default_set_fc_callback (unsigned int new_fc)
static int default_instr_hook_callback (void)
unsigned int m68k_get_reg (void *context, m68k_register_t regnum)
void m68k_set_reg (m68k_register_t regnum, unsigned int value)
void m68k_set_int_ack_callback (int(*callback)(int int_level))
void m68k_set_bkpt_ack_callback (void(*callback)(unsigned int data))
void m68k_set_reset_instr_callback (void(*callback)(void))
void m68k_set_cmpild_instr_callback (void(*callback)(unsigned int, int))
void m68k_set_rte_instr_callback (void(*callback)(void))
void m68k_set_tas_instr_callback (int(*callback)(void))
void m68k_set_pc_changed_callback (void(*callback)(unsigned int new_pc))
void m68k_set_fc_callback (void(*callback)(unsigned int new_fc))
void m68k_set_instr_hook_callback (int(*callback)(void))
void m68k_register_memory (m68k_mem_t memory[], unsigned int len)
void m68k_set_cpu_type (unsigned int cpu_type)
int m68k_execute (int num_cycles)
int m68k_cycles_run (void)
int m68k_cycles_remaining (void)
void m68k_modify_timeslice (int cycles)
void m68k_end_timeslice (void)
void m68k_set_irq (unsigned int int_level)
void m68k_init (void)
void m68k_pulse_reset (void)
void m68k_pulse_halt (void)
unsigned int m68k_context_size ()
unsigned int m68k_get_context (void *dst)
void m68k_set_context (void *src)

Variables

int m68ki_initial_cycles
int m68ki_remaining_cycles = 0
uint m68ki_tracing = 0
uint m68ki_address_space
const char * m68ki_cpu_names []
m68ki_cpu_core m68ki_cpu
uint m68ki_aerr_address
uint m68ki_aerr_write_mode
uint m68ki_aerr_fc
uint8 m68ki_shift_8_table [65]
uint16 m68ki_shift_16_table [65]
uint m68ki_shift_32_table [65]
uint8 m68ki_exception_cycle_table [4][256]
uint8 m68ki_ea_idx_cycle_table [64]
static int default_int_ack_callback_data
static unsigned int default_bkpt_ack_callback_data
static unsigned int default_pc_changed_callback_data
static unsigned int default_set_fc_callback_data

Function Documentation

static void default_bkpt_ack_callback ( unsigned int  data)
static
static void default_cmpild_instr_callback ( unsigned int  val,
int  reg 
)
static
static int default_instr_hook_callback ( void  )
static
static int default_int_ack_callback ( int  int_level)
static
static void default_pc_changed_callback ( unsigned int  new_pc)
static
static void default_reset_instr_callback ( void  )
static
static void default_rte_instr_callback ( void  )
static
static void default_set_fc_callback ( unsigned int  new_fc)
static
static int default_tas_instr_callback ( void  )
static
void m68040_fpu_op0 ( void  )
void m68040_fpu_op1 ( void  )
unsigned int m68k_context_size ( void  )
int m68k_cycles_remaining ( void  )
int m68k_cycles_run ( void  )
void m68k_end_timeslice ( void  )
int m68k_execute ( int  num_cycles)
unsigned int m68k_get_context ( void *  dst)
unsigned int m68k_get_reg ( void *  context,
m68k_register_t  regnum 
)
void m68k_init ( void  )
void m68k_modify_timeslice ( int  cycles)
void m68k_pulse_halt ( void  )
void m68k_pulse_reset ( void  )
void m68k_register_memory ( m68k_mem_t  memory[],
unsigned int  len 
)
void m68k_set_bkpt_ack_callback ( void(*)(unsigned int data)  callback)
void m68k_set_cmpild_instr_callback ( void(*)(unsigned int, int)  callback)
void m68k_set_context ( void *  src)
void m68k_set_cpu_type ( unsigned int  cpu_type)
void m68k_set_fc_callback ( void(*)(unsigned int new_fc)  callback)
void m68k_set_instr_hook_callback ( int(*)(void)  callback)
void m68k_set_int_ack_callback ( int(*)(int int_level)  callback)
void m68k_set_irq ( unsigned int  int_level)
void m68k_set_pc_changed_callback ( void(*)(unsigned int new_pc)  callback)
void m68k_set_reg ( m68k_register_t  regnum,
unsigned int  value 
)
void m68k_set_reset_instr_callback ( void(*)(void)  callback)
void m68k_set_rte_instr_callback ( void(*)(void)  callback)
void m68k_set_tas_instr_callback ( int(*)(void)  callback)

Variable Documentation

unsigned int default_bkpt_ack_callback_data
static
int default_int_ack_callback_data
static
unsigned int default_pc_changed_callback_data
static
unsigned int default_set_fc_callback_data
static
uint m68ki_address_space
uint m68ki_aerr_address
uint m68ki_aerr_fc
uint m68ki_aerr_write_mode
m68ki_cpu_core m68ki_cpu
const char* m68ki_cpu_names[]
Initial value:
{
"Invalid CPU",
"M68000",
"M68008",
"Invalid CPU",
"M68010",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"M68EC020",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"Invalid CPU",
"M68020"
}
uint8 m68ki_ea_idx_cycle_table[64]
Initial value:
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,
5,
7,
7,
0, 5, 7, 7, 0, 5, 7, 7, 0, 5, 7, 7,
2,
7,
9,
9,
0, 7, 9, 9, 0, 7, 9, 9, 0, 7, 9, 9,
6,
11,
13,
13,
0, 11, 13, 13, 0, 11, 13, 13, 0, 11, 13, 13
}
uint8 m68ki_exception_cycle_table[4][256]
int m68ki_initial_cycles
int m68ki_remaining_cycles = 0
uint16 m68ki_shift_16_table[65]
Initial value:
{
0x0000, 0x8000, 0xc000, 0xe000, 0xf000, 0xf800, 0xfc00, 0xfe00, 0xff00,
0xff80, 0xffc0, 0xffe0, 0xfff0, 0xfff8, 0xfffc, 0xfffe, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff
}
uint m68ki_shift_32_table[65]
Initial value:
{
0x00000000, 0x80000000, 0xc0000000, 0xe0000000, 0xf0000000, 0xf8000000,
0xfc000000, 0xfe000000, 0xff000000, 0xff800000, 0xffc00000, 0xffe00000,
0xfff00000, 0xfff80000, 0xfffc0000, 0xfffe0000, 0xffff0000, 0xffff8000,
0xffffc000, 0xffffe000, 0xfffff000, 0xfffff800, 0xfffffc00, 0xfffffe00,
0xffffff00, 0xffffff80, 0xffffffc0, 0xffffffe0, 0xfffffff0, 0xfffffff8,
0xfffffffc, 0xfffffffe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
}
uint8 m68ki_shift_8_table[65]
Initial value:
{
0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff
}
uint m68ki_tracing = 0