summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/tatsumi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/tatsumi.h')
-rw-r--r--src/mame/includes/tatsumi.h264
1 files changed, 0 insertions, 264 deletions
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
deleted file mode 100644
index 39971d2b0a7..00000000000
--- a/src/mame/includes/tatsumi.h
+++ /dev/null
@@ -1,264 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Bryan McPhail, Angelo Salese
-#ifndef MAME_INCLUDES_TATSUMI_H
-#define MAME_INCLUDES_TATSUMI_H
-
-#pragma once
-
-#include "sound/okim6295.h"
-#include "sound/ym2151.h"
-#include "cpu/m68000/m68000.h"
-#include "machine/cxd1095.h"
-#include "machine/gen_latch.h"
-#include "emupal.h"
-#include "tilemap.h"
-
-class tatsumi_state : public driver_device
-{
-public:
- tatsumi_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, "maincpu")
- , m_audiocpu(*this, "audiocpu")
- , m_subcpu(*this, "sub")
- , m_ym2151(*this, "ymsnd")
- , m_oki(*this, "oki")
- , m_gfxdecode(*this, "gfxdecode")
- , m_palette(*this, "palette")
- , m_videoram(*this, "videoram")
- , m_sharedram(*this, "sharedram")
- , m_sprite_control_ram(*this, "obj_ctrl_ram")
- , m_spriteram(*this, "spriteram")
- , m_mainregion(*this, "master_rom")
- , m_subregion(*this, "slave_rom")
- { }
-
- void hd6445_crt_w(offs_t offset, uint8_t data);
- INTERRUPT_GEN_MEMBER(v30_interrupt);
- TILE_GET_INFO_MEMBER(get_text_tile_info);
-
-protected:
- required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_audiocpu;
- required_device<m68000_base_device> m_subcpu;
- optional_device<ym2151_device> m_ym2151;
- required_device<okim6295_device> m_oki;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
-
- optional_shared_ptr<uint16_t> m_videoram;
- optional_shared_ptr<uint16_t> m_sharedram;
- required_shared_ptr<uint16_t> m_sprite_control_ram;
- required_shared_ptr<uint16_t> m_spriteram;
- required_memory_region m_mainregion;
- required_memory_region m_subregion;
-
- uint8_t *m_rom_sprite_lookup[2];
- uint8_t *m_rom_clut[2];
- uint16_t m_control_word;
- uint8_t m_last_control;
- tilemap_t *m_tx_layer;
- bitmap_rgb32 m_temp_bitmap;
- std::unique_ptr<uint8_t[]> m_shadow_pen_array;
- void text_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint16_t tatsumi_v30_68000_r(offs_t offset);
- void tatsumi_v30_68000_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint16_t tatsumi_sprite_control_r(offs_t offset);
- void tatsumi_sprite_control_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
-
- void tatsumi_reset();
- template<class BitmapClass> void draw_sprites(BitmapClass &bitmap, const rectangle &cliprect, int write_priority_only, int rambank);
- template<class BitmapClass> inline void roundupt_drawgfxzoomrotate( BitmapClass &dest_bmp, const rectangle &clip,
- gfx_element *gfx, uint32_t code,uint32_t color,int flipx,int flipy,uint32_t ssx,uint32_t ssy,
- int scalex, int scaley, int rotate, int write_priority_only );
- void update_cluts(int fake_palette_offset, int object_base, int length);
-
- uint8_t m_hd6445_reg[64];
- void apply_shadow_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect, bitmap_ind8 &shadow_bitmap, uint8_t xor_output);
-
- uint8_t m_hd6445_address;
-};
-
-class apache3_state : public tatsumi_state
-{
-public:
- apache3_state(const machine_config &mconfig, device_type type, const char *tag)
- : tatsumi_state(mconfig, type, tag)
- , m_subcpu2(*this, "sub2")
- , m_apache3_g_ram(*this, "apache3_g_ram")
- , m_apache3_z80_ram(*this, "apache3_z80_ram")
- , m_apache3_prom(*this, "proms")
- , m_vr1(*this, "VR1")
- {
- }
-
- void apache3(machine_config &config);
-
- void init_apache3();
-
-private:
- uint16_t apache3_bank_r();
- void apache3_bank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void apache3_z80_ctrl_w(uint16_t data);
- uint16_t apache3_v30_v20_r(offs_t offset);
- void apache3_v30_v20_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint16_t apache3_z80_r(offs_t offset);
- void apache3_z80_w(offs_t offset, uint16_t data);
- uint8_t apache3_vr1_r();
- void apache3_rotate_w(uint16_t data);
- void apache3_road_z_w(uint16_t data);
- void apache3_road_x_w(offs_t offset, uint8_t data);
-
- DECLARE_MACHINE_RESET(apache3);
- DECLARE_VIDEO_START(apache3);
- uint32_t screen_update_apache3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- DECLARE_WRITE_LINE_MEMBER(apache3_68000_reset);
-
- void apache3_68000_map(address_map &map);
- void apache3_v20_map(address_map &map);
- void apache3_v30_map(address_map &map);
- void apache3_z80_map(address_map &map);
-
- void draw_sky(bitmap_rgb32 &bitmap, const rectangle &cliprect, int palette_base, int start_offset);
- void draw_ground(bitmap_rgb32 &dst, const rectangle &cliprect);
-
- required_device<cpu_device> m_subcpu2;
-
- required_shared_ptr<uint16_t> m_apache3_g_ram;
- required_shared_ptr<uint8_t> m_apache3_z80_ram;
- required_region_ptr<uint8_t> m_apache3_prom;
-
- required_ioport m_vr1;
-
- uint16_t m_apache3_rotate_ctrl[12];
- int m_apache3_rot_idx;
- std::unique_ptr<uint8_t[]> m_apache3_road_x_ram;
- uint8_t m_apache3_road_z;
-};
-
-class roundup5_state : public tatsumi_state
-{
-public:
- roundup5_state(const machine_config &mconfig, device_type type, const char *tag)
- : tatsumi_state(mconfig, type, tag)
- , m_vregs(*this, "vregs")
- , m_bg_scrollx(*this, "bg_scrollx")
- , m_bg_scrolly(*this, "bg_scrolly")
- , m_road_ctrl_ram(*this, "road_ctrl_ram")
- , m_road_pixel_ram(*this, "road_pixel_ram")
- , m_road_color_ram(*this, "road_color_ram")
- , m_road_yclip(*this, "road_yclip")
- , m_road_vregs(*this, "road_vregs")
- {
- }
-
- void roundup5(machine_config &config);
-
- void init_roundup5();
-
-private:
- uint16_t roundup_v30_z80_r(offs_t offset);
- void roundup_v30_z80_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void roundup5_control_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void road_vregs_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint8_t gfxdata_r(offs_t offset);
- void gfxdata_w(offs_t offset, uint8_t data);
- void output_w(uint8_t data);
-
- DECLARE_VIDEO_START(roundup5);
- uint32_t screen_update_roundup5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-
- void roundup5_68000_map(address_map &map);
- void roundup5_v30_map(address_map &map);
- void roundup5_z80_map(address_map &map);
-
-// virtual void machine_reset() override;
-
- void draw_road(bitmap_rgb32 &bitmap, const rectangle &cliprect);
- void draw_landscape(bitmap_rgb32 &bitmap, const rectangle &cliprect, uint8_t type);
-
- required_shared_ptr<uint16_t> m_vregs;
- required_shared_ptr<uint16_t> m_bg_scrollx;
- required_shared_ptr<uint16_t> m_bg_scrolly;
- required_shared_ptr<uint16_t> m_road_ctrl_ram;
- required_shared_ptr<uint16_t> m_road_pixel_ram;
- required_shared_ptr<uint16_t> m_road_color_ram;
- required_shared_ptr<uint16_t> m_road_yclip;
- required_shared_ptr<uint16_t> m_road_vregs;
-
- std::unique_ptr<uint8_t[]> m_tx_gfxram;
- std::unique_ptr<uint8_t[]> m_bg_gfxram;
-};
-
-class cyclwarr_state : public tatsumi_state
-{
-public:
- cyclwarr_state(const machine_config &mconfig, device_type type, const char *tag)
- : tatsumi_state(mconfig, type, tag)
- , m_soundlatch(*this, "soundlatch")
- , m_master_ram(*this, "master_ram")
- , m_slave_ram(*this, "slave_ram")
- , m_cyclwarr_videoram(*this, "cw_videoram%u", 0U)
- , m_cyclwarr_tileclut(*this, "cw_tileclut")
- {
- }
-
- void cyclwarr(machine_config &config);
- void bigfight(machine_config &config);
-
- void init_cyclwarr();
-
-protected:
- virtual void machine_reset() override;
-
-private:
- uint16_t cyclwarr_sprite_r(offs_t offset);
- void cyclwarr_sprite_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void video_config_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void bigfight_a40000_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void mixing_control_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void cyclwarr_control_w(uint8_t data);
- void cyclwarr_sound_w(uint8_t data);
- void output_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint8_t oki_status_xor_r();
-
- template<int Bank> uint16_t cyclwarr_videoram_r(offs_t offset);
- template<int Bank> void cyclwarr_videoram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
-
- template<int Bank> TILE_GET_INFO_MEMBER(get_tile_info_bigfight);
- template<int Bank> TILE_GET_INFO_MEMBER(get_tile_info_cyclwarr_road);
- DECLARE_VIDEO_START(cyclwarr);
- DECLARE_VIDEO_START(bigfight);
- uint32_t screen_update_cyclwarr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-
- void common_map(address_map &map);
- void master_map(address_map &map);
- void slave_map(address_map &map);
- void sound_map(address_map &map);
-
- required_device<generic_latch_8_device> m_soundlatch;
-
- required_shared_ptr<uint16_t> m_master_ram;
- required_shared_ptr<uint16_t> m_slave_ram;
- required_shared_ptr_array<uint16_t, 2> m_cyclwarr_videoram;
- required_region_ptr<uint8_t> m_cyclwarr_tileclut;
-
- std::vector<uint8_t> m_mask;
- tilemap_t *m_layer[4];
-
- uint16_t m_video_config[4];
- uint16_t m_mixing_control;
- uint16_t m_bigfight_a40000[2];
- uint16_t m_bigfight_bank;
- uint16_t m_bigfight_last_bank;
- uint16_t m_road_color_bank, m_prev_road_bank;
- uint16_t m_layer_page_size[4];
- bool m_layer1_can_be_road;
-
- void tile_expand();
- void draw_bg(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, tilemap_t *src, const uint16_t* scrollx, const uint16_t* scrolly, const uint16_t layer_page_size, bool is_road, int hi_priority);
- void draw_bg_layers(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int hi_priority);
- void apply_highlight_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect, bitmap_ind8 &highlight_bitmap);
-};
-
-#endif // MAME_INCLUDES_TATSUMI_H