cinemat.cpp: Improved armora artworkr

Better alignemnent and transmission colours in particular.
This commit is contained in:
Vas Crabb 2020-11-01 23:59:17 +11:00
parent e3c1c65d56
commit 890d8129ed
5 changed files with 62 additions and 190 deletions

View File

@ -20,6 +20,7 @@
*spare, SP1-SP5 brought out to pads for wire mods
DIP jumper B1:
no connection NC 1 16 B acknowledge latch clock
no connection NC 2 15 D printer ready 1
synchronised ACK Y 3 14 C printer ready 2
@ -34,7 +35,7 @@
microsecond may be ignored. This limitation is not emulated.
The card completely ignores the R/W line. The PROM driver uses
and indexed write to access the C0nX region. This produces a
an indexed write to access the C0nX region. This produces a
spurious read, causing data to be latched and triggering a
delayed strobe pulse. This is why the delay is important the
write needs to happen on the cycle immediately following the

View File

@ -36,11 +36,11 @@
This card has significant flaws:
* The strobe pulse begins on the same rising edge of the phase 1
clock as the data is latched. The parallel load input ito the
strobe time counter (6A) is delayed slightly, but the load
happens on the rising phase 1 clock edge. This could glitch
on a real printer. MAME always sets the data outputs before
starting the strobe pulse.
clock as the data is latched. The parallel load enable input
to the strobe time counter (6A) is delayed slightly, but the
load happens on the rising phase 1 clock edge. This could
glitch on a real printer. MAME always sets the data outputs
before starting the strobe pulse.
* Acknowledge is ignored while the strobe output is active. If
the printer acknowledges the data before the end of the strobe
pulse, the card will miss it and wait forever.

View File

@ -86,11 +86,11 @@ protected:
required_region_ptr<uint8_t> m_chargen;
// Text mode video I/F
typedef struct {
struct video_buffer_t {
uint8_t chars[ 80 ];
uint8_t attrs[ 80 ];
bool full = 0;
} video_buffer_t;
};
bitmap_rgb32 m_bitmap;
offs_t m_video_mar;
@ -103,7 +103,7 @@ protected:
video_buffer_t m_video_buff[ 2 ];
// Graphic video
typedef enum {
enum gv_fsm_state_t {
GV_STAT_RESET,
GV_STAT_WAIT_DS_0 = GV_STAT_RESET,
GV_STAT_WAIT_TRIG_0,
@ -113,7 +113,7 @@ protected:
GV_STAT_WAIT_TRIG_1,
GV_STAT_WAIT_MEM_1,
GV_STAT_WAIT_MEM_2
} gv_fsm_state_t;
};
bool m_graphic_sel;
gv_fsm_state_t m_gv_fsm_state;

View File

