Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Robbbert committed Dec 13, 2024
2 parents 55de3ca + 08368fd commit 2bd3187
Show file tree
Hide file tree
Showing 47 changed files with 2,615 additions and 583 deletions.
41 changes: 41 additions & 0 deletions hash/a2600.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6186,6 +6186,47 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb
</part>
</software>

<!-- https://forums.atariage.com/topic/210515-new-2600-homebrews-heartbreak-fix-it-felix-sr-joy-ride/ -->
<software name="felixsr">
<description>Fix-It Felix Sr.</description>
<year>2013</year>
<publisher>Cybearg</publisher>
<info name="release" value="20130327"/>
<sharedfeat name="compatibility" value="NTSC"/>
<part name="cart" interface="a2600_cart">
<dataarea name="rom" size="4096">
<rom name="fix-it felix sr. (pal50).bin" size="4096" crc="4f066bc9" sha1="296d9c1ef7b214b863516822c7a38009559f3a2a"/>
</dataarea>
</part>
</software>

<software name="felixsre" cloneof="felixsr">
<description>Fix-It Felix Sr. (PAL)</description>
<year>2013</year>
<publisher>Cybearg</publisher>
<info name="release" value="20130327"/>
<sharedfeat name="compatibility" value="PAL" />
<part name="cart" interface="a2600_cart">
<dataarea name="rom" size="4096">
<rom name="fix-it felix sr. (pal50).bin" size="4096" crc="a0a88a0c" sha1="8942868cead351fffd1914fd52b523bdc774dace"/>
</dataarea>
</part>
</software>

<!-- Is this meant for a console mod? -->
<software name="felixsrea" cloneof="felixsr" supported="no">
<description>Fix-It Felix Sr. (PAL60)</description>
<year>2013</year>
<publisher>Cybearg</publisher>
<info name="release" value="20130327"/>
<sharedfeat name="compatibility" value="PAL" />
<part name="cart" interface="a2600_cart">
<dataarea name="rom" size="4096">
<rom name="fix-it felix sr. (pal60).bin" size="4096" crc="b0677067" sha1="5a258bdfdf1c72c7b74d1a90f7fb8f7a4d3f7cc7"/>
</dataarea>
</part>
</software>

<software name="festival">
<description>Festival (PAL)</description>
<year>1983</year>
Expand Down
52 changes: 52 additions & 0 deletions hash/megadriv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3006,6 +3006,58 @@ Crashes after EA logo, requires better [VDP] irq handling
</software>


<software name="felixjr">
<description>Fix-it Felix Jr.</description>
<year>2014</year>
<publisher>Airwalk Studios</publisher>
<part name="cart" interface="megadriv_cart">
<dataarea name="rom" width="16" endianness="big" size="601870">
<rom name="fix-it felix jr (final).bin" size="601870" crc="424ff451" sha1="2bad4a0db0f95a7588e75f344c25427a6e83522b" />
</dataarea>
</part>
</software>


<!-- Another, 1.12, version is known to have existed between this and the final version
See: https://www.youtube.com/watch?v=_1uGkfw5ky8 -->
<software name="felixjrv10" cloneof="felixjr">
<description>Fix-it Felix Jr. (v1.0)</description>
<year>2013</year>
<publisher>Airwalk Studios</publisher>
<part name="cart" interface="megadriv_cart">
<dataarea name="rom" width="16" endianness="big" size="131072">
<rom name="fix-it felix jr (1.0).bin" size="131072" crc="0b3ab7e9" sha1="c097b6dda7c0014e269884602bacd0eaff02d005" />
</dataarea>
</part>
</software>


<software name="wreckit" cloneof="felixjr">
<description>Wreck It Ralph (Russian translation bootleg)</description>
<year>2022</year>
<publisher>T+Rus Pirates</publisher>
<info name="language" value="Russian" />
<part name="cart" interface="megadriv_cart">
<dataarea name="rom" width="16" endianness="big" size="601870">
<rom name="wreck it ralph (trus bootleg).bin" size="601870" crc="6eec9f12" sha1="72eb534155a846327f2081566d7fa5ff12952ffa" />
</dataarea>
</part>
</software>


