Moved Cave drivers and devices to atlus project and a new cave project. (#12090)

This commit is contained in:
Angelo Salese 2024-03-04 15:31:38 +01:00 committed by GitHub
parent bfef33bf93
commit 7db1458ca1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 124 additions and 148 deletions

View File

@ -247,28 +247,6 @@ if (VIDEOS["EF9365"]~=null) then
}
end
--------------------------------------------------
--@src/devices/video/epic12.h,VIDEOS["EPIC12"] = true
--------------------------------------------------
if (VIDEOS["EPIC12"]~=null) then
files {
MAME_DIR .. "src/devices/video/epic12.cpp",
MAME_DIR .. "src/devices/video/epic12.h",
MAME_DIR .. "src/devices/video/epic12_blit0.cpp",
MAME_DIR .. "src/devices/video/epic12_blit1.cpp",
MAME_DIR .. "src/devices/video/epic12_blit2.cpp",
MAME_DIR .. "src/devices/video/epic12_blit3.cpp",
MAME_DIR .. "src/devices/video/epic12_blit4.cpp",
MAME_DIR .. "src/devices/video/epic12_blit5.cpp",
MAME_DIR .. "src/devices/video/epic12_blit6.cpp",
MAME_DIR .. "src/devices/video/epic12_blit7.cpp",
MAME_DIR .. "src/devices/video/epic12_blit8.cpp",
MAME_DIR .. "src/devices/video/epic12in.hxx",
MAME_DIR .. "src/devices/video/epic12pixel.hxx",
}
end
--------------------------------------------------
--
--@src/devices/video/fixfreq.h,VIDEOS["FIXFREQ"] = true

View File

@ -46,6 +46,9 @@ Year + Game License PCB Tilemaps Sprites
To Do:
- Modernize state objects for each PCB sub-variant, rename to something more
apt than "cave_state";
- Sprite lag in some games (e.g. metmqstr). The sprites chip probably
generates interrupts (unknown_irq)

View File

@ -1,7 +1,7 @@
// license:BSD-3-Clause
// copyright-holders:Luca Elia
#ifndef MAME_MISC_CAVE_H
#define MAME_MISC_CAVE_H
#ifndef MAME_ATLUS_CAVE_H
#define MAME_ATLUS_CAVE_H
#pragma once
@ -391,4 +391,4 @@ private:
void ppsatan_map(address_map &map);
};
#endif // MAME_MISC_CAVE_H
#endif // MAME_ATLUS_CAVE_H

View File

@ -190,12 +190,13 @@ Timing
#include "emu.h"
#include "epic12.h"
#include "cpu/sh/sh3comn.h"
#include "cpu/sh/sh4.h"
#include "machine/nandflash.h"
#include "machine/rtc9701.h"
#include "sound/ymz770.h"
#include "video/epic12.h"
#include "screen.h"
#include "speaker.h"
@ -945,9 +946,10 @@ ROM_END
uint64_t cv1k_state::speedup_r()
{
offs_t pc = m_maincpu->pc();
const offs_t pc = m_maincpu->pc();
if (pc == m_idlepc || pc == m_idlepc + 2) m_maincpu->spin_until_time(attotime::from_usec(10));
if (pc == m_idlepc || pc == m_idlepc + 2)
m_maincpu->spin_until_time(attotime::from_usec(10));
return m_ram[m_idleramoffs / 8];
}

View File

