summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/spectrum.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/spectrum.h')
-rw-r--r--src/mame/includes/spectrum.h35
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 );