Merge branch 'master' of github.com:mamedev/mame

This commit is contained in:
MetalliC 2021-12-10 17:57:20 +02:00
commit b5981ff775
4 changed files with 20 additions and 21 deletions

View File

@ -17,9 +17,11 @@ TODO:
around 1.1 times faster, maybe К1801ВМ1 internal timing differs from T11,
and/or T11 core timing itself is not 100% accurate.
- verify actual XTAL, the label couldn't be seen
- Is ИМ-01Т extra RAM chip used at all, and if so, where is it mapped?
- Is im01t extra RAM chip used at all, and if so, where is it mapped?
Even when trying to solve mate problems (level 7, and overclocked CPU),
there are no unmapped writes.
- What is 0x6000-0x7fff for? im01 will test for both RAM and ROM in this
area if no bus error was triggered, and will fail to boot up.
*******************************************************************************
@ -193,7 +195,7 @@ u16 im01_state::input_r(offs_t offset, u16 mem_mask)
void im01_state::error_w(offs_t offset, u16 data, u16 mem_mask)
{
// unmapped port, expects a bus error
// unmapped port, it expects a bus error
m_maincpu->pulse_input_line(t11_device::BUS_ERROR, attotime::zero);
}

View File

@ -10,6 +10,9 @@ Hardware notes:
- 2*HLCD0569(also seen with 2*HLCD0601, functionally same?)
- custom LCD screen with chess squares background
It was also released in the USSR as Электроника ИМ-29 Шахматный партнёр,
assumed to be an unlicensed clone.
******************************************************************************/
#include "emu.h"
@ -49,9 +52,6 @@ private:
required_ioport_array<4> m_inputs;
output_finder<2, 8, 22> m_out_x;
u8 m_inp_mux;
u8 m_lcd_control;
void update_reset(ioport_value state);
// I/O handlers
@ -60,6 +60,9 @@ private:
u8 input_r();
void lcd_w(u8 data);
u8 lcd_r();
u8 m_inp_mux = 0;
u8 m_lcd_control = 0;
};
void mchess_state::machine_start()
@ -67,10 +70,6 @@ void mchess_state::machine_start()
// resolve handlers
m_out_x.resolve();
// zerofill
m_inp_mux = 0;
m_lcd_control = 0;
// register for savestates
save_item(NAME(m_inp_mux));
save_item(NAME(m_lcd_control));
@ -150,7 +149,7 @@ u8 mchess_state::lcd_r()
// d7: 2nd LCDC DATA OUT
u8 r0 = m_lcd[0]->data_r();
u8 r1 = m_lcd[1]->data_r();
return (0x84^0xff) | r0 << 2 | r1 << 7;
return ~0x84 | r0 << 2 | r1 << 7;
}
@ -193,14 +192,14 @@ INPUT_PORTS_END
void mchess_state::mchess(machine_config &config)
{
/* basic machine hardware */
// basic machine hardware
I8050(config, m_maincpu, 6_MHz_XTAL);
m_maincpu->p1_out_cb().set(FUNC(mchess_state::input_w));
m_maincpu->p1_in_cb().set(FUNC(mchess_state::input_r));
m_maincpu->p2_out_cb().set(FUNC(mchess_state::lcd_w));
m_maincpu->p2_in_cb().set(FUNC(mchess_state::lcd_r));
/* video hardware */
// video hardware
HLCD0569(config, m_lcd[0], 500); // C=0.01uF
m_lcd[0]->write_cols().set(FUNC(mchess_state::lcd_output_w<0>));
HLCD0569(config, m_lcd[1], 500); // C=0.01uF

View File

@ -512,13 +512,12 @@ license:CC0
<!-- buttons -->
<element name="white"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="red"><rect><color red="0.45" green="0.17" blue="0.22" /></rect></element>
<element name="rmask"><rect><color red="0.82" green="0.82" blue="0.83" /></rect></element>
<element name="red"><rect><color red="0.37" green="0.14" blue="0.18" /></rect></element>
<element name="rmask"><rect><color red="0.45" green="0.68" blue="0.65" /></rect></element>
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="whited"><disk><color red="1" green="1" blue="1" /></disk></element>
<element name="redd"><disk><color red="0.45" green="0.17" blue="0.22" /></disk></element>
<element name="rmaskd"><disk><color red="0.82" green="0.82" blue="0.83" /></disk></element>
<element name="redd"><disk><color red="0.37" green="0.14" blue="0.18" /></disk></element>
<element name="butb" defstate="0">
<rect state="0"><color red="0.07" green="0.07" blue="0.07" /></rect>
@ -590,11 +589,12 @@ license:CC0
<element ref="text_r8"><bounds x="95.5" y="90.85" width="9.4" height="1.6" /></element>
<element ref="text_r9"><bounds x="95.5" y="94.85" width="9.4" height="1.6" /></element>
<element ref="red" blend="add"><bounds x="95" y="2.5" width="22.5" height="95" /></element>
<element ref="white"><bounds x="98.5" y="64.35" width="2.1" height="2.1" /></element>
<element ref="red"><bounds x="98.8" y="64.65" width="1.5" height="1.5" /></element>
<element ref="black"><bounds x="98.8" y="64.65" width="1.5" height="1.5" /></element>
<element ref="white"><bounds x="98.5" y="68.85" width="2.1" height="2.1" /></element>
<element ref="rmask" blend="multiply"><bounds x="95" y="2.5" width="22.5" height="95" /></element>
<element ref="red" blend="add"><bounds x="95" y="2.5" width="22.5" height="95" /></element>
<group ref="lcd1"><bounds x="100.5" y="11.8" width="11.5" height="5.4" /></group>
<group ref="lcd2"><bounds x="100.5" y="21.8" width="11.5" height="5.4" /></group>
@ -649,8 +649,6 @@ license:CC0
<!-- panel notches -->
<element ref="redd"><bounds x="95.5" y="77.5" width="5" height="5" /></element>
<element ref="redd"><bounds x="95.5" y="17.5" width="5" height="5" /></element>
<element ref="rmaskd" blend="multiply"><bounds x="95.5" y="77.5" width="5" height="5" /></element>
<element ref="rmaskd" blend="multiply"><bounds x="95.5" y="17.5" width="5" height="5" /></element>
<element ref="whited"><bounds x="95.5" y="17.5" width="5" height="5" /><color alpha="0.08" /></element>
<element ref="black"><bounds x="97.5" y="2.5" width="22.5" height="95" /></element>

View File

@ -41,7 +41,7 @@ license:CC0
</element>
<element name="text_b2">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="spk"><color red="0.04" green="0.04" blue="0.04" /></text>
<text string="&#x266a;"><color red="0.04" green="0.04" blue="0.04" /></text> <!-- music note -->
</element>
<element name="text_b3">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>