IBMPC::VDD_DMA Class Reference

#include <dma.h>

Inheritance diagram for IBMPC::VDD_DMA:

Inheritance graph
[legend]
Collaboration diagram for IBMPC::VDD_DMA:

Collaboration graph
[legend]
List of all members.

Detailed Description

Virtual Device driver to emulate DMA Controller built around Intel 8237A chip.

Definition at line 13 of file dma.h.

Public Member Functions

 VDD_DMA ()
 Create instance of DMA driver.
 ~VDD_DMA ()
 Destroy instance of DMA driver.
bool write_next_word (unsigned int channel, uint16 value)
 Write next word on a channel.
bool read_next_word (unsigned int channel, uint16 &value)
 Read next word on a channel.
virtual void init ()
 Start the driver.
virtual void done ()
 Stop the driver.
virtual uint8 mem_read8 (unsigned int addr)
 Perform memory read on mem pages reserved to the driver.
virtual void mem_write8 (unsigned int addr, uint8 value)
 Perform memory write on mem pages reserved to the driver.
virtual uint8 port_read8 (unsigned int port_index)
 Intercept port reads by the CPU to ports reserved to the driver.
virtual void port_write8 (unsigned int port_index, uint8 value)
 Intercept port writes by the CPU to ports reserved to the driver.
virtual void irq_ack ()
 Intercept interrupt acknowledge for interrupts reserved for this driver.
Coreget_core ()
 Return reference to core.
void set_name (std::string name)
 Sets name for this virtual driver.
std::string Device::get_name ()
 Returns name of this virtual driver.


Constructor & Destructor Documentation

IBMPC::VDD_DMA::VDD_DMA (  ) 

Create instance of DMA driver.

Definition at line 8 of file dma.cpp.

IBMPC::VDD_DMA::~VDD_DMA (  ) 

Destroy instance of DMA driver.

Definition at line 13 of file dma.cpp.


Member Function Documentation

bool IBMPC::VDD_DMA::write_next_word ( unsigned int  channel,
uint16  value 
)

Write next word on a channel.

returns true when no more words allowed (dma.count[ch]==0).

Definition at line 18 of file dma.cpp.

bool IBMPC::VDD_DMA::read_next_word ( unsigned int  channel,
uint16 &  value 
)

Read next word on a channel.

returns true when no more words allowed (dma.count[ch]==0).

Definition at line 30 of file dma.cpp.

void IBMPC::VDD_DMA::init (  )  [virtual]

Start the driver.

Implements IBMPC::Device.

Definition at line 55 of file dma.cpp.

void IBMPC::VDD_DMA::done (  )  [virtual]

Stop the driver.

Implements IBMPC::Device.

Definition at line 67 of file dma.cpp.

uint8 IBMPC::VDD_DMA::mem_read8 ( unsigned int  addr  )  [virtual]

Perform memory read on mem pages reserved to the driver.

Implements IBMPC::Device.

Definition at line 75 of file dma.cpp.

void IBMPC::VDD_DMA::mem_write8 ( unsigned int  addr,
uint8  value 
) [virtual]

Perform memory write on mem pages reserved to the driver.

Implements IBMPC::Device.

Definition at line 80 of file dma.cpp.

uint8 IBMPC::VDD_DMA::port_read8 ( unsigned int  port_index  )  [virtual]

Intercept port reads by the CPU to ports reserved to the driver.

Implements IBMPC::Device.

Definition at line 206 of file dma.cpp.

void IBMPC::VDD_DMA::port_write8 ( unsigned int  port_index,
uint8  value 
) [virtual]

Intercept port writes by the CPU to ports reserved to the driver.

Implements IBMPC::Device.

Definition at line 84 of file dma.cpp.

void IBMPC::VDD_DMA::irq_ack (  )  [virtual]

Intercept interrupt acknowledge for interrupts reserved for this driver.

Implements IBMPC::Device.

Definition at line 218 of file dma.cpp.

Core* IBMPC::Device::get_core (  )  [inline, inherited]

Return reference to core.

Definition at line 433 of file ibmpc.h.

Referenced by IBMPC::VDD_Video_CGA_6845::done(), IBMPC::VDD_SYS_PPI_8255A::done(), IBMPC::VDD_Floppy::done(), done(), IBMPC::VDD_Video_CGA_6845::init(), IBMPC::VDD_SYS_PPI_8255A::init(), IBMPC::VDD_Floppy::init(), init(), IBMPC::VDD_Floppy::port_write8(), read_next_word(), and write_next_word().

void IBMPC::Device::set_name ( std::string  name  )  [inherited]

Sets name for this virtual driver.

Definition at line 270 of file ibmpc.cpp.

Referenced by VDD_DMA(), IBMPC::VDD_Floppy::VDD_Floppy(), IBMPC::VDD_SYS_PPI_8255A::VDD_SYS_PPI_8255A(), and IBMPC::VDD_Video_CGA_6845::VDD_Video_CGA_6845().

std::string IBMPC::Device::Device::get_name (  )  [inherited]

Returns name of this virtual driver.


The documentation for this class was generated from the following files:
Generated on Sat Sep 9 03:50:54 2006 for Openem APIs by  doxygen 1.4.7