mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
(MESS)Game promoted to working
------------------ Code Name: Sector [hap, seanriddle]
This commit is contained in:
parent
89d0dd3e2b
commit
11b9e381d3
@ -4,6 +4,10 @@
|
||||
|
||||
Parker Brothers Code Name: Sector
|
||||
* MP0905BNL ZA0379 (die labeled 0970F-05B)
|
||||
|
||||
This is a tabletop submarine pursuit game. A grid board and small toy
|
||||
boats are used to remember your locations (a Paint app should be ok too).
|
||||
Refer to the official manual for more information, it is not a simple game.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
@ -149,34 +153,34 @@ WRITE16_MEMBER(cnsector_state::write_o)
|
||||
|
||||
static INPUT_PORTS_START( cnsector )
|
||||
PORT_START("IN.0") // O0
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) // ? next
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_W) // ? left
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) // nc?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) // ? range
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_NAME("Next Ship")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_NAME("Left")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_NAME("Range")
|
||||
|
||||
PORT_START("IN.1") // O1
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) // ? aim
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) // ? right
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) // nc?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) // ?nc
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_NAME("Aim")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_NAME("Right")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.2") // O2
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) // ? fire
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) // ? evasive
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) // nc?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) // ? recall
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_NAME("Fire")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_NAME("Evasive Sub") // expert button
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_NAME("Recall")
|
||||
|
||||
PORT_START("IN.3") // O3
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) // ? finder
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) // ? slow
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) // nc?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) // ?nc
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_NAME("Sub Finder") // expert button
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_NAME("Slower")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN.4") // O4
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) // ? teach
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) // ? fast
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) // nc?
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) // ? move
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_NAME("Teach Mode")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_NAME("Faster")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_NAME("Move Ship")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -194,6 +198,9 @@ void cnsector_state::machine_start()
|
||||
memset(m_leds_decay, 0, sizeof(m_leds_decay));
|
||||
m_o = 0;
|
||||
|
||||
save_item(NAME(m_leds_state));
|
||||
save_item(NAME(m_leds_cache));
|
||||
save_item(NAME(m_leds_decay));
|
||||
save_item(NAME(m_o));
|
||||
}
|
||||
|
||||
@ -238,4 +245,4 @@ ROM_START( cnsector )
|
||||
ROM_END
|
||||
|
||||
|
||||
CONS( 1977, cnsector, 0, 0, cnsector, cnsector, driver_device, 0, "Parker Brothers", "Code Name: Sector", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
|
||||
CONS( 1977, cnsector, 0, 0, cnsector, cnsector, driver_device, 0, "Parker Brothers", "Code Name: Sector", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
|
||||
|
@ -37,10 +37,10 @@ public:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_ioport_array<3> m_button_matrix;
|
||||
|
||||
UINT16 m_o;
|
||||
|
||||
UINT16 m_leds_state;
|
||||
UINT8 m_leds_decay[0x10];
|
||||
UINT16 m_r;
|
||||
UINT16 m_o;
|
||||
|
||||
DECLARE_READ8_MEMBER(read_k);
|
||||
DECLARE_WRITE16_MEMBER(write_o);
|
||||
@ -116,9 +116,7 @@ WRITE16_MEMBER(comp4_state::write_r)
|
||||
// R2 R7
|
||||
// R1 R6
|
||||
// R0 R5
|
||||
m_r = data;
|
||||
|
||||
m_leds_state = m_r;
|
||||
m_leds_state = data;
|
||||
leds_update();
|
||||
}
|
||||
|
||||
@ -170,10 +168,10 @@ void comp4_state::machine_start()
|
||||
{
|
||||
m_leds_state = 0;
|
||||
memset(m_leds_decay, 0, sizeof(m_leds_decay));
|
||||
m_r = 0;
|
||||
m_o = 0;
|
||||
|
||||
save_item(NAME(m_r));
|
||||
save_item(NAME(m_leds_state));
|
||||
save_item(NAME(m_leds_decay));
|
||||
save_item(NAME(m_o));
|
||||
}
|
||||
|
||||
|
@ -632,6 +632,9 @@ void ticalc1x_state::machine_start()
|
||||
m_r = 0;
|
||||
m_o = 0;
|
||||
|
||||
save_item(NAME(m_leds_state));
|
||||
save_item(NAME(m_leds_cache));
|
||||
save_item(NAME(m_leds_decay));
|
||||
save_item(NAME(m_r));
|
||||
save_item(NAME(m_o));
|
||||
}
|
||||
|
@ -3,6 +3,11 @@
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
|
||||
<element name="static_white"><rect><color red="0.95" green="0.95" blue="0.95" /></rect></element>
|
||||
<element name="static_gray"><rect><color red="0.60" green="0.75" blue="0.63" /></rect></element>
|
||||
<element name="static_red"><rect><color red="0.35" green="0.02" blue="0.04" /></rect></element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.25" blue="0.20" /></led7seg>
|
||||
</element>
|
||||
@ -12,43 +17,127 @@
|
||||
<disk state="0"><color red="0.2" green="0.0" blue="0.0" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="text_ship">
|
||||
<text string="SHIP"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
<element name="text_speed">
|
||||
<text string="SPEED"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_north">
|
||||
<text string="NORTH" align="2"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
<element name="text_east">
|
||||
<text string="EAST" align="1"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_depth">
|
||||
<text string="DEPTH"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
<element name="text_range">
|
||||
<text string="RANGE"><color red="0.95" green="0.95" blue="0.95" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_n">
|
||||
<rect><color red="0.35" green="0.02" blue="0.04" /></rect>
|
||||
<text string="N"><color red="0.88" green="0.85" blue="0.85" /></text>
|
||||
</element>
|
||||
<element name="text_s">
|
||||
<rect><color red="0.35" green="0.02" blue="0.04" /></rect>
|
||||
<text string="S"><color red="0.88" green="0.85" blue="0.85" /></text>
|
||||
</element>
|
||||
<element name="text_e">
|
||||
<rect><color red="0.35" green="0.02" blue="0.04" /></rect>
|
||||
<text string="E"><color red="0.88" green="0.85" blue="0.85" /></text>
|
||||
</element>
|
||||
<element name="text_w">
|
||||
<rect><color red="0.35" green="0.02" blue="0.04" /></rect>
|
||||
<text string="W"><color red="0.88" green="0.85" blue="0.85" /></text>
|
||||
</element>
|
||||
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0" right="200" top="0" bottom="200" />
|
||||
<bounds left="0" right="92" top="0" bottom="146" />
|
||||
<bezel element="static_black">
|
||||
<bounds left="0" right="92" top="0" bottom="146" />
|
||||
</bezel>
|
||||
|
||||
<!-- digits -->
|
||||
|
||||
<bezel element="static_white"><bounds x="0" y="4" width="100" height="1" /></bezel>
|
||||
<bezel element="static_white"><bounds x="0" y="12" width="100" height="1" /></bezel>
|
||||
|
||||
<bezel element="static_white"><bounds x="20" y="4.5" width="1" height="40" /></bezel>
|
||||
<bezel element="static_white"><bounds x="41" y="4.5" width="1" height="40" /></bezel>
|
||||
|
||||
<bezel element="static_white"><bounds x="67" y="4.5" width="1" height="8" /></bezel>
|
||||
|
||||
<bezel element="static_white"><bounds x="20.5" y="36" width="80" height="1" /></bezel>
|
||||
<bezel element="static_white"><bounds x="0" y="44" width="100" height="1" /></bezel>
|
||||
|
||||
<bezel element="text_ship"><bounds x="0" y="5" width="20" height="7" /></bezel>
|
||||
<bezel element="text_speed"><bounds x="21" y="5" width="20" height="7" /></bezel>
|
||||
|
||||
<bezel element="text_north"><bounds x="47" y="5" width="19" height="7" /></bezel>
|
||||
<bezel element="text_east"><bounds x="69" y="5" width="19" height="7" /></bezel>
|
||||
|
||||
<bezel element="text_depth"><bounds x="21" y="37" width="20" height="7" /></bezel>
|
||||
<bezel element="text_range"><bounds x="57" y="37" width="20" height="7" /></bezel>
|
||||
|
||||
|
||||
<bezel name="digit5" element="digit">
|
||||
<bounds x="0" y="0" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit4" element="digit">
|
||||
<bounds x="20" y="0" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit3" element="digit">
|
||||
<bounds x="40" y="0" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit2" element="digit">
|
||||
<bounds x="50" y="0" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds x="60" y="0" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds x="70" y="0" width="10" height="15" />
|
||||
<bounds x="5" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
|
||||
<bezel name="digit4" element="digit">
|
||||
<bounds x="26" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
|
||||
<bezel name="digit3" element="digit">
|
||||
<bounds x="47" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit2" element="digit">
|
||||
<bounds x="57" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds x="67" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds x="77" y="17" width="10" height="15" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<!-- compass -->
|
||||
|
||||
<bezel element="static_gray"><bounds x="0" y="50" width="100" height="100" /></bezel>
|
||||
<bezel element="static_red"><bounds x="0" y="55" width="100" height="86" /></bezel>
|
||||
|
||||
<bezel name="lamp0" element="lamp">
|
||||
<bounds x="20" y="20" width="5" height="5" />
|
||||
<bounds x="42" y="62" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp1" element="lamp">
|
||||
<bounds x="20" y="30" width="5" height="5" />
|
||||
<bounds x="42" y="126" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp2" element="lamp">
|
||||
<bounds x="30" y="25" width="5" height="5" />
|
||||
<bounds x="74" y="94" width="8" height="8" />
|
||||
</bezel>
|
||||
<bezel name="lamp3" element="lamp">
|
||||
<bounds x="10" y="25" width="5" height="5" />
|
||||
<bounds x="10" y="94" width="8" height="8" />
|
||||
</bezel>
|
||||
|
||||
<bezel element="text_n"><bounds x="41" y="72" width="10" height="10" /></bezel>
|
||||
<bezel element="text_s"><bounds x="41" y="114" width="10" height="10" /></bezel>
|
||||
<bezel element="text_e"><bounds x="63" y="93" width="10" height="10" /></bezel>
|
||||
<bezel element="text_w"><bounds x="21" y="93" width="10" height="10" /></bezel>
|
||||
|
||||
|
||||
<!-- crop borders -->
|
||||
|
||||
<bezel element="static_black"><bounds x="92" y="0" width="10" height="160" /></bezel>
|
||||
<bezel element="static_black"><bounds x="0" y="146" width="100" height="10" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
Loading…
Reference in New Issue
Block a user