diff options
Diffstat (limited to 'src/mame/includes/spectrum.h')
-rw-r--r-- | src/mame/includes/spectrum.h | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/mame/includes/spectrum.h b/src/mame/includes/spectrum.h index e787e23baab..28b6c128129 100644 --- a/src/mame/includes/spectrum.h +++ b/src/mame/includes/spectrum.h @@ -13,6 +13,7 @@ #include "machine/spec_snqk.h" +#include "bus/spectrum/exp.h" #include "bus/generic/carts.h" #include "bus/generic/slot.h" #include "imagedev/cassette.h" @@ -45,7 +46,7 @@ #define SPEC_LEFT_BORDER_CYCLES 24 /* Cycles to display left hand border */ #define SPEC_DISPLAY_XSIZE_CYCLES 128 /* Horizontal screen resolution */ #define SPEC_RIGHT_BORDER_CYCLES 24 /* Cycles to display right hand border */ -#define SPEC_RETRACE_CYCLES 48 /* Cycles taken for horizonal retrace */ +#define SPEC_RETRACE_CYCLES 48 /* Cycles taken for horizontal retrace */ #define SPEC_CYCLES_PER_LINE 224 /* Number of cycles to display a single line */ struct EVENT_LIST_ITEM @@ -69,7 +70,7 @@ public: m_cassette(*this, "cassette"), m_ram(*this, RAM_TAG), m_speaker(*this, "speaker"), - m_cart(*this, "cartslot"), + m_exp(*this, "exp"), m_dock(*this, "dockslot"), m_upd765(*this, "upd765"), m_upd765_0(*this, "upd765:0"), @@ -84,15 +85,13 @@ public: m_io_line7(*this, "LINE7"), m_io_nmi(*this, "NMI"), m_io_config(*this, "CONFIG"), - m_io_joy_intf(*this, "JOY_INTF"), - m_io_kempston(*this, "KEMPSTON"), - m_io_fuller(*this, "FULLER"), - m_io_mikrogen(*this, "MIKROGEN"), m_io_plus0(*this, "PLUS0"), m_io_plus1(*this, "PLUS1"), m_io_plus2(*this, "PLUS2"), m_io_plus3(*this, "PLUS3"), - m_io_plus4(*this, "PLUS4") { } + m_io_plus4(*this, "PLUS4"), + m_io_joy1(*this, "JOY1"), + m_io_joy2(*this, "JOY2") { } int m_port_fe_data; int m_port_7ffd_data; @@ -121,16 +120,19 @@ public: uint8_t *m_ram_0000; uint8_t m_ram_disabled_by_beta; + DECLARE_WRITE8_MEMBER(spectrum_rom_w); + DECLARE_READ8_MEMBER(spectrum_rom_r); DECLARE_WRITE8_MEMBER(spectrum_port_fe_w); DECLARE_READ8_MEMBER(spectrum_port_fe_r); - DECLARE_READ8_MEMBER(spectrum_port_1f_r); - DECLARE_READ8_MEMBER(spectrum_port_7f_r); - DECLARE_READ8_MEMBER(spectrum_port_df_r); DECLARE_READ8_MEMBER(spectrum_port_ula_r); + DECLARE_WRITE8_MEMBER(spectrum_128_bank1_w); + DECLARE_READ8_MEMBER(spectrum_128_bank1_r); DECLARE_WRITE8_MEMBER(spectrum_128_port_7ffd_w); DECLARE_READ8_MEMBER(spectrum_128_ula_r); + DECLARE_WRITE8_MEMBER(spectrum_plus3_bank1_w); + DECLARE_READ8_MEMBER(spectrum_plus3_bank1_r); DECLARE_WRITE8_MEMBER(spectrum_plus3_port_3ffd_w); DECLARE_READ8_MEMBER(spectrum_plus3_port_3ffd_r); DECLARE_READ8_MEMBER(spectrum_plus3_port_2ffd_r); @@ -161,7 +163,6 @@ public: DECLARE_WRITE_LINE_MEMBER(screen_vblank_spectrum); DECLARE_WRITE_LINE_MEMBER(screen_vblank_timex); INTERRUPT_GEN_MEMBER(spec_interrupt); - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( spectrum_cart ); // for timex cart only DECLARE_DEVICE_IMAGE_LOAD_MEMBER( timex_cart ); @@ -187,7 +188,7 @@ protected: required_device<cassette_image_device> m_cassette; required_device<ram_device> m_ram; required_device<speaker_sound_device> m_speaker; - optional_device<generic_slot_device> m_cart; + optional_device<spectrum_expansion_slot_device> m_exp; optional_device<generic_slot_device> m_dock; optional_device<upd765a_device> m_upd765; optional_device<floppy_connector> m_upd765_0; @@ -204,10 +205,7 @@ protected: optional_ioport m_io_line7; optional_ioport m_io_nmi; optional_ioport m_io_config; - optional_ioport m_io_joy_intf; - optional_ioport m_io_kempston; - optional_ioport m_io_fuller; - optional_ioport m_io_mikrogen; + // Plus ports optional_ioport m_io_plus0; optional_ioport m_io_plus1; @@ -215,6 +213,10 @@ protected: optional_ioport m_io_plus3; optional_ioport m_io_plus4; + // Joystick ports + optional_ioport m_io_joy1; + optional_ioport m_io_joy2; + void spectrum_UpdateBorderBitmap(); void spectrum_UpdateScreenBitmap(bool eof = false); inline unsigned char get_display_color(unsigned char color, int invert); @@ -253,6 +255,7 @@ protected: /*----------- defined in drivers/spectrum.c -----------*/ INPUT_PORTS_EXTERN( spectrum ); +INPUT_PORTS_EXTERN( spec128 ); INPUT_PORTS_EXTERN( spec_plus ); MACHINE_CONFIG_EXTERN( spectrum ); |