msx1_cart.xml: Added 81 items, 80 working. (#11448)
New working software list items (msx1_cart.xml) ------------------------------- C_So! (Japan, alt) [file-hunter] Campeón de Conductores (Spain) [file-hunter] Cannon Fighter (Japan, The Link) [file-hunter] Cannon Turbo (Japan, alt) [file-hunter] Circus Charlie (Japan, The Link) [file-hunter] Custar (Japan) [file-hunter] Midway (Japan, alt) [file-hunter] Video Hustler (Japan, alt 3) [file-hunter] C.C.R. Anexo 1 El Algoritmo (v1.2) [MSXDev] C.C.R. Anexo 1 El Algoritmo (v1.1) [file-hunter] C.C.R. Anexo 1 El Algoritmo (v1.0) [file-hunter] Cacorm [inufuto] Caos Begins [MSXDev] Caos Begins (alt) [file-hunter] Caos Begins (alt 2) [file-hunter] Cardwork Orange (unlicensed) [file-hunter] Casio GPM-Collection Volumen 1 (unlicensed) [file-hunter] Casio GPM-Collection Volumen 2 (unlicensed) [file-hunter] Castle Tomb [MSXDev] Caverns of Titan [MSXDev] Caverns of Titan (alt) [MSXDev] Cavit [inufuto] Chambers of Thyrea [MSXDev] Champion Billiards [mastropiero] Cheating Wives [MSXDev] Chocobo Racing [MSXDev] Classic Minesweeper [file-hunter] Classic Pong [file-hunter] CMJN [MSXDev] Cocoa and the Time Machine [file-hunter] Cold Blood [file-hunter] Cold Blood (demo) [file-hunter] Computer Wars (English) [MSXDev] Computer Wars (Spanish) [MSXDev] Corona's Spree [file-hunter] Corridor Runner (v1.1.2) [aburi6800] Corridor Runner (v1.1.1) [aburi6800] Corridor Runner (v1.1.0) [aburi6800] Corridor Runner (v1.0.1) [aburi6800] Corridor Runner (v1.0.0) [aburi6800] Corridor Runner (v0.3.1) [aburi6800] Corridor Runner (v0.3.0) [aburi6800] Corridor Runner (v0.2.2) [aburi6800] Corridor Runner (v0.2.0) [aburi6800] Corridor Runner (v0.1.0) [aburi6800] Cosmic Battle (beta) [MSXDev] Cow Abductors [MSXDev] Cow Abductors (older) [file-hunter] Crappy Olympics [Orazio Cacciola] Crazy Buggy [MSXDev] Crazy MSX Frenchies [MSXDev] Cross Bomber (2022-07-20) [Fabrizio Caruso] Cross Bomber (alt) [file-hunter] Cross Bomber (2020-09-25) [Fabrizio Caruso] Cross Chase (2021-05-13) [Fabrizio Caruso] Cross Chase (alt) [file-hunter] Cross Chase (2020-04-02) [Fabrizio Caruso] Cross Chase (2018-11-13) [Fabrizio Caruso] Cross Chase (2018-08-10) [Fabrizio Caruso] Cross Chase (2018-07-19) [Fabrizio Caruso] Cross Chase (2018-05-19) [Fabrizio Caruso] Cross Chase (2018-04-15) [Fabrizio Caruso] Cross Chase (2018-02-03) [Fabrizio Caruso] Cross Chase (2017-12-16) [Fabrizio Caruso] Cross Chase (2017-10-30) [Fabrizio Caruso] Cross Chase (2017-10-11) [Fabrizio Caruso] Cross Horde (2021-05-12) [Fabrizio Caruso] Cross Horde (2021-05-01) [Fabrizio Caruso] Cross Horde (2021-04-25) [Fabrizio Caruso] Cross Shoot (2022-02-26) [Fabrizio Caruso] Cross Shoot (alt) [file-hunter] Cross Shoot (2021-05-12) [Fabrizio Caruso] Cross Snake (v2.0) [Fabrizio Caruso] Cross Snake (v2.0, alt) [file-hunter] Cross Snake (v1.0) [Fabrizio Caruso] Cross Snake (preview) [Fabrizio Caruso] Cryptogram - Anagrams Crosswords (v1.1) [MSXDev] Cryptogram - Anagrams Crosswords (v1.0) [MSXDev] Cuncuna [MSXDev] Cuncuna (older) [file-hunter] New NOT_WORKING software list additions (msx1_cart.xml) ------------------------------------------ Codename: INTRUDER [file-hunter]
This commit is contained in:
parent
c8bd7117e7
commit
1ab5b69499
1025
hash/msx1_cart.xml
1025
hash/msx1_cart.xml
File diff suppressed because it is too large
Load Diff
@ -1953,6 +1953,8 @@ if (BUSES["MSX_SLOT"]~=null) then
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/loveplus.h",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/majutsushi.cpp",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/majutsushi.h",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/matra.cpp",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/matra.h",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/moonsound.h",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/moonsound.cpp",
|
||||
MAME_DIR .. "src/devices/bus/msx/cart/msx_audio.cpp",
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "korean.h"
|
||||
#include "loveplus.h"
|
||||
#include "majutsushi.h"
|
||||
#include "matra.h"
|
||||
#include "moonsound.h"
|
||||
#include "msx_audio.h"
|
||||
#include "msxdos2.h"
|
||||
@ -75,6 +76,7 @@ void msx_cart(device_slot_interface &device, bool is_in_subslot)
|
||||
device.option_add_internal(slotoptions::KOREAN_HYDLIDE2, MSX_CART_KOREAN_HYDLIDE2);
|
||||
device.option_add_internal(slotoptions::LOVEPLUS, MSX_CART_LOVEPLUS);
|
||||
device.option_add_internal(slotoptions::MAJUSTUSHI, MSX_CART_MAJUTSUSHI);
|
||||
device.option_add_internal(slotoptions::MATRA_COMP, MSX_CART_MATRA_COMP);
|
||||
device.option_add_internal(slotoptions::MSXAUD_FSCA1, MSX_CART_MSX_AUDIO_FSCA1);
|
||||
device.option_add_internal(slotoptions::MSXAUD_HXMU900, MSX_CART_MSX_AUDIO_HXMU900);
|
||||
device.option_add_internal(slotoptions::MSXAUD_NMS1205, MSX_CART_MSX_AUDIO_NMS1205);
|
||||
|
102
src/devices/bus/msx/cart/matra.cpp
Normal file
102
src/devices/bus/msx/cart/matra.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol
|
||||
#include "emu.h"
|
||||
#include "matra.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class msx_cart_matra_comp_device : public device_t, public msx_cart_interface
|
||||
{
|
||||
public:
|
||||
msx_cart_matra_comp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual std::error_condition initialize_cartridge(std::string &message) override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
private:
|
||||
template <int Bank> void bank_w(u8 data);
|
||||
void disable_banking_w(u8 data);
|
||||
|
||||
memory_bank_array_creator<4> m_rombank;
|
||||
|
||||
u8 m_bank_mask;
|
||||
bool m_banking_enabled;
|
||||
};
|
||||
|
||||
|
||||
msx_cart_matra_comp_device::msx_cart_matra_comp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, MSX_CART_MATRA_COMP, tag, owner, clock)
|
||||
, msx_cart_interface(mconfig, *this)
|
||||
, m_rombank(*this, "rombank%u", 0U)
|
||||
, m_bank_mask(0)
|
||||
, m_banking_enabled(true)
|
||||
{
|
||||
}
|
||||
|
||||
void msx_cart_matra_comp_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_banking_enabled));
|
||||
}
|
||||
|
||||
void msx_cart_matra_comp_device::device_reset()
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
m_rombank[i]->set_entry(i);
|
||||
m_banking_enabled = true;
|
||||
}
|
||||
|
||||
std::error_condition msx_cart_matra_comp_device::initialize_cartridge(std::string &message)
|
||||
{
|
||||
if (!cart_rom_region())
|
||||
{
|
||||
message = "msx_cart_matra_comp_device: Required region 'rom' was not found.";
|
||||
return image_error::INTERNAL;
|
||||
}
|
||||
|
||||
const u32 size = cart_rom_region()->bytes();
|
||||
const u16 banks = size / 0x2000;
|
||||
|
||||
if (size > 256 * 0x2000 || size < 0x8000 || size != banks * 0x2000 || (~(banks - 1) % banks))
|
||||
{
|
||||
message = "msx_cart_matra_comp_device: Region 'rom' has unsupported size.";
|
||||
return image_error::INVALIDLENGTH;
|
||||
}
|
||||
|
||||
m_bank_mask = banks - 1;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
m_rombank[i]->configure_entries(0, banks, cart_rom_region()->base(), 0x2000);
|
||||
|
||||
page(1)->install_read_bank(0x4000, 0x5fff, m_rombank[0]);
|
||||
page(1)->install_write_handler(0x5000, 0x5000, emu::rw_delegate(*this, FUNC(msx_cart_matra_comp_device::bank_w<0>)));
|
||||
page(1)->install_read_bank(0x6000, 0x7fff, m_rombank[1]);
|
||||
page(1)->install_write_handler(0x6000, 0x6000, emu::rw_delegate(*this, FUNC(msx_cart_matra_comp_device::bank_w<1>)));
|
||||
page(2)->install_read_bank(0x8000, 0x9fff, m_rombank[2]);
|
||||
page(2)->install_write_handler(0x8000, 0x8000, emu::rw_delegate(*this, FUNC(msx_cart_matra_comp_device::bank_w<2>)));
|
||||
page(2)->install_read_bank(0xa000, 0xbfff, m_rombank[3]);
|
||||
page(2)->install_write_handler(0xa000, 0xa000, emu::rw_delegate(*this, FUNC(msx_cart_matra_comp_device::bank_w<3>)));
|
||||
page(2)->install_write_handler(0xba00, 0xba00, emu::rw_delegate(*this, FUNC(msx_cart_matra_comp_device::disable_banking_w)));
|
||||
|
||||
return std::error_condition();
|
||||
}
|
||||
|
||||
template <int Bank>
|
||||
void msx_cart_matra_comp_device::bank_w(u8 data)
|
||||
{
|
||||
if (m_banking_enabled)
|
||||
m_rombank[Bank]->set_entry(data & m_bank_mask);
|
||||
}
|
||||
|
||||
void msx_cart_matra_comp_device::disable_banking_w(u8 data)
|
||||
{
|
||||
// Assuming that any write here disables banking
|
||||
m_banking_enabled = false;
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(MSX_CART_MATRA_COMP, msx_cart_interface, msx_cart_matra_comp_device, "msx_cart_matra_comp", "MSX Cartridge - Matra Compilation")
|
14
src/devices/bus/msx/cart/matra.h
Normal file
14
src/devices/bus/msx/cart/matra.h
Normal file
@ -0,0 +1,14 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol
|
||||
#ifndef MAME_BUS_MSX_CART_MATRA_H
|
||||
#define MAME_BUS_MSX_CART_MATRA_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "bus/msx/slot/cartridge.h"
|
||||
|
||||
|
||||
DECLARE_DEVICE_TYPE(MSX_CART_MATRA_COMP, msx_cart_interface)
|
||||
|
||||
|
||||
#endif // MAME_BUS_MSX_CART_MATRA_H
|
@ -52,6 +52,7 @@ char const *const KOREAN_126IN1 = "korean_126in1";
|
||||
char const *const KOREAN_HYDLIDE2 = "korean_hydlide2";
|
||||
char const *const LOVEPLUS = "loveplus";
|
||||
char const *const MAJUSTUSHI = "majutsushi";
|
||||
char const *const MATRA_COMP = "matra_comp";
|
||||
char const *const MM256K = "mm256k";
|
||||
char const *const MM512K = "mm512k";
|
||||
char const *const MM768K = "mm768k";
|
||||
|
@ -54,6 +54,7 @@ extern char const *const KOREAN_126IN1;
|
||||
extern char const *const KOREAN_HYDLIDE2;
|
||||
extern char const *const LOVEPLUS;
|
||||
extern char const *const MAJUSTUSHI;
|
||||
extern char const *const MATRA_COMP;
|
||||
extern char const *const MM256K;
|
||||
extern char const *const MM512K;
|
||||
extern char const *const MM768K;
|
||||
|
Loading…
Reference in New Issue
Block a user