diff options
Diffstat (limited to 'src/mess/includes/nes.h')
-rw-r--r-- | src/mess/includes/nes.h | 59 |
1 files changed, 9 insertions, 50 deletions
diff --git a/src/mess/includes/nes.h b/src/mess/includes/nes.h index 02b22a2b9c5..7c34c693545 100644 --- a/src/mess/includes/nes.h +++ b/src/mess/includes/nes.h @@ -13,8 +13,8 @@ #include "video/ppu2c0x.h" #include "bus/nes/nes_slot.h" #include "bus/nes/nes_carts.h" +#include "bus/nes_ctrl/ctrl.h" #include "sound/nes_apu.h" -#include "imagedev/cassette.h" /*************************************************************************** CONSTANTS @@ -30,12 +30,6 @@ TYPE DEFINITIONS ***************************************************************************/ -struct nes_input -{ - UINT32 shift; - UINT32 i0, i1, i2; -}; - /*PPU fast banking constants and structures */ #define CHRROM 0 @@ -57,44 +51,22 @@ struct nes_input class nes_state : public driver_device { public: - enum - { - TIMER_ZAPPER_TICK, - TIMER_LIGHTGUN_TICK - }; - nes_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_ppu(*this, "ppu"), m_sound(*this, "nessound"), + m_ctrl1(*this, "ctrl1"), + m_ctrl2(*this, "ctrl2"), + m_exp(*this, "exp"), m_cartslot(*this, "nes_slot"), - m_disk(*this, "disk"), - m_cassette(*this, "tape") + m_disk(*this, "disk") { } /* video-related */ int m_last_frame_flip; /* misc */ - ioport_port *m_io_ctrlsel; - ioport_port *m_io_fckey[9]; - ioport_port *m_io_subkey[13]; - ioport_port *m_io_pad[4]; - ioport_port *m_io_powerpad[2]; - ioport_port *m_io_mahjong[4]; - ioport_port *m_io_ftrainer[4]; - ioport_port *m_io_cc_left; - ioport_port *m_io_cc_right; - ioport_port *m_io_zapper1_t; - ioport_port *m_io_zapper1_x; - ioport_port *m_io_zapper1_y; - ioport_port *m_io_zapper2_t; - ioport_port *m_io_zapper2_x; - ioport_port *m_io_zapper2_y; - ioport_port *m_io_paddle; - ioport_port *m_io_paddle_btn; - ioport_port *m_io_exp; ioport_port *m_io_disksel; UINT8 *m_vram; @@ -103,9 +75,11 @@ public: required_device<cpu_device> m_maincpu; required_device<ppu2c0x_device> m_ppu; required_device<nesapu_device> m_sound; + required_device<nes_control_port_device> m_ctrl1; + required_device<nes_control_port_device> m_ctrl2; + optional_device<nes_control_port_device> m_exp; optional_device<nes_cart_slot_device> m_cartslot; optional_device<nes_disksys_device> m_disk; - optional_device<cassette_image_device> m_cassette; int nes_ppu_vidaccess(int address, int data); void ppu_nmi(int *ppu_regs); @@ -113,7 +87,6 @@ public: DECLARE_READ8_MEMBER(nes_in0_r); DECLARE_READ8_MEMBER(nes_in1_r); DECLARE_WRITE8_MEMBER(nes_in0_w); - DECLARE_WRITE8_MEMBER(nes_in1_w); DECLARE_READ8_MEMBER(fc_in0_r); DECLARE_READ8_MEMBER(fc_in1_r); DECLARE_WRITE8_MEMBER(fc_in0_w); @@ -127,8 +100,7 @@ public: DECLARE_READ8_MEMBER(psg_4015_r); DECLARE_WRITE8_MEMBER(psg_4015_w); DECLARE_WRITE8_MEMBER(psg_4017_w); - void state_register(); - void setup_ioports(); + NESCTRL_BRIGHTPIXEL_CB(bright_pixel); DECLARE_DRIVER_INIT(famicom); @@ -139,19 +111,6 @@ public: DECLARE_MACHINE_RESET(famitwin); void setup_disk(nes_disksys_device *slot); - // input related - UINT32 m_pad_latch[4]; - UINT8 m_zapper_latch[2][3]; - UINT8 m_paddle_latch, m_paddle_btn_latch; - UINT8 m_mjpanel_latch; - UINT8 m_fck_scan, m_fck_mode; - UINT8 m_mic_obstruct; - UINT8 m_powerpad_latch[2]; - UINT8 m_ftrainer_scan; - -protected: - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); - private: memory_bank *m_prg_bank_mem[5]; }; |