OSDN Git Service

[VM][WIP] Use namespace to devices per VMs.
[csp-qt/common_source_project-fm7.git] / source / src / vm / j3100 / floppy.cpp
index bd1ac24..fb5abae 100644 (file)
@@ -1,67 +1,70 @@
-/*\r
-       TOSHIBA J-3100GT Emulator 'eJ-3100GT'\r
-       TOSHIBA J-3100SL Emulator 'eJ-3100SL'\r
-\r
-       Author : Takeda.Toshiya\r
-       Date   : 2011.08.16-\r
-\r
-       [ diskette i/f ]\r
-*/\r
-\r
-#include "floppy.h"\r
-#include "../disk.h"\r
-#include "../upd765a.h"\r
-\r
-void FLOPPY::initialize()\r
-{\r
-       ctrl_reg = 0;\r
-}\r
-\r
-void FLOPPY::reset()\r
-{\r
-       for(int i = 0; i < 4; i++) {\r
-               d_fdc->set_drive_type(i, DRIVE_TYPE_2HD);\r
-       }\r
-}\r
-\r
-void FLOPPY::write_io8(uint32 addr, uint32 data)\r
-{\r
-       switch(addr) {\r
-       case 0x3f2:\r
-               // bit0-1: select drive\r
-               d_fdc->write_signal(SIG_UPD765A_DRVSEL, data, 3);\r
-               // bit3: reset fdc\r
-               if((ctrl_reg & 4) && !(data & 4)) {\r
-                       d_fdc->reset();\r
-               }\r
-               // bit3: enable irq/drq\r
-               d_fdc->write_signal(SIG_UPD765A_IRQ_MASK, !data, 8);\r
-               d_fdc->write_signal(SIG_UPD765A_DRQ_MASK, !data, 8);\r
-               // bit4: fdd #a motor\r
-               // bit5: fdd #b motor\r
-               ctrl_reg = data;\r
-               break;\r
-       case 0x3f7:\r
-               switch(data & 3) {\r
-               case 0: // 500kbps (2hd)\r
-                       d_fdc->set_drive_type(ctrl_reg & 3, DRIVE_TYPE_2HD);\r
-                       break;\r
-               case 1: // 300kbps (2dd)\r
-               case 2: // 250kbps (2dd)\r
-                       d_fdc->set_drive_type(ctrl_reg & 3, DRIVE_TYPE_2DD);\r
-                       break;\r
-               }\r
-               break;\r
-       }\r
-}\r
-\r
-uint32 FLOPPY::read_io8(uint32 addr)\r
-{\r
-       switch(addr) {\r
-       case 0x3f7:\r
-               // bit7: 1=ejected\r
-               return d_fdc->disk_ejected(ctrl_reg & 3) ? 0x8f : 0x0f;\r
-       }\r
-       return 0xff;\r
-}\r
-\r
+/*
+       TOSHIBA J-3100GT Emulator 'eJ-3100GT'
+       TOSHIBA J-3100SL Emulator 'eJ-3100SL'
+
+       Author : Takeda.Toshiya
+       Date   : 2011.08.16-
+
+       [ diskette i/f ]
+*/
+
+#include "floppy.h"
+#include "../disk.h"
+#include "../upd765a.h"
+
+namespace J3100 {
+       
+void FLOPPY::initialize()
+{
+       ctrl_reg = 0;
+}
+
+void FLOPPY::reset()
+{
+       for(int i = 0; i < 4; i++) {
+               d_fdc->set_drive_type(i, DRIVE_TYPE_2HD);
+       }
+}
+
+void FLOPPY::write_io8(uint32_t addr, uint32_t data)
+{
+       switch(addr) {
+       case 0x3f2:
+               // bit0-1: select drive
+               d_fdc->write_signal(SIG_UPD765A_DRVSEL, data, 3);
+               // bit3: reset fdc
+               if((ctrl_reg & 4) && !(data & 4)) {
+                       d_fdc->reset();
+               }
+               // bit3: enable irq/drq
+               d_fdc->write_signal(SIG_UPD765A_IRQ_MASK, !data, 8);
+               d_fdc->write_signal(SIG_UPD765A_DRQ_MASK, !data, 8);
+               // bit4: fdd #a motor
+               // bit5: fdd #b motor
+               ctrl_reg = data;
+               break;
+       case 0x3f7:
+               switch(data & 3) {
+               case 0: // 500kbps (2hd)
+                       d_fdc->set_drive_type(ctrl_reg & 3, DRIVE_TYPE_2HD);
+                       break;
+               case 1: // 300kbps (2dd)
+               case 2: // 250kbps (2dd)
+                       d_fdc->set_drive_type(ctrl_reg & 3, DRIVE_TYPE_2DD);
+                       break;
+               }
+               break;
+       }
+}
+
+uint32_t FLOPPY::read_io8(uint32_t addr)
+{
+       switch(addr) {
+       case 0x3f7:
+               // bit7: 1=ejected
+               return d_fdc->disk_ejected(ctrl_reg & 3) ? 0x8f : 0x0f;
+       }
+       return 0xff;
+}
+
+}