diff options
Diffstat (limited to 'src/mame/includes/nforcepc.h')
-rw-r--r-- | src/mame/includes/nforcepc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mame/includes/nforcepc.h b/src/mame/includes/nforcepc.h index da28bf90821..aced8ad9b7c 100644 --- a/src/mame/includes/nforcepc.h +++ b/src/mame/includes/nforcepc.h @@ -4,6 +4,11 @@ #define MAME_MACHINE_NFORCEPC_H #pragma once +// floppy disk controller +#include "machine/upd765.h" +#include "imagedev/floppy.h" +#include "formats/pc_dsk.h" +#include "formats/naslite_dsk.h" // keyboard #include "machine/8042kbdc.h" // parallel port @@ -197,10 +202,13 @@ public: void map_serial1(address_map& map); void map_serial2(address_map& map); void map_keyboard(address_map &map); - void unmap_keyboard(address_map &map); + // floppy disk controller + DECLARE_WRITE_LINE_MEMBER(irq_floppy_w); + DECLARE_WRITE_LINE_MEMBER(drq_floppy_w); // parallel port DECLARE_WRITE_LINE_MEMBER(irq_parallel_w); + DECLARE_WRITE_LINE_MEMBER(drq_parallel_w); // uarts DECLARE_WRITE_LINE_MEMBER(irq_serial1_w); DECLARE_WRITE_LINE_MEMBER(txd_serial1_w); @@ -278,6 +286,7 @@ private: devcb_write_line m_txd2_callback; devcb_write_line m_ndtr2_callback; devcb_write_line m_nrts2_callback; + required_device<pc_fdc_interface> floppy_controller_fdcdev; required_device<pc_lpt_device> pc_lpt_lptdev; required_device<ns16450_device> pc_serial1_comdev; required_device<ns16450_device> pc_serial2_comdev; @@ -294,18 +303,21 @@ private: void internal_memory_map(address_map &map); void internal_io_map(address_map &map); uint16_t get_base_address(int logical, int index); + void map_fdc_addresses(); void map_lpt_addresses(); void map_serial1_addresses(); void map_serial2_addresses(); void map_keyboard_addresses(); void write_global_configuration_register(int index, int data); void write_logical_configuration_register(int index, int data); + void write_fdd_configuration_register(int index, int data); void write_parallel_configuration_register(int index, int data); void write_serial1_configuration_register(int index, int data); void write_serial2_configuration_register(int index, int data); void write_keyboard_configuration_register(int index, int data); uint16_t read_global_configuration_register(int index); uint16_t read_logical_configuration_register(int index); + uint16_t read_fdd_configuration_register(int index) { return configuration_registers[LogicalDevice::FDC][index]; } uint16_t read_parallel_configuration_register(int index) { return configuration_registers[LogicalDevice::Parallel][index]; } uint16_t read_serial1_configuration_register(int index) { return configuration_registers[LogicalDevice::Serial1][index]; } uint16_t read_serial2_configuration_register(int index) { return configuration_registers[LogicalDevice::Serial2][index]; } |