<software name="wreckita" cloneof="felixjr">
<description>Wreck It Ralph (Russian translation bootleg, alt)</description>
<year>2022</year>
<publisher>T+Rus Pirates</publisher>
<info name="language" value="Russian" />
<part name="cart" interface="megadriv_cart">
<dataarea name="rom" width="16" endianness="big" size="601870">
<rom name="wreck it ralph (trus bootleg alt).bin" size="601870" crc="ac8e0de5" sha1="68d1908926c39c336340300742086d5e17bf9806" />
</dataarea>
</part>
</software>


<software name="feverpit">
<description>Fever Pitch (Europe)</description>
<year>1995</year>
Expand Down
2 changes: 1 addition & 1 deletion scripts/src/3rdparty.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1499,7 +1499,7 @@ end
MAME_DIR .. "3rdparty/bx/include/compat/freebsd",
}

configuration { "linux*" }
configuration { "linux*", "not mingw*" }
includedirs {
MAME_DIR .. "3rdparty/bgfx/3rdparty/directx-headers/include/wsl/stubs",
MAME_DIR .. "3rdparty/bx/include/compat/linux",
Expand Down
2 changes: 2 additions & 0 deletions scripts/src/bus.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4690,6 +4690,8 @@ if (BUSES["ZORRO"]~=null) then
MAME_DIR .. "src/devices/bus/amiga/zorro/buddha.h",
MAME_DIR .. "src/devices/bus/amiga/zorro/ripple.cpp",
MAME_DIR .. "src/devices/bus/amiga/zorro/ripple.h",
MAME_DIR .. "src/devices/bus/amiga/zorro/toccata.cpp",
MAME_DIR .. "src/devices/bus/amiga/zorro/toccata.h",
}
end

