Skip to content

Commit

Permalink
Epoch Cassette Vision software list holder
Browse files Browse the repository at this point in the history
  • Loading branch information
David Haywood committed Dec 27, 2023
1 parent b0e3438 commit 96e7fc4
Show file tree
Hide file tree
Showing 3 changed files with 239 additions and 0 deletions.
185 changes: 185 additions & 0 deletions hash/cassvisn_cart.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0-1.0
-->
<!--
The following games exist for this platform
1 Yosaku
2 Baseball
3 Galaxian
4 Big Sports 12
5 Battle Vader
6 PakPak Monster
7 New Baseball
8 Monster Mansion
9 Astro Command
10 Grand Champion
11 Monster Block
12 Elevator Panic
TODO: Identify which game is which, the PCB scans provided in some cases seem mismatched with the
other details.
The D774C PCB is marked "TV Vader & Yosaku" (do they share an MCU?)
The Galaxian PCB is marked D777C-006 but none of these dumps are?
etc.
-->

<softwarelist name="cassvisn_cart" description="Epoch Cassette Vision cartridges">

<software name="d777c002" supported="no">
<description>D777C002</description> <!-- New Baseball? -->
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c002prog.bin" size="0xfe0" crc="d37153a7" sha1="07bd9022477c4decb9a4ab62aa6f93a25be69a4f"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c002_pat.bin" size="0x4d0" crc="434209f8" sha1="e783cb265618c598ad614bf29c833f3e47ee6487"/>
</dataarea>
</part>
</software>

<software name="d777c004" supported="no">
<description>D777C004</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c004prog.bin" size="0xfe0" crc="df7825cb" sha1="37b47cff161f721c32ab7bfde4d410f35da8dc54"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c004_pat.bin" size="0x4d0" crc="7df5eb39" sha1="c59f6febf5f51eebc0cc8d288df6b5319510ecbf"/>
</dataarea>
</part>
</software>

<software name="d777c005" supported="no">
<description>D777C005</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c005prog.bin" size="0xfe0" crc="75595fe2" sha1="74b9c9cff393fa2adff188cc48b331720f5146eb"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c005_pat.bin" size="0x4d0" crc="bf085553" sha1="321262b6dd67789e03db8f03160cb1819529f43c"/>
</dataarea>
</part>
</software>

<software name="d777c007" supported="no">
<description>D777C007</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c007prog.bin" size="0xfe0" crc="a91e525c" sha1="64144ce613823546825809313a19d12629dd1d31"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c007_pat.bin" size="0x4d0" crc="d343eca4" sha1="e8f0312de0d7f0934a66192c1aaa2c802532b021"/>
</dataarea>
</part>
</software>

<software name="d777c008" supported="no">
<description>D777C008</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c008prog.bin" size="0xfe0" crc="92e18f7e" sha1="ff9a0791726056e9b69c3cb96769ced84f9a27b5"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c008_pat.bin" size="0x4d0" crc="e17f5d04" sha1="4393b21d3ef4e98ebf8d25ffb9b3f287fbbb23cb"/>
</dataarea>
</part>
</software>

<software name="d777c009" supported="no">
<description>D777C009</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c009prog.bin" size="0xfe0" crc="6347a00d" sha1="7ab3a4a604868c8c1e4795115a796960f5397acb"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c009_pat.bin" size="0x4d0" crc="75deffbd" sha1="4f4c25fa9f96a345f7128ff0b52de315117da549"/>
</dataarea>
</part>
</software>

<software name="d777c010" supported="no">
<description>D777C010</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c010prog.bin" size="0xfe0" crc="5cb25fcf" sha1="d9790faddc1b94f2c852a984008fb273b3444d62"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c010_pat.bin" size="0x4d0" crc="8b0c00bd" sha1="6fc01434fd92172eeaa7600742525ed69ecb90c2"/>
</dataarea>
</part>
</software>