@ -3,191 +3,62 @@
license:CC0
-->
<mamelayout version="2">
<element name="overlay">
<rect>
<bounds left="0" top="0" right="512" bottom="35" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="35" right="256" bottom="96" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="256" top="35" right="450" bottom="96" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="450" top="35" right="512" bottom="96" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="96" right="256" bottom="128" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="256" top="96" right="322" bottom="128" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="322" top="96" right="416" bottom="128" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="416" top="96" right="450" bottom="128" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="450" top="96" right="512" bottom="128" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="128" right="224" bottom="160" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="224" top="128" right="322" bottom="160" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="322" top="128" right="416" bottom="160" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="416" top="128" right="450" bottom="160" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="450" top="128" right="512" bottom="160" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="160" right="192" bottom="192" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="192" top="160" right="322" bottom="192" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="322" top="160" right="384" bottom="192" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="384" top="160" right="512" bottom="192" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<element name="transmission">
<image><data><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 400 300" height="300" width="400">
<rect x="0" y="0" width="400" height="300" fill="#000000" stroke="none" />
<rect x="2" y="2" width="396" height="297" fill="#a0ffc0" stroke="none" />
<g fill="#f0f088" stroke="#000000" stroke-width="1" stroke-linejoin="miter">
<path d="M 2,2 V 299 H 398 V 2 Z m 296,13 v 37 h 13 v 12 h 12 v 12 h 62 v 61 h -50 v 26 h 50 v 61 h -62 v 12 h -12 v 12 h -13 v 37 h -72 v -49 h -52 v 49 H 102 V 248 H 89 V 236 H 77 V 224 H 15 V 163 H 65 V 137 H 15 V 76 H 77 V 64 H 89 V 52 h 13 V 15 h 72 v 49 h 52 V 15 Z" />
<path d="m 236,39 h 38 V 77 H 249 V 64 h -13 z" />
<path d="m 286,100 h 74 v 25 h -49 v 13 h -25 z" />
<path d="m 286,162 h 25 v 13 h 49 v 25 h -74 z" />
<path d="m 274,224 v 37 h -38 v -25 h 13 v -12 z" />
<path d="m 126,224 h 25 v 12 h 13 v 25 h -38 z" />
<path d="m 114,162 v 38 H 40 v -25 h 49 v -13 z" />
<path d="m 114,100 v 38 H 89 V 125 H 40 v -25 z" />
<path d="m 126,39 h 38 v 25 h -13 v 13 h -25 z" />
<path d="m 175,77 h 50 v 11 h 12 v 13 h 12 v 24 h -98 v -24 h 12 V 88 h 12 z" />
<path d="m 151,175 h 98 v 24 h -12 v 13 h -12 v 11 h -50 v -11 h -12 v -13 h -12 z" />
</g>
</svg>
]]></data></image>
</element>
<rect>
<bounds left="0" top="192" right="35" bottom="226" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="35" top="192" right="450" bottom="226" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="450" top="192" right="512" bottom="226" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="226" right="35" bottom="257" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="35" top="226" right="416" bottom="257" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="416" top="226" right="512" bottom="257" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="257" right="35" bottom="318" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="35" top="257" right="99" bottom="318" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="99" top="257" right="288" bottom="318" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="288" top="257" right="384" bottom="318" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="384" top="257" right="512" bottom="318" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="0" top="318" right="35" bottom="351" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="35" top="318" right="224" bottom="351" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="224" top="318" right="288" bottom="351" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="288" top="318" right="512" bottom="351" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<rect>
<bounds left="0" top="351" right="160" bottom="384" />
<color red="0.60" green="0.60" blue="0.06" />
</rect>
<rect>
<bounds left="160" top="351" right="512" bottom="384" />
<color red="0" green="0.235" blue="0.11" />
</rect>
<element name="reflection">
<image><data><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 400 300" height="300" width="400">
<rect x="0" y="0" width="400" height="300" fill="#000000" stroke="none" />
<rect x="2" y="2" width="396" height="297" fill="#17521c" stroke="none" />
<g fill="#959414" stroke="#000000" stroke-width="1" stroke-linejoin="miter">
<path d="M 2,2 V 299 H 398 V 2 Z m 296,13 v 37 h 13 v 12 h 12 v 12 h 62 v 61 h -50 v 26 h 50 v 61 h -62 v 12 h -12 v 12 h -13 v 37 h -72 v -49 h -52 v 49 H 102 V 248 H 89 V 236 H 77 V 224 H 15 V 163 H 65 V 137 H 15 V 76 H 77 V 64 H 89 V 52 h 13 V 15 h 72 v 49 h 52 V 15 Z" />
<path d="m 236,39 h 38 V 77 H 249 V 64 h -13 z" />
<path d="m 286,100 h 74 v 25 h -49 v 13 h -25 z" />
<path d="m 286,162 h 25 v 13 h 49 v 25 h -74 z" />
<path d="m 274,224 v 37 h -38 v -25 h 13 v -12 z" />
<path d="m 126,224 h 25 v 12 h 13 v 25 h -38 z" />
<path d="m 114,162 v 38 H 40 v -25 h 49 v -13 z" />
<path d="m 114,100 v 38 H 89 V 125 H 40 v -25 z" />
<path d="m 126,39 h 38 v 25 h -13 v 13 h -25 z" />
<path d="m 175,77 h 50 v 11 h 12 v 13 h 12 v 24 h -98 v -24 h 12 V 88 h 12 z" />
<path d="m 151,175 h 98 v 24 h -12 v 13 h -12 v 11 h -50 v -11 h -12 v -13 h -12 z" />
</g>
</svg>
]]></data></image>
</element>
<view name="Color Overlay">
<screen index="0">
<bounds x="0" y="0" width="1024" height="768" />
<bounds xc="0" yc="0" width="4" height="3" />
</screen>
<element ref="overlay" blend="multiply">
<bounds x="0" y="0" width="512" height="384" />
<element ref="transmission" blend="multiply">
<bounds xc="0" yc="0" width="4.1" height="3.075" />
</element>
<element ref="overlay" blend="multiply">
<bounds x="512" y="384" width="512" height="384" />
<orientation rotate="180" />
</element>
<element ref="overlay" blend="multiply">
<bounds x="512" y="0" width="512" height="384" />
<orientation flipx="yes" />
</element>
<element ref="overlay" blend="multiply">
<bounds x="0" y="384" width="512" height="384" />
<orientation flipy="yes" />
</element>
<element ref="overlay" blend="add">
<bounds x="0" y="0" width="512" height="384" />
<color alpha=".8" />
</element>
<element ref="overlay" blend="add">
<bounds x="512" y="384" width="512" height="384" />
<color alpha=".8" />
<orientation rotate="180" />
</element>
<element ref="overlay" blend="add">
<bounds x="512" y="0" width="512" height="384" />
<color alpha=".8" />
<orientation flipx="yes" />
</element>
<element ref="overlay" blend="add">
<bounds x="0" y="384" width="512" height="384" />
<color alpha=".8" />
<orientation flipy="yes" />
<element ref="reflection" blend="add">
<bounds xc="0" yc="0" width="4.1" height="3.075" />
</element>
</view>
</mamelayout>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -28,12 +28,12 @@
<color state="1" red="0.200" green="0.165" blue="0.169"/>
</text>
</element>
<element name="sho">
<element name="small">
<rect>
<color red="0.541" green="0.573" blue="0.580"/>
</rect>
<!-- 小 -->
<text string="SHO">
<text string="KO">
<color state="0" red="0.514" green="0.533" blue="0.545"/>
<color state="1" red="0.200" green="0.165" blue="0.169"/>
</text>
@ -188,7 +188,7 @@
<element ref="busy" name="sym.0"> <bounds x="5" y="0.5" width="8" height="3"/> </element>
<element ref="caps" name="sym.1"> <bounds x="16" y="0.5" width="8" height="3"/> </element>
<element ref="kana" name="sym.2"> <bounds x="28" y="0.5" width="8" height="3"/> </element>
<element ref="sho" name="sym.3"> <bounds x="40" y="0.5" width="6" height="3"/> </element>
<element ref="small" name="sym.3"> <bounds x="40" y="0.5" width="6" height="3"/> </element>
<element ref="2ndf" name="sym.4"> <bounds x="63" y="0.5" width="8" height="3"/> </element>
<element ref="de" name="sym.5"> <bounds x="75" y="0.5" width="3" height="3"/> </element>
<element ref="g" name="sym.6"> <bounds x="78" y="0.5" width="1.5" height="3"/> </element>