Expand Down
60 changes: 29 additions & 31 deletions src/devices/bus/amiga/zorro/a2052.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// license:GPL-2.0+
// copyright-holders:Dirk Best
// license: GPL-2.0+
// copyright-holders: Dirk Best
/***************************************************************************

Commodore A2052
Expand All @@ -21,12 +21,20 @@

DEFINE_DEVICE_TYPE(ZORRO_A2052, bus::amiga::zorro::a2052_device, "zorro_a2052", "CBM A2052 Fast Memory")


namespace bus::amiga::zorro {

//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
a2052_device::a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ZORRO_A2052, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_config(*this, "config"),
m_ram_size(0)
{
}


//**************************************************************************
// INPUT DEFINITIONS
//**************************************************************************

static INPUT_PORTS_START( a2052 )
PORT_START("config")
Expand All @@ -43,31 +51,21 @@ ioport_constructor a2052_device::device_input_ports() const


//**************************************************************************
// LIVE DEVICE
// MACHINE EMULATION
//**************************************************************************

//-------------------------------------------------
// a2052_device - constructor
//-------------------------------------------------

a2052_device::a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ZORRO_A2052, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_config(*this, "config")
{
}

//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------

void a2052_device::device_start()
{
// setup ram
m_ram = make_unique_clear<uint16_t[]>(0x200000/2);

// register for save states
save_pointer(NAME(m_ram), 0x200000/2);
}


//**************************************************************************
// IMPLEMENTATION
// AUTOCONFIG
//**************************************************************************

void a2052_device::autoconfig_base_address(offs_t address)
Expand All @@ -79,7 +77,7 @@ void a2052_device::autoconfig_base_address(offs_t address)
m_slot->space().unmap_readwrite(0xe80000, 0xe8007f);

// install access to the rom space
m_slot->space().install_ram(address, address + m_ram.size()*2 - 1, &m_ram[0]);
m_slot->space().install_ram(address, address + (m_ram_size << 20) - 1, m_ram.get());

// we're done
m_slot->cfgout_w(0);
Expand All @@ -99,20 +97,20 @@ void a2052_device::cfgin_w(int state)
{
case 0:
autoconfig_board_size(BOARD_SIZE_512K);
m_ram.resize(0x080000/2);
m_ram_size = 0x080000 >> 20;
break;
case 1:
autoconfig_board_size(BOARD_SIZE_1M);
m_ram.resize(0x100000/2);
m_ram_size = 0x100000 >> 20;
break;
case 2:
autoconfig_board_size(BOARD_SIZE_2M);
m_ram.resize(0x200000/2);
m_ram_size = 0x200000 >> 20;
break;
}

autoconfig_product(0x0a);
autoconfig_manufacturer(0x0202);
autoconfig_product(10);
autoconfig_manufacturer(514);
autoconfig_serial(0x00000000);

autoconfig_link_into_memory(true);
Expand All @@ -123,8 +121,8 @@ void a2052_device::cfgin_w(int state)

// install autoconfig handler
m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)),
write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff);
read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)),
write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff);
}
}

Expand Down
12 changes: 5 additions & 7 deletions src/devices/bus/amiga/zorro/a2052.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// license:GPL-2.0+
// copyright-holders:Dirk Best
// license: GPL-2.0+
// copyright-holders: Dirk Best
/***************************************************************************

Commodore A2052
Expand All @@ -23,12 +23,9 @@ namespace bus::amiga::zorro {
// TYPE DEFINITIONS
//**************************************************************************

// ======================> a2052_device

class a2052_device : public device_t, public device_zorro2_card_interface, public amiga_autoconfig
{
public:
// construction/destruction
a2052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

protected:
Expand All @@ -43,12 +40,13 @@ class a2052_device : public device_t, public device_zorro2_card_interface, publi

private:
required_ioport m_config;
std::vector<uint16_t> m_ram;
std::unique_ptr<uint16_t[]> m_ram;
int m_ram_size;
};

} // namespace bus::amiga::zorro

// device type definition
// device type declaration
DECLARE_DEVICE_TYPE_NS(ZORRO_A2052, bus::amiga::zorro, a2052_device)

#endif // MAME_BUS_AMIGA_ZORRO_A2052_H
48 changes: 20 additions & 28 deletions src/devices/bus/amiga/zorro/a2058.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// license:GPL-2.0+
// copyright-holders:Dirk Best
// license: GPL-2.0+
// copyright-holders: Dirk Best
/***************************************************************************

Commodore A2058
Expand All @@ -21,12 +21,20 @@

DEFINE_DEVICE_TYPE(ZORRO_A2058, bus::amiga::zorro::a2058_device, "zorro_a2058", "CBM A2058 Fast Memory")


namespace bus::amiga::zorro {

//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
a2058_device::a2058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ZORRO_A2058, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_config(*this, "config"),
m_ram_size(0)
{
}


//**************************************************************************
// INPUT DEFINITIONS
//**************************************************************************

static INPUT_PORTS_START( a2058 )
PORT_START("config")
Expand All @@ -44,25 +52,9 @@ ioport_constructor a2058_device::device_input_ports() const


//**************************************************************************
// LIVE DEVICE
// MACHINE EMULATION
//**************************************************************************

//-------------------------------------------------
// a2058_device - constructor
//-------------------------------------------------

a2058_device::a2058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ZORRO_A2058, tag, owner, clock),
device_zorro2_card_interface(mconfig, *this),
m_config(*this, "config"),
m_ram_size(0)
{
}

//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------

void a2058_device::device_start()
{
// setup ram
Expand All @@ -74,7 +66,7 @@ void a2058_device::device_start()


//**************************************************************************
// IMPLEMENTATION
// AUTOCONFIG
//**************************************************************************

void a2058_device::autoconfig_base_address(offs_t address)
Expand Down Expand Up @@ -122,8 +114,8 @@ void a2058_device::cfgin_w(int state)
return;
}

autoconfig_product(0x0a);
autoconfig_manufacturer(0x0202);
autoconfig_product(10);
autoconfig_manufacturer(514);
autoconfig_serial(0x00000000);

autoconfig_link_into_memory(true);
Expand All @@ -134,8 +126,8 @@ void a2058_device::cfgin_w(int state)

// install autoconfig handler
m_slot->space().install_readwrite_handler(0xe80000, 0xe8007f,
read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)),
write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffff);
read16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_read)),
write16_delegate(*this, FUNC(amiga_autoconfig::autoconfig_write)), 0xffffffff);
}
}

Expand Down
Loading

0 comments on commit 2bd3187

Please sign in to comment.