summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/intv.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/intv.h')
-rw-r--r--src/mess/includes/intv.h66
1 files changed, 18 insertions, 48 deletions
diff --git a/src/mess/includes/intv.h b/src/mess/includes/intv.h
index 8355595b483..44e08f823ca 100644
--- a/src/mess/includes/intv.h
+++ b/src/mess/includes/intv.h
@@ -8,8 +8,11 @@
#define INTV_H_
#include "sound/ay8910.h"
-#include "sound/sp0256.h"
#include "video/stic.h"
+#include "bus/intv/slot.h"
+#include "bus/intv/voice.h"
+#include "bus/intv/ecs.h"
+#include "bus/intv/keycomp.h"
class intv_state : public driver_device
{
@@ -24,31 +27,26 @@ public:
intv_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_intellivoice(*this, "sp0256_speech"),
- m_sound(*this, "ay8914.1"),
- m_ecs_sound(*this, "ay8914.2"),
+ m_sound(*this, "ay8914"),
m_stic(*this, "stic"),
+ m_cart(*this, "cartslot"),
m_intvkbd_dualport_ram(*this, "dualport_ram"),
m_videoram(*this, "videoram"),
m_keyboard(*this, "keyboard"),
+ m_iocart1(*this, "ioslot1"),
+ m_iocart2(*this, "ioslot2"),
m_region_maincpu(*this, "maincpu"),
- m_region_ecs_rom(*this, "ecs_rom"),
m_region_keyboard(*this, "keyboard"),
- m_bank1(*this, "bank1"),
- m_bank2(*this, "bank2"),
- m_bank3(*this, "bank3"),
- m_bank4(*this, "bank4"),
m_io_options(*this, "OPTIONS"),
- m_io_ecs_cntrlsel(*this, "ECS_CNTRLSEL"),
m_io_test(*this, "TEST"),
m_gfxdecode(*this, "gfxdecode"),
- m_palette(*this, "palette") { }
+ m_palette(*this, "palette")
+ { }
required_device<cpu_device> m_maincpu;
- required_device<sp0256_device> m_intellivoice;
required_device<ay8914_device> m_sound;
- optional_device<ay8914_device> m_ecs_sound;
required_device<stic_device> m_stic;
+ optional_device<intv_cart_slot_device> m_cart;
optional_shared_ptr<UINT16> m_intvkbd_dualport_ram;
optional_shared_ptr<UINT8> m_videoram;
@@ -60,35 +58,16 @@ public:
DECLARE_WRITE16_MEMBER(intv_ram8_w);
DECLARE_READ16_MEMBER(intv_ram16_r);
DECLARE_WRITE16_MEMBER(intv_ram16_w);
+ DECLARE_READ8_MEMBER(intvkb_iocart_r);
- DECLARE_READ16_MEMBER(intv_cart_ram8_r);
- DECLARE_WRITE16_MEMBER(intv_cart_ram8_w);
-
- DECLARE_READ8_MEMBER( intv_right_control_r );
- DECLARE_READ8_MEMBER( intv_left_control_r );
-
+ DECLARE_READ8_MEMBER(intv_right_control_r);
+ DECLARE_READ8_MEMBER(intv_left_control_r);
+
UINT8 m_bus_copy_mode;
UINT8 m_backtab_row;
UINT16 m_ram16[0x160];
int m_sr1_int_pending;
UINT8 m_ram8[256];
- UINT8 m_cart_ram8[2048];
-
- // ecs
- DECLARE_WRITE16_MEMBER(ecs_bank1_page_select);
- DECLARE_WRITE16_MEMBER(ecs_bank2_page_select);
- DECLARE_WRITE16_MEMBER(ecs_bank3_page_select);
- DECLARE_WRITE16_MEMBER(wsmlb_bank_page_select);
- DECLARE_READ16_MEMBER(intv_ecs_ram8_r);
- DECLARE_WRITE16_MEMBER(intv_ecs_ram8_w);
-
- DECLARE_READ8_MEMBER(intv_ecs_porta_r);
- DECLARE_WRITE8_MEMBER(intv_ecs_porta_w);
- DECLARE_READ8_MEMBER(intv_ecs_portb_r);
-
- UINT8 m_ecs_ram8[2048];
- UINT8 m_ecs_psg_porta;
- int m_ecs_bank_src[4];
// Keyboard Component
DECLARE_READ8_MEMBER(intvkbd_tms9927_r);
@@ -125,22 +104,16 @@ public:
TIMER_CALLBACK_MEMBER(intv_interrupt2_complete);
TIMER_CALLBACK_MEMBER(intv_interrupt_complete);
TIMER_CALLBACK_MEMBER(intv_btb_fill);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(intv_cart);
- DECLARE_DEVICE_IMAGE_LOAD_MEMBER(intvkbd_cart);
protected:
- int m_is_keybd, m_is_ecs;
+ int m_is_keybd;
optional_device<cpu_device> m_keyboard;
+ optional_device<generic_slot_device> m_iocart1;
+ optional_device<generic_slot_device> m_iocart2;
required_memory_region m_region_maincpu;
- optional_memory_region m_region_ecs_rom;
optional_memory_region m_region_keyboard;
- optional_memory_bank m_bank1;
- optional_memory_bank m_bank2;
- optional_memory_bank m_bank3;
- optional_memory_bank m_bank4;
required_ioport m_io_options;
- optional_ioport m_io_ecs_cntrlsel;
optional_ioport m_io_test;
optional_device<gfxdecode_device> m_gfxdecode;
@@ -151,9 +124,6 @@ protected:
ioport_port *m_discx[4];
ioport_port *m_discy[4];
ioport_port *m_intv_keyboard[10];
- ioport_port *m_ecs_keyboard[7];
- ioport_port *m_ecs_synth[7];
- UINT8 *m_bank_base[2];
int intv_load_rom_file(device_image_interface &image);
UINT8 intv_control_r(int hand);