mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
newbrain: Decoded VFD bitstream, and added simultaneous video and VFD display. [Curt Coder]
This commit is contained in:
parent
39fd0fa4c9
commit
1fd9e57af2
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
- VFD
|
- VFD does not receive data from main CPU
|
||||||
- bitmapped video
|
- bitmapped video
|
||||||
- accurate video timing
|
- accurate video timing
|
||||||
- cassette
|
- cassette
|
||||||
@ -492,9 +492,15 @@ WRITE8_MEMBER( newbrain_state::cop_d_w )
|
|||||||
m_403_q = m_403_d;
|
m_403_q = m_403_d;
|
||||||
} else {
|
} else {
|
||||||
m_403_q = 0xf;
|
m_403_q = 0xf;
|
||||||
output().set_digit_value(m_405_q & 0x0f, m_402_q);
|
|
||||||
|
|
||||||
if (LOG_COP) logerror("%s %s keydata disabled\n", machine().time().as_string(), machine().describe_context());
|
if (LOG_COP) logerror("%s %s keydata disabled\n", machine().time().as_string(), machine().describe_context());
|
||||||
|
|
||||||
|
// COP to VFD serial format, bits 15..0
|
||||||
|
// A B J I x H G2 C x F G1 E K L M D
|
||||||
|
uint16_t value = BITSWAP16(m_402_q, 11, 7, 1, 13, 10, 3, 2, 12, 9, 5, 6, 4, 0, 8, 14, 15) & 0x3fff;
|
||||||
|
output().set_digit_value(m_405_q & 0x0f, value);
|
||||||
|
|
||||||
|
if (LOG_VFD) logerror("%s %s vfd segment %u 402.Q %04x data %04x\n", machine().time().as_string(), machine().describe_context(), m_405_q & 0x0f, m_402_q, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_cop_k6 = k6;
|
m_cop_k6 = k6;
|
||||||
@ -524,10 +530,8 @@ WRITE_LINE_MEMBER( newbrain_state::k2_w )
|
|||||||
|
|
||||||
if (state)
|
if (state)
|
||||||
{
|
{
|
||||||
m_402_q >>= 1;
|
m_402_q <<= 1;
|
||||||
m_402_q = (m_cop_so << 15) | (m_402_q & 0x7fff);
|
m_402_q = (m_402_q & 0xfffe) | m_cop_so;
|
||||||
|
|
||||||
if (LOG_VFD) logerror("%s %s SEGMENT %04x\n", machine().time().as_string(), machine().describe_context(), m_402_q);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,65 +1,62 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<mamelayout version="2">
|
<mamelayout version="2">
|
||||||
<element name="digit" defstate="0">
|
<element name="digit" defstate="0">
|
||||||
<led16seg>
|
<led14seg>
|
||||||
<color red="0.0" green="1.0" blue="1.0" />
|
<color red="0.0" green="1.0" blue="1.0" />
|
||||||
</led16seg>
|
</led14seg>
|
||||||
</element>
|
</element>
|
||||||
|
|
||||||
<view name="Standard">
|
<view name="Standard">
|
||||||
<screen index="0">
|
<screen index="0">
|
||||||
<bounds left="0" top="0" right="4" bottom="3" />
|
<bounds left="0" top="0" right="640" bottom="480" />
|
||||||
</screen>
|
</screen>
|
||||||
</view>
|
|
||||||
|
|
||||||
<view name="VF Display">
|
|
||||||
<bezel name="digit0" element="digit">
|
<bezel name="digit0" element="digit">
|
||||||
<bounds x="0" y="0" width="20" height="30" />
|
<bounds x="300" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit1" element="digit">
|
<bezel name="digit1" element="digit">
|
||||||
<bounds x="20" y="0" width="20" height="30" />
|
<bounds x="320" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit2" element="digit">
|
<bezel name="digit2" element="digit">
|
||||||
<bounds x="40" y="0" width="20" height="30" />
|
<bounds x="340" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit3" element="digit">
|
<bezel name="digit3" element="digit">
|
||||||
<bounds x="60" y="0" width="20" height="30" />
|
<bounds x="360" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit4" element="digit">
|
<bezel name="digit4" element="digit">
|
||||||
<bounds x="80" y="0" width="20" height="30" />
|
<bounds x="380" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit5" element="digit">
|
<bezel name="digit5" element="digit">
|
||||||
<bounds x="100" y="0" width="20" height="30" />
|
<bounds x="400" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit6" element="digit">
|
<bezel name="digit6" element="digit">
|
||||||
<bounds x="120" y="0" width="20" height="30" />
|
<bounds x="420" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit7" element="digit">
|
<bezel name="digit7" element="digit">
|
||||||
<bounds x="140" y="0" width="20" height="30" />
|
<bounds x="440" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit8" element="digit">
|
<bezel name="digit8" element="digit">
|
||||||
<bounds x="160" y="0" width="20" height="30" />
|
<bounds x="460" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit9" element="digit">
|
<bezel name="digit9" element="digit">
|
||||||
<bounds x="180" y="0" width="20" height="30" />
|
<bounds x="480" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit10" element="digit">
|
<bezel name="digit10" element="digit">
|
||||||
<bounds x="200" y="0" width="20" height="30" />
|
<bounds x="500" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit11" element="digit">
|
<bezel name="digit11" element="digit">
|
||||||
<bounds x="220" y="0" width="20" height="30" />
|
<bounds x="520" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit12" element="digit">
|
<bezel name="digit12" element="digit">
|
||||||
<bounds x="240" y="0" width="20" height="30" />
|
<bounds x="540" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit13" element="digit">
|
<bezel name="digit13" element="digit">
|
||||||
<bounds x="260" y="0" width="20" height="30" />
|
<bounds x="560" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit14" element="digit">
|
<bezel name="digit14" element="digit">
|
||||||
<bounds x="280" y="0" width="20" height="30" />
|
<bounds x="580" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
<bezel name="digit15" element="digit">
|
<bezel name="digit15" element="digit">
|
||||||
<bounds x="300" y="0" width="20" height="30" />
|
<bounds x="300" y="480" width="20" height="30" />
|
||||||
</bezel>
|
</bezel>
|
||||||
</view>
|
</view>
|
||||||
</mamelayout>
|
</mamelayout>
|
||||||
|
Loading…
Reference in New Issue
Block a user