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:
wilbertpol 2023-07-29 19:42:25 +01:00 committed by GitHub
parent c8bd7117e7
commit 1ab5b69499
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1143 additions and 4 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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",

View File

@ -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);

View 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")

View 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

View File

@ -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";

View File

@ -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;