sys_ppi_8255A.h

Go to the documentation of this file.
00001 #ifndef __SYS_PPI_8255A_H__
00002 #define __SYS_PPI_8255A_H__
00003 
00008 #include "ibmpc.h"
00009 
00010 namespace IBMPC
00011 {
00013     class VDD_SYS_PPI_8255A : public Device
00014     {
00015         enum
00016         {
00017             PORT_A          = 0x60, // read only (cpu reads to know latest keyboard scancode)
00018             PORT_B          = 0x61, // write (and read?): speaker, enable/disable kbd, other stuff.
00019             PORT_C          = 0x62, // b0-3: equipment bits; b4: 0; b5:timer 2 chnl out; b6:io chnl check; b7:ram parity check error occurred.
00020         };
00021 
00022         public:
00023 
00024         VDD_SYS_PPI_8255A();
00025         ~VDD_SYS_PPI_8255A();
00026 
00027         // implement driver interface
00028         virtual void init();
00029         virtual void done();
00030         virtual uint8 mem_read8(unsigned int addr);
00031         virtual void mem_write8(unsigned int addr, uint8 value);
00032         virtual void irq_ack();
00033         virtual void port_write8(unsigned int port_index, uint8 value);
00034         virtual uint8 port_read8(unsigned int port_index);
00035     };
00036 };
00037 
00038 #endif

Generated on Sat Sep 9 03:50:44 2006 for Openem APIs by  doxygen 1.4.7