openMSX
Public Member Functions | List of all members
openmsx::Y8950Periphery Class Referenceabstract

Models the 4 general purpose I/O pins on the Y8950 (controlled by registers r#18 and r#19) More...

#include <Y8950Periphery.hh>

Inheritance diagram for openmsx::Y8950Periphery:
Inheritance graph
[legend]

Public Member Functions

virtual ~Y8950Periphery ()=default
 
virtual void reset ()
 
virtual void write (nibble outputs, nibble values, EmuTime::param time)=0
 Write to (some of) the pins.
 
virtual nibble read (EmuTime::param time)=0
 Read from (some of) the pins Some of the pins might be programmed as output, but this method doesn't care about that, it should return the value of all pins as-if they were all programmed as input.
 
virtual void setSPOFF (bool value, EmuTime::param time)
 SP-OFF bit (bit 3 in Y8950 register 7)
 
virtual byte readMem (word address, EmuTime::param time)
 
virtual byte peekMem (word address, EmuTime::param time) const
 
virtual void writeMem (word address, byte value, EmuTime::param time)
 
virtual const bytegetReadCacheLine (word start) const
 
virtual bytegetWriteCacheLine (word start)
 

Detailed Description

Models the 4 general purpose I/O pins on the Y8950 (controlled by registers r#18 and r#19)

Definition at line 14 of file Y8950Periphery.hh.

Constructor & Destructor Documentation

◆ ~Y8950Periphery()

virtual openmsx::Y8950Periphery::~Y8950Periphery ( )
virtualdefault

Member Function Documentation

◆ getReadCacheLine()

const byte * openmsx::Y8950Periphery::getReadCacheLine ( word  start) const
virtual

Reimplemented in openmsx::PanasonicAudioPeriphery.

Definition at line 123 of file Y8950Periphery.cc.

References openmsx::MSXDevice::unmappedRead.

◆ getWriteCacheLine()

byte * openmsx::Y8950Periphery::getWriteCacheLine ( word  start)
virtual

Reimplemented in openmsx::PanasonicAudioPeriphery.

Definition at line 127 of file Y8950Periphery.cc.

References openmsx::MSXDevice::unmappedWrite.

◆ peekMem()

byte openmsx::Y8950Periphery::peekMem ( word  address,
EmuTime::param  time 
) const
virtual

Reimplemented in openmsx::PanasonicAudioPeriphery.

Definition at line 115 of file Y8950Periphery.cc.

Referenced by readMem().

◆ read()

virtual nibble openmsx::Y8950Periphery::read ( EmuTime::param  time)
pure virtual

Read from (some of) the pins Some of the pins might be programmed as output, but this method doesn't care about that, it should return the value of all pins as-if they were all programmed as input.

Parameters
timeThe moment in time the read occurs

Implemented in openmsx::MusicModulePeriphery, openmsx::PanasonicAudioPeriphery, and openmsx::ToshibaAudioPeriphery.

Referenced by openmsx::Y8950::peekReg().

◆ readMem()

byte openmsx::Y8950Periphery::readMem ( word  address,
EmuTime::param  time 
)
virtual

Definition at line 110 of file Y8950Periphery.cc.

References peekMem().

◆ reset()

void openmsx::Y8950Periphery::reset ( )
virtual

Reimplemented in openmsx::PanasonicAudioPeriphery.

Definition at line 100 of file Y8950Periphery.cc.

◆ setSPOFF()

void openmsx::Y8950Periphery::setSPOFF ( bool  value,
EmuTime::param  time 
)
virtual

SP-OFF bit (bit 3 in Y8950 register 7)

Reimplemented in openmsx::ToshibaAudioPeriphery.

Definition at line 105 of file Y8950Periphery.cc.

Referenced by openmsx::Y8950::writeReg().

◆ write()

virtual void openmsx::Y8950Periphery::write ( nibble  outputs,
nibble  values,
EmuTime::param  time 
)
pure virtual

Write to (some of) the pins.

Parameters
outputsA '1' bit indicates the corresponding bit is programmed as output.
valuesThe actual value that is written, only bits for which the corresponding bit in the 'outputs' parameter is set are meaningful.
timeThe moment in time the write occurs

Implemented in openmsx::MusicModulePeriphery, openmsx::PanasonicAudioPeriphery, and openmsx::ToshibaAudioPeriphery.

Referenced by openmsx::Y8950::writeReg().

◆ writeMem()

void openmsx::Y8950Periphery::writeMem ( word  address,
byte  value,
EmuTime::param  time 
)
virtual

Reimplemented in openmsx::PanasonicAudioPeriphery.

Definition at line 119 of file Y8950Periphery.cc.


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