<software name="d777c013" supported="no">
<description>D777C013</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c013prog.bin" size="0xfe0" crc="b5bc5cbf" sha1="8fc8aa1b3602974588b35bd59fb6ef5ffc690bc6"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c013_pat.bin" size="0x4d0" crc="abf87caa" sha1="dd629bd43bea70ece9f9cd25b70eeef1caf72828"/>
</dataarea>
</part>
</software>

<software name="d777c015" supported="no">
<description>D777C015</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d777c015prog.bin" size="0xfe0" crc="13691241" sha1="6254351ec891ff21ff31912b0c9f6d7d39a1e64d"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d777c015_pat.bin" size="0x4d0" crc="51654eb2" sha1="e5e602a7c5dd2725b67235d401203ddd398bee9b"/>
</dataarea>
</part>
</software>

<software name="d774c" supported="no">
<description>D774C</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d774cprog.bin" size="0xfe0" crc="baecaf94" sha1="e46619f0bfc0c4764d16d453a7e2a889edfdd816"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d774c_pat.bin" size="0x4d0" crc="5efbc1f4" sha1="1c5774113c554e26e8d0b7002d2f7b9d79107c82"/>
</dataarea>
</part>
</software>

<software name="d778c" supported="no">
<description>D778C</description>
<year>1981</year>
<publisher>Epoch</publisher>
<part name="cart" interface="cassvisn_cart">
<dataarea name="prg" size="0xfe0">
<rom name="d778c_prog.bin" size="0xfe0" crc="55c13d5f" sha1="31ddc53648990fa7b5bfeca10572e6257c8da6e1"/>
</dataarea>
<dataarea name="pat" size="0x4d0">
<rom name="d778c_pat.bin" size="0x4d0" crc="603fa141" sha1="e30f5ce85d8e2419025d52a7c733be2c127cc24f"/>
</dataarea>
</part>
</software>

</softwarelist>
51 changes: 51 additions & 0 deletions src/mame/epoch/cassvisn.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// license:BSD-3-Clause
// copyright-holders:

#include "emu.h"
#include "bus/generic/slot.h"
#include "bus/generic/carts.h"
#include "softlist_dev.h"

namespace {

class cassvisn_state : public driver_device
{
public:
cassvisn_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_cart(*this, "cartslot")
{ }

void cassvisn(machine_config &config);
protected:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load);
required_device<generic_slot_device> m_cart;
};

static INPUT_PORTS_START( cassvisn )
INPUT_PORTS_END

DEVICE_IMAGE_LOAD_MEMBER(cassvisn_state::cart_load)
{
uint32_t size = m_cart->common_get_size("rom");
m_cart->rom_alloc(size, GENERIC_ROM16_WIDTH, ENDIANNESS_LITTLE);
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
return std::make_pair(std::error_condition(), std::string());
}

void cassvisn_state::cassvisn(machine_config &config)
{
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "cassvisn_cart");
m_cart->set_width(GENERIC_ROM16_WIDTH);
m_cart->set_device_load(FUNC(cassvisn_state::cart_load));
m_cart->set_must_be_loaded(true);

SOFTWARE_LIST(config, "cart_list").set_original("cassvisn_cart");
}

ROM_START( cassvisn )
ROM_END

} // anonymous namespace

CONS( 1981, cassvisn, 0, 0, cassvisn, cassvisn, cassvisn_state, empty_init, "Epoch", "Cassette Vision", MACHINE_IS_SKELETON )
3 changes: 3 additions & 0 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -17576,6 +17576,9 @@ touryuu // (c) 200? Yuki Enterprise
@source:eolith/vegaeo.cpp
crazywar // (c) 2002 Eolith

@source:epoch/cassvisn.cpp
cassvisn

@source:epoch/gamepock.cpp
gamepock // Epoch Game Pocket Computer

Expand Down

0 comments on commit 96e7fc4

Please sign in to comment.