LMMS
Loading...
Searching...
No Matches
Nes_Cpu Class Reference

#include <Nes_Cpu.h>

Inheritance diagram for Nes_Cpu:
Nsf_Emu Nsfe_Emu

Classes

struct  registers_t
struct  state_t

Public Types

enum  { page_size = 0x800 }
enum  { bad_opcode = 0xF2 }
enum  { page_bits = 11 }
enum  { page_count = 0x10000 >> page_bits }
enum  { irq_inhibit = 0x04 }

Public Member Functions

void reset (void const *unmapped_page=0)
void map_code (nes_addr_t start, unsigned size, void const *code, bool mirror=false)
uint8_t constget_code (nes_addr_t)
bool run (nes_time_t end_time)
nes_time_t time () const
void set_time (nes_time_t t)
void adjust_time (int delta)
nes_time_t irq_time () const
void set_irq_time (nes_time_t)
nes_time_t end_time () const
void set_end_time (nes_time_t)
void clear_error_count ()
unsigned long error_count () const
 Nes_Cpu ()

Public Attributes

uint8_t low_mem [0x800]
registers_t r

Private Member Functions

void set_code_page (int, void const *)
int update_end_time (nes_time_t end, nes_time_t irq)

Private Attributes

state_tstate
state_t state_
nes_time_t irq_time_
nes_time_t end_time_
unsigned long error_count_

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
bad_opcode 

◆ anonymous enum

anonymous enum
Enumerator
page_bits 

◆ anonymous enum

anonymous enum
Enumerator
page_size 

◆ anonymous enum

anonymous enum
Enumerator
irq_inhibit 

◆ anonymous enum

anonymous enum
Enumerator
page_count 

Constructor & Destructor Documentation

◆ Nes_Cpu()

Nes_Cpu::Nes_Cpu ( )
inline

Member Function Documentation

◆ adjust_time()

void Nes_Cpu::adjust_time ( int delta)
inline

◆ clear_error_count()

void Nes_Cpu::clear_error_count ( )
inline

◆ end_time()

nes_time_t Nes_Cpu::end_time ( ) const
inline

◆ error_count()

unsigned long Nes_Cpu::error_count ( ) const
inline

◆ get_code()

uint8_t const * Nes_Cpu::get_code ( nes_addr_t addr)
inline

◆ irq_time()

nes_time_t Nes_Cpu::irq_time ( ) const
inline

◆ map_code()

void Nes_Cpu::map_code ( nes_addr_t start,
unsigned size,
void const * code,
bool mirror = false )

◆ reset()

void Nes_Cpu::reset ( void const * unmapped_page = 0)

◆ run()

bool Nes_Cpu::run ( nes_time_t end_time)

◆ set_code_page()

void Nes_Cpu::set_code_page ( int i,
void const * p )
inlineprivate

◆ set_end_time()

void Nes_Cpu::set_end_time ( nes_time_t t)
inline

◆ set_irq_time()

void Nes_Cpu::set_irq_time ( nes_time_t t)
inline

◆ set_time()

void Nes_Cpu::set_time ( nes_time_t t)
inline

◆ time()

nes_time_t Nes_Cpu::time ( ) const
inline

◆ update_end_time()

int Nes_Cpu::update_end_time ( nes_time_t end,
nes_time_t irq )
inlineprivate

Member Data Documentation

◆ end_time_

nes_time_t Nes_Cpu::end_time_
private

◆ error_count_

unsigned long Nes_Cpu::error_count_
private

◆ irq_time_

nes_time_t Nes_Cpu::irq_time_
private

◆ low_mem

uint8_t Nes_Cpu::low_mem[0x800]

◆ r

registers_t Nes_Cpu::r

◆ state

state_t* Nes_Cpu::state
private

◆ state_

state_t Nes_Cpu::state_
private

The documentation for this class was generated from the following files: