diff options
Diffstat (limited to 'src/mame/includes/zn.h')
-rw-r--r-- | src/mame/includes/zn.h | 584 |
1 files changed, 0 insertions, 584 deletions
diff --git a/src/mame/includes/zn.h b/src/mame/includes/zn.h deleted file mode 100644 index 4f36532b5ea..00000000000 --- a/src/mame/includes/zn.h +++ /dev/null @@ -1,584 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:smf, R. Belmont - -#ifndef MAME_INCLUDES_ZN_H -#define MAME_INCLUDES_ZN_H - -#pragma once - -#include "audio/rax.h" -#include "audio/taito_zm.h" -#include "audio/taitosnd.h" - -#include "bus/ata/atadev.h" -#include "bus/ata/ataintf.h" -#include "cpu/m68000/m68000.h" -#include "cpu/mcs51/mcs51.h" -#include "cpu/psx/psx.h" -#include "cpu/z80/z80.h" -#include "machine/7200fifo.h" -#include "machine/at28c16.h" -#include "machine/bankdev.h" -#include "machine/cat702.h" -#include "machine/gen_latch.h" -#include "machine/mb3773.h" -#include "machine/nvram.h" -#include "machine/ram.h" -#include "machine/vt83c461.h" -#include "machine/watchdog.h" -#include "machine/znmcu.h" -#include "sound/okim6295.h" -#include "sound/qsound.h" -#include "sound/spu.h" -#include "sound/ym2610.h" -#include "sound/ymf271.h" -#include "sound/ymz280b.h" -#include "video/psx.h" - -#include "screen.h" -#include "speaker.h" - -#include <algorithm> - -class zn_state : public driver_device -{ -public: - zn_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_gpu(*this, "gpu"), - m_gpu_screen(*this, "screen"), - m_sio0(*this, "maincpu:sio0"), - m_cat702(*this, "cat702_%u", 1), - m_znmcu(*this, "znmcu"), - m_maincpu(*this, "maincpu"), - m_spu(*this, "spu"), - m_ram(*this, "maincpu:ram"), - m_znmcu_dataout(1) - { - std::fill(std::begin(m_cat702_dataout), std::end(m_cat702_dataout), 1); - } - - void zn_1mb_vram(machine_config &config); - void zn_2mb_vram(machine_config &config); - void zn2(machine_config &config); - void gameboard_cat702(machine_config &config); - -protected: - template<int Chip> DECLARE_WRITE_LINE_MEMBER(cat702_dataout) { m_cat702_dataout[Chip] = state; update_sio0_rxd(); } - DECLARE_WRITE_LINE_MEMBER(znmcu_dataout) { m_znmcu_dataout = state; update_sio0_rxd(); } - void update_sio0_rxd() { m_sio0->write_rxd(m_cat702_dataout[0] && m_cat702_dataout[1] && m_znmcu_dataout); } - uint8_t znsecsel_r(offs_t offset, uint8_t mem_mask = ~0); - void znsecsel_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); - uint8_t boardconfig_r(); - uint16_t unknown_r(offs_t offset, uint16_t mem_mask = ~0); - void coin_w(uint8_t data); - - void zn_base_map(address_map &map); - void zn_rom_base_map(address_map &map); - - virtual void machine_start() override; - - inline void ATTR_PRINTF(3,4) verboselog( int n_level, const char *s_fmt, ... ); - inline void psxwriteword( uint32_t *p_n_psxram, uint32_t n_address, uint16_t n_data ); - - uint8_t m_n_znsecsel; - - required_device<psxgpu_device> m_gpu; - required_device<screen_device> m_gpu_screen; - required_device<psxsio0_device> m_sio0; - required_device_array<cat702_device, 2> m_cat702; - required_device<znmcu_device> m_znmcu; - required_device<cpu_device> m_maincpu; - required_device<spu_device> m_spu; - required_device<ram_device> m_ram; - - int m_cat702_dataout[2]; - int m_znmcu_dataout; -}; - -// -// Capcom ZN1/2 hardware -// - -class capcom_zn_state : public zn_state -{ -public: - capcom_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank"), - m_audiocpu(*this, "audiocpu"), - m_soundlatch(*this, "soundlatch"), - m_soundbank(*this, "soundbank") - { - } - - void zn_base(machine_config &config); - -protected: - virtual void machine_start() override; - virtual void machine_reset() override; - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; - required_device<cpu_device> m_audiocpu; - required_device<generic_latch_8_device> m_soundlatch; - required_memory_bank m_soundbank; - -private: - void main_map(address_map &map); - void qsound_map(address_map &map); - void qsound_portmap(address_map &map); - - uint16_t kickharness_r(offs_t offset, uint16_t mem_mask = ~0); - void bank_w(uint8_t data); - void qsound_bankswitch_w(uint8_t data); - INTERRUPT_GEN_MEMBER(qsound_interrupt); -}; - -class zn1_state : public capcom_zn_state -{ -public: - zn1_state(const machine_config &mconfig, device_type type, const char *tag) : - capcom_zn_state(mconfig, type, tag) - { - } - - void coh1000c(machine_config &config); - void coh1002c(machine_config &config); -}; - -class glpracr_state : public zn1_state -{ -public: - glpracr_state(const machine_config &mconfig, device_type type, const char *tag) : - zn1_state(mconfig, type, tag) - { - } - -private: - virtual void machine_reset() override; -}; - -class zn2_state : public capcom_zn_state -{ -public: - zn2_state(const machine_config &mconfig, device_type type, const char *tag) : - capcom_zn_state(mconfig, type, tag) - { - } - - void coh3002c(machine_config &config); -}; - -// -// Acclaim ZN-derived hardware -// - -class acclaim_zn_state : public zn_state -{ -public: - acclaim_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag) - { - } - - void coh1000a(machine_config &config); - -protected: - void coh1000a_map(address_map &map); - -private: - void acpsx_00_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void acpsx_10_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); -}; - -class nbajamex_state : public acclaim_zn_state -{ -public: - nbajamex_state(const machine_config &mconfig, device_type type, const char *tag) : - acclaim_zn_state(mconfig, type, tag), - m_rax(*this, "rax"), - m_bankmap(*this, "nbajamex_bankmap"), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank%u", 1) - { - } - - void nbajamex(machine_config &config); - -private: - virtual void driver_init() override; - virtual void machine_start() override; - virtual void machine_reset() override; - - void bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void sound_80_w(uint16_t data); - void backup_w(offs_t offset, uint8_t data); - uint16_t sound_08_r(offs_t offset, uint16_t mem_mask = ~0); - uint16_t sound_80_r(offs_t offset, uint16_t mem_mask = ~0); - - void main_map(address_map &map); - void bank_map(address_map &map); - - std::unique_ptr<uint8_t[]> m_sram; - uint32_t m_curr_rombank[2]; - - required_device<acclaim_rax_device> m_rax; - required_device<address_map_bank_device> m_bankmap; - required_memory_region m_bankedroms; - required_memory_bank_array<2> m_rombank; -}; - -class jdredd_state : public acclaim_zn_state -{ -public: - jdredd_state(const machine_config &mconfig, device_type type, const char *tag) : - acclaim_zn_state(mconfig, type, tag), - m_gun_x(*this, "GUN%uX", 1U), - m_gun_y(*this, "GUN%uY", 1U) - { - } - - void jdredd(machine_config &config); - - DECLARE_READ_LINE_MEMBER(gun_mux_r); - -private: - virtual void machine_start() override; - - void main_map(address_map &map); - - DECLARE_WRITE_LINE_MEMBER(vblank); - - required_ioport_array<2> m_gun_x; - required_ioport_array<2> m_gun_y; - bool m_gun_mux; -}; - -// -// Atlus ZN-derived hardware -// - -class atlus_zn_state : public zn_state -{ -public: - atlus_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank"), - m_audiocpu(*this, "audiocpu"), - m_soundlatch16(*this, "soundlatch16") - { - } - - void coh1001l(machine_config &config); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void bank_w(uint8_t data); - void sound_unk_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - - void main_map(address_map &map); - void sound_map(address_map &map); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; - required_device<cpu_device> m_audiocpu; - required_device<generic_latch_16_device> m_soundlatch16; -}; - -// -// Video System Co. ZN-derived hardware -// - -class visco_zn_state : public zn_state -{ -public: - visco_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank") - { - } - - void coh1002v(machine_config &config); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void bank_w(uint8_t data); - - void main_map(address_map &map); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; -}; - -// -// Eighting / Raizing ZN-derived hardware -// - -class raizing_zn_state : public zn_state -{ -public: - raizing_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank"), - m_audiocpu(*this, "audiocpu"), - m_soundlatch(*this, "soundlatch") - { - } - - void coh1002e(machine_config &config); - -protected: - virtual void machine_start() override; - virtual void machine_reset() override; - - void main_map(address_map &map); - void psarc_sound_map(address_map &map); - - void bank_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); - void sound_irq_w(uint8_t data); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; - required_device<cpu_device> m_audiocpu; - required_device<generic_latch_8_device> m_soundlatch; -}; - -class beastrzrb_state : public raizing_zn_state -{ -public: - beastrzrb_state(const machine_config &mconfig, device_type type, const char *tag) : - raizing_zn_state(mconfig, type, tag), - m_okibank(*this, "okibank") - { - } - - void beastrzrb(machine_config &config); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void sound_map(address_map &map); - void oki_map(address_map &map); - - required_memory_bank m_okibank; -}; - -class bam2_state : public zn_state -{ -public: - bam2_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank") - { - } - - void bam2(machine_config &config); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void main_map(address_map &map); - - uint16_t m_mcu_command; - - void mcu_w(offs_t offset, uint16_t data); - uint16_t mcu_r(offs_t offset, uint16_t mem_mask = ~0); - uint16_t unk_r(); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; -}; - -// -// Taito FX1a/FX1b -// - -class taito_fx_state : public zn_state -{ -public: - taito_fx_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank"), - m_mb3773(*this, "mb3773") - { - } - -protected: - virtual void machine_start() override; - virtual void machine_reset() override; - - void bank_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; - required_device<mb3773_device> m_mb3773; -}; - -class taito_fx1a_state : public taito_fx_state -{ -public: - taito_fx1a_state(const machine_config &mconfig, device_type type, const char *tag) : - taito_fx_state(mconfig, type, tag), - m_audiocpu(*this, "audiocpu"), - m_soundbank(*this, "soundbank") - { - } - - void coh1000ta(machine_config &config); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void main_map(address_map &map); - void sound_map(address_map &map); - - void sound_bankswitch_w(uint8_t data); - - required_device<cpu_device> m_audiocpu; - required_memory_bank m_soundbank; -}; - -class taito_fx1b_state : public taito_fx_state -{ -public: - taito_fx1b_state(const machine_config &mconfig, device_type type, const char *tag) : - taito_fx_state(mconfig, type, tag), - m_zoom(*this, "taito_zoom"), - m_fm1208s(*this, "fm1208s") - { - } - - void base_config(machine_config &config); - void coh1000tb(machine_config &config); - -private: - virtual void machine_start() override; - - void main_map(address_map &map); - - void fram_w(offs_t offset, uint8_t data); - uint8_t fram_r(offs_t offset); - - required_device<taito_zoom_device> m_zoom; - required_device<nvram_device> m_fm1208s; - - std::unique_ptr<uint8_t[]> m_fram; -}; - -class gdarius_state : public taito_fx1b_state -{ -public: - gdarius_state(const machine_config &mconfig, device_type type, const char *tag) : - taito_fx1b_state(mconfig, type, tag) - { - } - - void coh1002tb(machine_config &config); -}; - -// -// Atari ZN-derived hardware (Primal Rage 2) -// - -class primrag2_state : public zn_state -{ -public: - primrag2_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_vt83c461(*this, "ide") - { - } - - void coh1000w(machine_config &config); - -private: - virtual void machine_start() override; - - void main_map(address_map &map); - - void dma_read(uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size); - void dma_write(uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size); - - uint16_t vt83c461_16_r(offs_t offset, uint16_t mem_mask = ~0); - void vt83c461_16_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - uint16_t vt83c461_32_r(offs_t offset, uint16_t mem_mask = ~0); - void vt83c461_32_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - - required_device<vt83c461_device> m_vt83c461; - - uint16_t m_vt83c461_latch; -}; - -// -// Tecmo ZN-derived hardware -// - -class tecmo_zn_state : public zn_state -{ -public: - tecmo_zn_state(const machine_config &mconfig, device_type type, const char *tag) : - zn_state(mconfig, type, tag), - m_bankedroms(*this, "bankedroms"), - m_rombank(*this, "rombank") - { - } - - void coh1002m(machine_config &config); - void coh1002ml(machine_config &config); - -protected: - void base_map(address_map &map); - -private: - virtual void machine_start() override; - virtual void machine_reset() override; - - void link_map(address_map &map); - void link_port_map(address_map &map); - - void bank_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0); - - required_memory_region m_bankedroms; - required_memory_bank m_rombank; -}; - -class cbaj_state : public tecmo_zn_state -{ -public: - cbaj_state(const machine_config &mconfig, device_type type, const char *tag) : - tecmo_zn_state(mconfig, type, tag), - m_audiocpu(*this, "audiocpu"), - m_fifo(*this, "cbaj_fifo%u", 1) - { - } - - void cbaj(machine_config &config); - -private: - void main_map(address_map &map); - - void z80_map(address_map &map); - void z80_port_map(address_map &map); - - uint8_t sound_main_status_r(); - uint8_t sound_z80_status_r(); - - required_device<cpu_device> m_audiocpu; - required_device_array<fifo7200_device, 2> m_fifo; -}; - -#endif // MAME_INCLUDES_ZN_H |