mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
mbee: fixed bug with telcom bankswitching.
This commit is contained in:
parent
be9ceecb4e
commit
7b55b281dc
@ -352,7 +352,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom30.mbn" size="0x2000" crc="9aee48e2" sha1="e0598e732b44a08e3f7e77ec63a879ac1434b5ec" />
|
||||
@ -365,7 +365,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom31.mbn" size="0x2000" crc="5a904a29" sha1="3120fb65ccefeb180ab80d8d35440c70dc8452c8" />
|
||||
@ -378,7 +378,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom32.mbn" size="0x2000" crc="e9f0b82b" sha1="e1f2004a401878468f7f359fd30b0b948ae0eb48" />
|
||||
@ -391,7 +391,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom321.mbn" size="0x2000" crc="b07eefaa" sha1="5dab90b2c232673282d215845c9947cc5bdd50c8" />
|
||||
@ -404,7 +404,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom321a.mbn" size="0x2000" crc="36852a11" sha1="c45b8d03629e86231c6b256a7435abd87d8872a4" />
|
||||
@ -417,7 +417,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom321p.mbn" size="0x2000" crc="3d2e8190" sha1="b4d330e149c4ddaa4a399f90b3ce8a854ddcd271" />
|
||||
@ -430,7 +430,7 @@ Most roms can be mounted in any slot, although sometimes one is recommended in t
|
||||
<year>198?</year>
|
||||
<publisher>Microworld</publisher>
|
||||
<info name="usage" value="NET"/>
|
||||
<sharedfeat name="compatibility" value="3" />
|
||||
<sharedfeat name="compatibility" value="2,3" />
|
||||
<part name="cart" interface="mbee_net">
|
||||
<dataarea name="rom" size="0x2000">
|
||||
<rom name="telcom321s.mbn" size="0x2000" crc="00f8fde1" sha1="eb881bbab90c85fd6e29540decd25e884c67f738" />
|
||||
|
@ -65,7 +65,10 @@ public:
|
||||
, m_bankr(*this, "bankr%d", 0U)
|
||||
, m_bankw(*this, "bankw%d", 0U)
|
||||
, m_pak(*this, "optrom%u", 0U) // "rom" causes issues
|
||||
{ }
|
||||
{
|
||||
for (u8 n : m_pak_extended)
|
||||
m_pak_extended[n] = 0;
|
||||
}
|
||||
|
||||
void mbee56(machine_config &config);
|
||||
void mbeeppc(machine_config &config);
|
||||
|
@ -370,7 +370,7 @@ void mbee_state::port50_w(u8 data)
|
||||
Output the PAK number to choose an optional PAK ROM.
|
||||
|
||||
The bios will support 256 PAKs, although normally only
|
||||
8 are available in hardware. Each PAK is normally a 8K
|
||||
6 are available in hardware. Each PAK is normally a 8K
|
||||
ROM. If 16K ROMs are used, the 2nd half becomes PAK+8,
|
||||
thus 16 PAKs in total. This is used in the PC85 models.
|
||||
|
||||
@ -386,7 +386,7 @@ void mbee_state::port0a_w(u8 data)
|
||||
u8 mbee_state::telcom_r(offs_t offset)
|
||||
{
|
||||
m_09 = BIT(offset, 8);
|
||||
return 0xff;
|
||||
return m_09;
|
||||
}
|
||||
|
||||
u8 mbee_state::pak_r(offs_t offset)
|
||||
@ -540,13 +540,14 @@ void mbee_state::machine_start()
|
||||
// set pak index to true for 16k roms
|
||||
if (m_pakdef)
|
||||
for (u8 i = 8; i < 14; i++)
|
||||
m_pak_extended[(i & 7)+2] = (m_p_pakdef[(i<<13)] == 0xff) ? false : true;
|
||||
else
|
||||
for (u8 i = 2; i < 8; i++)
|
||||
m_pak_extended[i] = false;
|
||||
if (!(m_pak[i-8] && m_pak[i-8]->exists()))
|
||||
if (m_p_pakdef[(i<<13)] != 0xff)
|
||||
m_pak_extended[(i & 7)+2] = true;
|
||||
|
||||
// set net index to true for 8k roms
|
||||
m_pak_extended[1] = (m_netdef && (m_netdef->bytes() > 0x1000)) ? true : false;
|
||||
if (m_netdef && (m_netdef->bytes() > 0x1000))
|
||||
if (!(m_pak[1] && m_pak[1]->exists()))
|
||||
m_pak_extended[1] = true;
|
||||
}
|
||||
|
||||
void mbee_state::machine_reset()
|
||||
@ -760,7 +761,6 @@ image_init_result mbee_state::load_cart(device_image_interface &image, generic_s
|
||||
image.seterror(IMAGE_ERROR_UNSPECIFIED, "Unsupported ROM size");
|
||||
return image_init_result::FAIL;
|
||||
}
|
||||
|
||||
m_pak_extended[pak_index] = (size > 0x1000) ? true : false;
|
||||
|
||||
slot->rom_alloc(m_pak_extended ? 0x2000 : 0x1000, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
|
||||
|
@ -344,10 +344,9 @@ void mbee_state::standard_palette(palette_device &palette) const
|
||||
{
|
||||
constexpr u8 bglevel[] = { 0, 0x54, 0xa0, 0xff };
|
||||
constexpr u8 fglevel[] = { 0, 0xa0, 0xff, 0xff };
|
||||
u8 i;
|
||||
|
||||
// set up background colours (00-63)
|
||||
i = 0;
|
||||
u8 i = 0;
|
||||
for (u8 b : bglevel)
|
||||
{
|
||||
for (u8 g : bglevel)
|
||||
|
Loading…
Reference in New Issue
Block a user