floppy.h

Go to the documentation of this file.
00001 #ifndef __ARCH_IBMPC_FLOPPY_H__
00002 #define __ARCH_IBMPC_FLOPPY_H__
00003 
00008 #include "arch/ibmpc/ibmpc.h"
00009 #include "arch/ibmpc/dma.h"
00010 
00011 #include <map>
00012 #include <deque>
00013 
00014 namespace IBMPC
00015 {
00016 // include (generated) declaration of new class fdc_8272A
00017 #include "arch/ibmpc/fdc_8272A.h"
00018 
00020     class VDD_Floppy : public Device
00021     {
00023         enum
00024         {
00025             PORT_CONTROL = 0x3f2, // write only
00026             PORT_STATUS  = 0x3f4, // read only
00027             PORT_COMMAND = 0x3f5, // read/write
00028         };
00029 
00030         // Include the controller chip emulator (state machine based)
00031         fdc_8272A   m_fdc;
00032 
00033         public:
00034 
00036         VDD_Floppy();
00037 
00039         ~VDD_Floppy();
00040 
00041         // --- implement driver interface ---
00042         virtual void init();                                            
00043         virtual void done();                                            
00044         virtual uint8 mem_read8(unsigned int addr);                         
00045         virtual void mem_write8(unsigned int addr, uint8 value);                
00046         virtual uint8 port_read8(unsigned int port_index);              
00047         virtual void port_write8(unsigned int port_index, uint8 value); 
00048         virtual void irq_ack(); 
00049     };
00050 };
00051 
00052 #endif

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