summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/segag80v.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/segag80v.h')
-rw-r--r--src/mame/includes/segag80v.h168
1 files changed, 0 insertions, 168 deletions
diff --git a/src/mame/includes/segag80v.h b/src/mame/includes/segag80v.h
deleted file mode 100644
index 166ef3e499d..00000000000
--- a/src/mame/includes/segag80v.h
+++ /dev/null
@@ -1,168 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-/*************************************************************************
-
- Sega vector hardware
-
-*************************************************************************/
-
-#include "audio/segaspeech.h"
-#include "audio/segausb.h"
-#include "audio/segag80.h"
-#include "cpu/z80/z80.h"
-#include "machine/segag80.h"
-#include "sound/ay8910.h"
-#include "sound/samples.h"
-#include "sound/tms5110.h"
-#include "video/vector.h"
-
-#include "screen.h"
-
-#define CPU_CLOCK 8000000 /* not used when video boards are connected */
-#define VIDEO_CLOCK 15468480
-
-class segag80v_state : public driver_device
-{
-public:
- segag80v_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_mainrom(*this, "maincpu"),
- m_mainram(*this, "mainram"),
- m_vectorram(*this, "vectorram"),
- m_maincpu(*this, "maincpu"),
- m_samples(*this, "samples"),
- m_speech(*this, "speech"),
- m_usb(*this, "usbsnd"),
- m_g80_audio(*this, "g80sound"),
- m_aysnd(*this, "aysnd"),
- m_vector(*this, "vector"),
- m_screen(*this, "screen"),
- m_d7d6(*this, "D7D6"),
- m_d5d4(*this, "D5D4"),
- m_d3d2(*this, "D3D2"),
- m_d1d0(*this, "D1D0"),
- m_fc(*this, "FC"),
- m_coins(*this, "COINS"),
- m_spinner(*this, "SPINNER"),
- m_mult_data{0,0},
- m_mult_result(0),
- m_spinner_select(0),
- m_spinner_sign(0),
- m_spinner_count(0),
- m_coin_ff_state(0),
- m_coin_last_state(0),
- m_edgint_ff_state(0),
- m_scrambled_write_pc(0),
- m_decrypt(nullptr),
- m_min_x(0),
- m_min_y(0),
- m_draw_end_time(attotime::zero)
- { }
-
- void g80v_base(machine_config &config);
- void tacscan(machine_config &config);
- void elim2(machine_config &config);
- void startrek(machine_config &config);
- void zektor(machine_config &config);
- void spacfury(machine_config &config);
- void spacfurybl(machine_config &config);
-
- void init_waitstates();
- void init_zektor();
- void init_startrek();
- void init_elim4();
- void init_elim2();
- void init_tacscan();
- void init_spacfury();
- void init_spacfurybl();
-
- DECLARE_READ_LINE_MEMBER(elim4_joint_coin_r);
- DECLARE_READ_LINE_MEMBER(draw_r);
- DECLARE_WRITE_LINE_MEMBER(service_switch_w);
- DECLARE_WRITE_LINE_MEMBER(irq_ack_w);
-
- template<int Index>
- DECLARE_WRITE_LINE_MEMBER( coin_w )
- {
- const u8 mask = 1 << Index;
-
- if (state == 0 && (m_coin_last_state & mask) != 0)
- m_coin_ff_state |= mask;
- else
- m_coin_ff_state &= ~mask;
-
- if (state)
- m_coin_last_state |= mask;
- else
- m_coin_last_state &= ~mask;
-
- update_int();
- }
-
-private:
- required_memory_region m_mainrom;
- required_shared_ptr<u8> m_mainram;
- required_shared_ptr<u8> m_vectorram;
-
- required_device<z80_device> m_maincpu;
- optional_device<samples_device> m_samples;
- optional_device<sega_speech_device> m_speech;
- optional_device<usb_sound_device> m_usb;
- optional_device<segag80_audio_device_base> m_g80_audio;
- optional_device<ay8912_device> m_aysnd;
- required_device<vector_device> m_vector;
- required_device<screen_device> m_screen;
-
- required_ioport m_d7d6;
- required_ioport m_d5d4;
- required_ioport m_d3d2;
- required_ioport m_d1d0;
- required_ioport m_fc;
- optional_ioport m_coins;
- optional_ioport m_spinner;
-
- u8 m_mult_data[2];
- u16 m_mult_result;
- u8 m_spinner_select;
- u8 m_spinner_sign;
- u8 m_spinner_count;
- u8 m_coin_ff_state;
- u8 m_coin_last_state;
- u8 m_edgint_ff_state;
- offs_t m_scrambled_write_pc;
- segag80_decrypt_func m_decrypt;
- int m_min_x;
- int m_min_y;
- attotime m_draw_end_time;
-
- u8 opcode_r(offs_t offset);
- u8 mainrom_r(offs_t offset);
- void mainram_w(offs_t offset, u8 data);
- void vectorram_w(offs_t offset, u8 data);
- u8 mangled_ports_r(offs_t offset);
- void spinner_select_w(u8 data);
- u8 spinner_input_r();
- u8 elim4_input_r();
- void multiply_w(offs_t offset, u8 data);
- u8 multiply_r();
- void coin_count_w(u8 data);
- void unknown_w(u8 data);
- void update_int();
- void vblank_callback(screen_device &screen, bool state);
-
- void usb_ram_w(offs_t offset, u8 data);
-
- virtual void machine_start() override;
- virtual void video_start() override;
- uint32_t screen_update_segag80v(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- inline bool adjust_xy(int rawx, int rawy, int &outx, int &outy);
- void sega_generate_vector_list();
- offs_t decrypt_offset(offs_t offset);
- inline u8 demangle(u8 d7d6, u8 d5d4, u8 d3d2, u8 d1d0);
-
- void main_map(address_map &map);
- void opcodes_map(address_map &map);
- void main_portmap(address_map &map);
- void spacfurybl_speech_prg_map(address_map &map);
- void spacfurybl_speech_io_map(address_map &map);
-};