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

#include <Hes_Cpu.h>

Inheritance diagram for Hes_Cpu:
Hes_Emu

Classes

struct  registers_t
struct  state_t

Public Types

enum  { page_size = 0x2000 }
enum  { page_shift = 13 }
enum  { page_count = 8 }
enum  { idle_addr = 0x1FFF }
enum  { cpu_padding = 8 }
enum  { irq_inhibit = 0x04 }

Public Member Functions

void reset ()
void set_mmr (int reg, int bank)
uint8_t constget_code (hes_addr_t)
bool run (hes_time_t end_time)
hes_time_t time () const
void set_time (hes_time_t t)
void adjust_time (int delta)
hes_time_t irq_time () const
void set_irq_time (hes_time_t)
hes_time_t end_time () const
void set_end_time (hes_time_t)
void end_frame (hes_time_t)
 Hes_Cpu ()

Public Attributes

uint8_t ram [page_size]
registers_t r
uint8_t mmr [page_count+1]

Private Member Functions

 Hes_Cpu (const Hes_Cpu &)
Hes_Cpuoperator= (const Hes_Cpu &)
void set_code_page (int, void const *)
int update_end_time (hes_time_t end, hes_time_t irq)

Private Attributes

state_tstate
state_t state_
hes_time_t irq_time_
hes_time_t end_time_

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
page_count 

◆ anonymous enum

anonymous enum
Enumerator
page_size 

◆ anonymous enum

anonymous enum
Enumerator
page_shift 

◆ anonymous enum

anonymous enum
Enumerator
cpu_padding 

◆ anonymous enum

anonymous enum
Enumerator
irq_inhibit 

◆ anonymous enum

anonymous enum
Enumerator
idle_addr 

Constructor & Destructor Documentation

◆ Hes_Cpu() [1/2]

Hes_Cpu::Hes_Cpu ( )
inline

◆ Hes_Cpu() [2/2]

Hes_Cpu::Hes_Cpu ( const Hes_Cpu & )
private

Member Function Documentation

◆ adjust_time()

void Hes_Cpu::adjust_time ( int delta)
inline

◆ end_frame()

void Hes_Cpu::end_frame ( hes_time_t t)
inline

◆ end_time()

hes_time_t Hes_Cpu::end_time ( ) const
inline

◆ get_code()

uint8_t const * Hes_Cpu::get_code ( hes_addr_t addr)
inline

◆ irq_time()

hes_time_t Hes_Cpu::irq_time ( ) const
inline

◆ operator=()

Hes_Cpu & Hes_Cpu::operator= ( const Hes_Cpu & )
private

◆ reset()

void Hes_Cpu::reset ( )

◆ run()

bool Hes_Cpu::run ( hes_time_t end_time)

◆ set_code_page()

void Hes_Cpu::set_code_page ( int ,
void const *  )
private

◆ set_end_time()

void Hes_Cpu::set_end_time ( hes_time_t t)
inline

◆ set_irq_time()

void Hes_Cpu::set_irq_time ( hes_time_t t)
inline

◆ set_mmr()

void Hes_Cpu::set_mmr ( int reg,
int bank )

◆ set_time()

void Hes_Cpu::set_time ( hes_time_t t)
inline

◆ time()

hes_time_t Hes_Cpu::time ( ) const
inline

◆ update_end_time()

int Hes_Cpu::update_end_time ( hes_time_t end,
hes_time_t irq )
inlineprivate

Member Data Documentation

◆ end_time_

hes_time_t Hes_Cpu::end_time_
private

◆ irq_time_

hes_time_t Hes_Cpu::irq_time_
private

◆ mmr

uint8_t Hes_Cpu::mmr[page_count+1]

◆ r

registers_t Hes_Cpu::r

◆ ram

uint8_t Hes_Cpu::ram[page_size]

◆ state

state_t* Hes_Cpu::state
private

◆ state_

state_t Hes_Cpu::state_
private

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