@ -129,7 +129,7 @@ void epic12_device::device_reset()
m_blitter_busy = 0;
}
// todo, get these into the device class without ruining performance
// TODO: get these into the device class without ruining performance
u8 epic12_device::colrtable[0x20][0x40];
u8 epic12_device::colrtable_rev[0x20][0x40];
u8 epic12_device::colrtable_add[0x20][0x20];
@ -727,7 +727,7 @@ void epic12_device::gfx_create_shadow_copy(address_space &space)
}
void epic12_device::gfx_exec(void)
void epic12_device::gfx_exec()
{
offs_t addr = m_gfx_addr_shadowcopy & 0x1fffffff;
m_clip.set(m_gfx_clip_x_shadowcopy - EP1C_CLIP_MARGIN, m_gfx_clip_x_shadowcopy + 320 - 1 + EP1C_CLIP_MARGIN,
@ -865,7 +865,6 @@ void epic12_device::draw_screen(bitmap_rgb32 &bitmap, const rectangle &cliprect)
int scroll_x = -m_gfx_scroll_x;
int scroll_y = -m_gfx_scroll_y;
#if DEBUG_VRAM_VIEWER
if (m_debug_vram_view_en)
copybitmap(bitmap, *m_bitmaps, 0, 0, 0, 0, cliprect);
@ -942,14 +941,8 @@ void epic12_device::install_handlers(int addr1, int addr2)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
read32s_delegate read(*this);
write32_delegate write(*this);
read = read32s_delegate(*this, FUNC(epic12_device::blitter_r));
write = write32_delegate(*this, FUNC(epic12_device::blitter_w));
space.install_read_handler(addr1, addr2, std::move(read), 0xffffffffffffffffU);
space.install_write_handler(addr1, addr2, std::move(write), 0xffffffffffffffffU);
space.install_read_handler(addr1, addr2, emu::rw_delegate(*this, FUNC(epic12_device::blitter_r)), 0xffffffffffffffffU);
space.install_write_handler(addr1, addr2, emu::rw_delegate(*this, FUNC(epic12_device::blitter_w)), 0xffffffffffffffffU);
}
u64 epic12_device::fpga_r()

View File

@ -1,8 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:David Haywood, Luca Elia, MetalliC
/* emulation of Altera Cyclone EPIC12 FPGA programmed as a blitter */
#ifndef MAME_VIDEO_EPIC12_H
#define MAME_VIDEO_EPIC12_H
#ifndef MAME_CAVE_EPIC12_H
#define MAME_CAVE_EPIC12_H
#pragma once
@ -58,7 +58,7 @@ public:
inline void gfx_draw_shadow_copy(address_space &space, offs_t *addr);
inline void gfx_upload(offs_t *addr);
inline void gfx_draw(offs_t *addr);
void gfx_exec(void);
void gfx_exec();
u32 gfx_ready_r();
void gfx_exec_w(address_space &space, offs_t offset, u32 data, u32 mem_mask = ~0);
@ -890,4 +890,4 @@ protected:
DECLARE_DEVICE_TYPE(EPIC12, epic12_device)
#endif // MAME_VIDEO_EPIC12_H
#endif // MAME_CAVE_EPIC12_H

View File

@ -2155,6 +2155,76 @@ xybotsg // 136054 (c) 1987
@source:atlus/bowltry.cpp
bowltry // (c) 200? Atlus
@source:atlus/cave.cpp
agallet // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalleth // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletj // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletk // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agallett // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletu // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalleta // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletah // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletaj // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletak // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletat // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletau // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
crusherm // (c) 1999 Takumi
ddonpach // (c) 1997 Atlus/Cave
ddonpacha // hack
ddonpachj // (c) 1997 Atlus/Cave
dfeveron // (c) 1998 Cave + Nihon System license
donpachi // (c) 1995 Atlus/Cave
donpachihk // (c) 1995 Atlus/Cave
donpachij // (c) 1995 Atlus/Cave
donpachijs // (c) 1995 Atlus/Cave
donpachikr // (c) 1995 Atlus/Cave
esprade // (c) 1998 Atlus/Cave
espradej // (c) 1998 Atlus/Cave (Japan)
espradejo // (c) 1998 Atlus/Cave (Japan)
feversos // (c) 1998 Cave + Nihon System license
gaia // (c) 1999 Noise Factory
guwange // (c) 1999 Atlus/Cave
guwanges // (c) 1999 Atlus/Cave
hotdogst // (c) 1996 Marble
korokoro // (c) 1999 Takumi
mazinger // (c) 1994 Banpresto (country is in EEPROM)
mazingerj // (c) 1994 Banpresto (country is in EEPROM)
metmqstr // (c) 1995 Banpresto / Pandorabox
nmaster // (c) 1995 Banpresto / Pandorabox
paccarn // (c) 1996 Namco
paceight // (c) 1996 Namco
pacslot // (c) 1996 Namco
plegends // (c) 1994 Atlus
plegendsj // (c) 1994 Atlus
ppsatan // (c) 1996 <unknown>
pwrinst2 // (c) 1994 Atlus
pwrinst2a // (c) 1994 Atlus
pwrinst2j // (c) 1994 Atlus
sailormn // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnh // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnj // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnk // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnn // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnh // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnj // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnk // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnt // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnu // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormno // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnoh // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnoj // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnok // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnot // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnou // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnt // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnu // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
tekkenbs // (c) 1998 Namco
tekkencw // (c) 1997 Namco
theroes // (c) 2001 Primetek Investments
tjumpman // (c) 1999 Namco
uopoko // (c) 1998 Cave + Jaleco license
uopokoj // (c) 1998 Cave + Jaleco license
@source:atlus/ohmygod.cpp
naname // (c) 1994 Atlus (Japan)
ohmygod // (c) 1993 Atlus (Japan)
@ -15961,6 +16031,40 @@ sk10 //
@source:casio/sx1000.cpp
sx1010 // Casio SX1010
@source:cave/cavepc.cpp
deathsm2 //
@source:cave/cv1k.cpp
ddpdfk // (c) 2008 Cave (AMI license) - 2008/06/23 MASTER VER 1.5
ddpdfk10 // (c) 2008 Cave (AMI license) - 2008/05/16 MASTER VER
deathsml // (c) 2007 Cave (AMI license) - 2007/10/09 MASTER VER
dfkbl // (c) 2010 Cave (AMI license) - 2010/1/18 BLACK LABEL
dsmbl // (c) 2008 Cave (AMI license) - 2008/10/06 MEGABLACK LABEL VER
espgal2 // (c) 2005 Cave (AMI license) - 2005/11/14.MASTER VER.
espgal2a // (c) 2005 Cave (AMI license) - 2005/11/14 MASTER VER
espgal2b // (c) 2005 Cave (AMI license) - 2005/11/14 MASTER VER
futari10 // (c) 2006 Cave (AMI license) - 2006/10/23 MASTER VER.
futari15 // (c) 2006 Cave (AMI license) - 2006/12/8.MASTER VER. 1.54.
futari15a // (c) 2006 Cave (AMI license) - 2006/12/8 MASTER VER 1.54
futaribl // (c) 2007 Cave (AMI license) - 2009/11/27 INTERNATIONAL BL - Another Ver
futariblj // (c) 2007 Cave (AMI license) - 2007/12/11 BLACK LABEL VER
ibara // (c) 2005 Cave (AMI license) - 2005/03/22 MASTER VER.. '06. 3. 7 ver.
ibarao // (c) 2005 Cave (AMI license) - 2005/03/22 MASTER VER..
ibarablk // (c) 2005 Cave (AMI license) - 2006/02/06. MASTER VER.
ibarablka // (c) 2005 Cave (AMI license) - 2006/02/06 MASTER VER.
mmmbanc // (c) 2007 Cave (AMI license) - 2007/06/05 MASTER VER.
mmpork // (c) 2007 Cave (AMI license) - 2007/ 4/17 MASTER VER.
mushisam // (c) 2004 Cave (AMI license) - 2004/10/12.MASTER VER.
mushisama // (c) 2004 Cave (AMI license) - 2004/10/12 MASTER VER.
mushisamb // (c) 2004 Cave (AMI license) - 2004/10/12 MASTER VER
mushitam // (c) 2005 Cave (AMI license) - 2005/09/09.MASTER VER
mushitama // (c) 2005 Cave (AMI license) - 2005/09/09 MASTER VER
pinkswts // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER....
pinkswtsa // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER...
pinkswtsb // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER.
pinkswtsx // (c) 2006 Cave (AMI license) - 2006/xx/xx MASTER VER.
pinkswtssc // bootleg
@source:cce/mc1000.cpp
mc1000 //
@ -28825,79 +28929,6 @@ carrera // (c) 19?? BS Electronics
castfpt // Fortune Pot
castrev // Revolution
@source:misc/cave.cpp
agallet // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalleth // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletj // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletk // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agallett // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletu // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalleta // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletah // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletaj // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletak // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletat // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
agalletau // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
crusherm // (c) 1999 Takumi
ddonpach // (c) 1997 Atlus/Cave
ddonpacha // hack
ddonpachj // (c) 1997 Atlus/Cave
dfeveron // (c) 1998 Cave + Nihon System license
donpachi // (c) 1995 Atlus/Cave
donpachihk // (c) 1995 Atlus/Cave
donpachij // (c) 1995 Atlus/Cave
donpachijs // (c) 1995 Atlus/Cave
donpachikr // (c) 1995 Atlus/Cave
esprade // (c) 1998 Atlus/Cave
espradej // (c) 1998 Atlus/Cave (Japan)
espradejo // (c) 1998 Atlus/Cave (Japan)
feversos // (c) 1998 Cave + Nihon System license
gaia // (c) 1999 Noise Factory
guwange // (c) 1999 Atlus/Cave
guwanges // (c) 1999 Atlus/Cave
hotdogst // (c) 1996 Marble
korokoro // (c) 1999 Takumi
mazinger // (c) 1994 Banpresto (country is in EEPROM)
mazingerj // (c) 1994 Banpresto (country is in EEPROM)
metmqstr // (c) 1995 Banpresto / Pandorabox
nmaster // (c) 1995 Banpresto / Pandorabox
paccarn // (c) 1996 Namco
paceight // (c) 1996 Namco
pacslot // (c) 1996 Namco
plegends // (c) 1994 Atlus
plegendsj // (c) 1994 Atlus
ppsatan // (c) 1996 <unknown>
pwrinst2 // (c) 1994 Atlus
pwrinst2a // (c) 1994 Atlus
pwrinst2j // (c) 1994 Atlus
sailormn // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnh // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnj // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnk // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnn // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnh // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnj // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnk // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnt // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormnnu // (c) 1995 Banpresto (Ver. 95/03/22, country is in EEPROM)
sailormno // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnoh // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnoj // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnok // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnot // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnou // (c) 1995 Banpresto (Ver. 95/03/21, country is in EEPROM)
sailormnt // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
sailormnu // (c) 1995 Banpresto (Ver. 95/03/22B, country is in EEPROM)
tekkenbs // (c) 1998 Namco
tekkencw // (c) 1997 Namco
theroes // (c) 2001 Primetek Investments
tjumpman // (c) 1999 Namco
uopoko // (c) 1998 Cave + Jaleco license
uopokoj // (c) 1998 Cave + Jaleco license
@source:misc/cavepc.cpp
deathsm2 //
@source:misc/cb2001.cpp
cb2001 // (c) 2001 Dyna Electronics
scherrym // (c) 2001? Dyna Electronics
@ -29032,37 +29063,6 @@ gangrose //
tsarevna //
tsarevnaa //
@source:misc/cv1k.cpp
ddpdfk // (c) 2008 Cave (AMI license) - 2008/06/23 MASTER VER 1.5
ddpdfk10 // (c) 2008 Cave (AMI license) - 2008/05/16 MASTER VER
deathsml // (c) 2007 Cave (AMI license) - 2007/10/09 MASTER VER
dfkbl // (c) 2010 Cave (AMI license) - 2010/1/18 BLACK LABEL
dsmbl // (c) 2008 Cave (AMI license) - 2008/10/06 MEGABLACK LABEL VER
espgal2 // (c) 2005 Cave (AMI license) - 2005/11/14.MASTER VER.
espgal2a // (c) 2005 Cave (AMI license) - 2005/11/14 MASTER VER
espgal2b // (c) 2005 Cave (AMI license) - 2005/11/14 MASTER VER
futari10 // (c) 2006 Cave (AMI license) - 2006/10/23 MASTER VER.
futari15 // (c) 2006 Cave (AMI license) - 2006/12/8.MASTER VER. 1.54.
futari15a // (c) 2006 Cave (AMI license) - 2006/12/8 MASTER VER 1.54
futaribl // (c) 2007 Cave (AMI license) - 2009/11/27 INTERNATIONAL BL - Another Ver
futariblj // (c) 2007 Cave (AMI license) - 2007/12/11 BLACK LABEL VER
ibara // (c) 2005 Cave (AMI license) - 2005/03/22 MASTER VER.. '06. 3. 7 ver.
ibarao // (c) 2005 Cave (AMI license) - 2005/03/22 MASTER VER..
ibarablk // (c) 2005 Cave (AMI license) - 2006/02/06. MASTER VER.
ibarablka // (c) 2005 Cave (AMI license) - 2006/02/06 MASTER VER.
mmmbanc // (c) 2007 Cave (AMI license) - 2007/06/05 MASTER VER.
mmpork // (c) 2007 Cave (AMI license) - 2007/ 4/17 MASTER VER.
mushisam // (c) 2004 Cave (AMI license) - 2004/10/12.MASTER VER.
mushisama // (c) 2004 Cave (AMI license) - 2004/10/12 MASTER VER.
mushisamb // (c) 2004 Cave (AMI license) - 2004/10/12 MASTER VER
mushitam // (c) 2005 Cave (AMI license) - 2005/09/09.MASTER VER
mushitama // (c) 2005 Cave (AMI license) - 2005/09/09 MASTER VER
pinkswts // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER....
pinkswtsa // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER...
pinkswtsb // (c) 2006 Cave (AMI license) - 2006/04/06 MASTER VER.
pinkswtsx // (c) 2006 Cave (AMI license) - 2006/xx/xx MASTER VER.
pinkswtssc // bootleg
@source:misc/cwheel.cpp
cwheel // (c) 19?? Gamebar