openMSX
Public Types | Public Member Functions | Friends | List of all members
openmsx::Counter Class Reference

#include <I8254.hh>

Public Types

enum class  ByteOrder { LOW , HIGH }
 

Public Member Functions

 Counter (Scheduler &scheduler, ClockPinListener *listener, EmuTime::param time)
 
void reset (EmuTime::param time)
 
uint8_t readIO (EmuTime::param time)
 
uint8_t peekIO (EmuTime::param time) const
 
void writeIO (uint8_t value, EmuTime::param time)
 
void setGateStatus (bool status, EmuTime::param time)
 
void writeControlWord (uint8_t value, EmuTime::param time)
 
void latchStatus (EmuTime::param time)
 
void latchCounter (EmuTime::param time)
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 

Friends

class I8254
 

Detailed Description

Definition at line 19 of file I8254.hh.

Member Enumeration Documentation

◆ ByteOrder

enum class openmsx::Counter::ByteOrder
strong
Enumerator
LOW 
HIGH 

Definition at line 36 of file I8254.hh.

Constructor & Destructor Documentation

◆ Counter()

openmsx::Counter::Counter ( Scheduler scheduler,
ClockPinListener listener,
EmuTime::param  time 
)

Definition at line 130 of file I8254.cc.

References reset().

Member Function Documentation

◆ latchCounter()

void openmsx::Counter::latchCounter ( EmuTime::param  time)

Definition at line 320 of file I8254.cc.

References LOW.

Referenced by writeControlWord().

◆ latchStatus()

void openmsx::Counter::latchStatus ( EmuTime::param  time)

Definition at line 310 of file I8254.cc.

References openmsx::ClockPin::getState().

◆ peekIO()

uint8_t openmsx::Counter::peekIO ( EmuTime::param  time) const

Definition at line 187 of file I8254.cc.

References LOW, and UNREACHABLE.

◆ readIO()

uint8_t openmsx::Counter::readIO ( EmuTime::param  time)

Definition at line 156 of file I8254.cc.

References HIGH, LOW, and UNREACHABLE.

◆ reset()

void openmsx::Counter::reset ( EmuTime::param  time)

Definition at line 138 of file I8254.cc.

References LOW.

Referenced by Counter().

◆ serialize()

template<typename Archive >
void openmsx::Counter::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 471 of file I8254.cc.

◆ setGateStatus()

void openmsx::Counter::setGateStatus ( bool  status,
EmuTime::param  time 
)

◆ writeControlWord()

void openmsx::Counter::writeControlWord ( uint8_t  value,
EmuTime::param  time 
)

Definition at line 279 of file I8254.cc.

References latchCounter(), LOW, openmsx::ClockPin::setState(), and UNREACHABLE.

◆ writeIO()

void openmsx::Counter::writeIO ( uint8_t  value,
EmuTime::param  time 
)

Definition at line 214 of file I8254.cc.

References HIGH, LOW, and UNREACHABLE.

Friends And Related Symbol Documentation

◆ I8254

friend class I8254
friend

Definition at line 71 of file I8254.hh.


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