#include <io.h>
Public Member Functions | |
IODeviceStorage (int32_t storageSize=4096) | |
IODeviceStorage (const IODeviceStorage &)=default | |
IODeviceStorage & | operator= (const IODeviceStorage &)=default |
bool | ready (int32_t elapsed) override |
void | read (ComputerWord *memory, int32_t address) override |
void | write (const ComputerWord *memory, int32_t address) override |
ComputerWord & | wordAt (int32_t index) override |
![]() | |
IODevice (int32_t blockSize, bool allowRead, bool allowWrite) | |
IODeviceType | type () const |
int | blockSize () const |
bool | allowRead () const |
bool | allowWrite () const |
virtual void | control (int32_t) |
Protected Member Functions | |
void | doRead () override |
void | doWrite () override |
Protected Attributes | |
IODeviceStatus | _status |
int32_t | _address |
int32_t | _locator |
ComputerWord * | _memory |
std::vector< ComputerWord > | _buffer |
std::vector< ComputerWord > | _storage |
![]() | |
IODeviceType | _type |
int32_t | _blockSize |
bool | _allowRead |
bool | _allowWrite |
int32_t | _timestamp |
double | _readyRate |
|
overrideprotectedvirtual |
Perform the actual reading.
Implements mixal::IODevice.
Definition at line 56 of file io.cpp.
References mixal::IODevice::_blockSize.
Referenced by ready().
|
overrideprotectedvirtual |
Perform the actual writing.
Implements mixal::IODevice.
Definition at line 63 of file io.cpp.
References mixal::IODevice::_blockSize.
|
overridevirtual |
Read one block from the device.
Implements mixal::IODevice.
Definition at line 38 of file io.cpp.
References mixal::IODevice::_blockSize, mixal::IODevice::_timestamp, and ready().
|
overridevirtual |
Whether the device is ready for reading or writing.
Reimplemented from mixal::IODevice.
Definition at line 26 of file io.cpp.
References doRead(), and mixal::IODevice::ready().
Referenced by read().
|
inlineoverridevirtual |
Get a word from the storage of the device.
Implements mixal::IODevice.
|
overridevirtual |