New working software items (a2600.xml)
-------------------------------------- Tarzan (prototype) [Hidden Palace, AJR]
This commit is contained in:
parent
4ca7063111
commit
dd4991f318
@ -17034,6 +17034,18 @@ MOS Atari-made game NTSC ROMs had a CO16xxx number and PAL ROMs had CO17xxx numb
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="tarzan">
|
||||
<description>Tarzan (prototype)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Coleco</publisher>
|
||||
<part name="cart" interface="a2600_cart">
|
||||
<feature name="slot" value="a26_f0" />
|
||||
<dataarea name="rom" size="16384">
|
||||
<rom name="atari_tarzan_42a3.bin" size="16384" crc="15e22f06" sha1="a6d9a3375f9ca62123353760d0c78d05717de7d2"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="taskfrce">
|
||||
<description>Task Force</description>
|
||||
<year>1987</year>
|
||||
|
||||
@ -41,6 +41,7 @@ DEFINE_DEVICE_TYPE(A26_ROM_4IN1, a26_rom_4in1_device, "vcs_4in1", "Atari VCS
|
||||
DEFINE_DEVICE_TYPE(A26_ROM_8IN1, a26_rom_8in1_device, "vcs_8in1", "Atari VCS 2600 ROM Cart 8 in 1")
|
||||
DEFINE_DEVICE_TYPE(A26_ROM_32IN1, a26_rom_32in1_device, "vcs_32in1", "Atari VCS 2600 ROM Cart 32 in 1")
|
||||
DEFINE_DEVICE_TYPE(A26_ROM_X07, a26_rom_x07_device, "vcs_x07", "Atari VCS 2600 ROM Carts w/X07 bankswitch")
|
||||
DEFINE_DEVICE_TYPE(A26_ROM_F0, a26_rom_f0_device, "vcs_f0", "Atari VCS 2600 ROM Carts w/F0 bankswitch")
|
||||
|
||||
|
||||
|
||||
@ -883,3 +884,31 @@ void a26_rom_x07_device::change_bank2(offs_t address)
|
||||
{
|
||||
m_bank->set_entry((address >> 4) & 0x0f);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
"F0 Bankswitch" Carts:
|
||||
read/write access to 0x1ff0-0x1ff1 & 0x1ff8-0x1ff9
|
||||
determines the 4K ROM bank to be read
|
||||
|
||||
GAMES: Atari Tarzan (prototype)
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
a26_rom_f0_device::a26_rom_f0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: a26_rom_f6_device(mconfig, A26_ROM_F0, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
void a26_rom_f0_device::install_memory_handlers(address_space *space)
|
||||
{
|
||||
m_bank->configure_entries(0, 4, get_rom_base(), 0x1000);
|
||||
space->install_read_bank(0x1000, 0x1fff, m_bank);
|
||||
space->install_write_handler(0x1ff0, 0x1ff1, write8sm_delegate(*this, FUNC(a26_rom_f0_device::switch_bank)));
|
||||
space->install_write_handler(0x1ff8, 0x1ff9, write8sm_delegate(*this, [this] (offs_t offset, u8) { switch_bank(offset + 2, 0); }, "bank"));
|
||||
install_super_chip_handlers(space);
|
||||
space->install_read_tap(0x1ff0, 0x1ff1, "bank",
|
||||
[this] (offs_t address, u8 &, u8) { if (!machine().side_effects_disabled()) switch_bank(address - 0x1ff0, 0); });
|
||||
space->install_read_tap(0x1ff8, 0x1ff9, "bank",
|
||||
[this] (offs_t address, u8 &, u8) { if (!machine().side_effects_disabled()) switch_bank(address - 0x1ff8 + 2, 0); });
|
||||
}
|
||||
|
||||
@ -360,6 +360,17 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> a26_rom_f0_device
|
||||
|
||||
class a26_rom_f0_device : public a26_rom_f6_device
|
||||
{
|
||||
public:
|
||||
a26_rom_f0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual void install_memory_handlers(address_space *space) override;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A26_ROM_2K_4K, a26_rom_2k_4k_device)
|
||||
@ -382,6 +393,7 @@ DECLARE_DEVICE_TYPE(A26_ROM_4IN1, a26_rom_4in1_device)
|
||||
DECLARE_DEVICE_TYPE(A26_ROM_8IN1, a26_rom_8in1_device)
|
||||
DECLARE_DEVICE_TYPE(A26_ROM_32IN1, a26_rom_32in1_device)
|
||||
DECLARE_DEVICE_TYPE(A26_ROM_X07, a26_rom_x07_device)
|
||||
DECLARE_DEVICE_TYPE(A26_ROM_F0, a26_rom_f0_device)
|
||||
|
||||
|
||||
#endif // MAME_BUS_VCS_ROM_H
|
||||
|
||||
@ -50,6 +50,7 @@ enum
|
||||
A26_CM,
|
||||
A26_X07,
|
||||
A26_HARMONY,
|
||||
A26_F0,
|
||||
};
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -175,6 +176,7 @@ static const vcs_slot slot_list[] =
|
||||
{ A26_32IN1, "a26_32in1" },
|
||||
{ A26_X07, "a26_x07" },
|
||||
{ A26_HARMONY, "a26_harmony" },
|
||||
{ A26_F0, "a26_f0" },
|
||||
};
|
||||
|
||||
static int vcs_get_pcb_id(const char *slot)
|
||||
|
||||
@ -587,6 +587,7 @@ static void a2600_cart(device_slot_interface &device)
|
||||
device.option_add("a26_32in1", A26_ROM_32IN1);
|
||||
device.option_add("a26_x07", A26_ROM_X07);
|
||||
device.option_add("a26_harmony", A26_ROM_HARMONY);
|
||||
device.option_add("a26_f0", A26_ROM_F0);
|
||||
}
|
||||
|
||||
void a2600_cons_state::a2600_cartslot(machine_config &config)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user