Previous 199869 Revisions Next

r33714 Saturday 6th December, 2014 at 19:17:06 UTC by hap
(MESS)Game promoted to working
------------------
Stop Thief (Electronic Crime Scanner) [hap, seanriddle]
[src/mess]mess.lst
[src/mess/drivers]cnsector.c stopthie.c
[src/mess/layout]stopthie.lay

trunk/src/mess/drivers/cnsector.c
r242225r242226
234234
235235ROM_START( cnsector )
236236   ROM_REGION( 0x0400, "maincpu", 0 )
237   ROM_LOAD( "mp0905bnl_za0379", 0x0000, 0x0400, CRC(564fe1a0) SHA1(825840a73175eee12e9712c871799f00e3be2c53) )
237   ROM_LOAD( "mp0905bnl_za0379", 0x0000, 0x0400, CRC(201036e9) SHA1(b37fef86bb2bceaf0ac8bb3745b4702d17366914) )
238238
239239   ROM_REGION( 782, "maincpu:ipla", 0 )
240240   ROM_LOAD( "tms0970_default_ipla.pla", 0, 782, CRC(e038fc44) SHA1(dfc280f6d0a5828d1bb14fcd59ac29caf2c2d981) )
trunk/src/mess/drivers/stopthie.c
r242225r242226
33/***************************************************************************
44
55  Parker Brothers Stop Thief
6  * MP0905BNL TMS0980NLL MP6101B (die labeled 0980B-01A)
6  * TMS0980NLL MP6101B (die labeled 0980B-01A)
77 
8  bla
8  Stop Thief is actually a board game, the electronic device emulated here
9  (called Electronic Crime Scanner) is an accessory. To start a game, press
10  the ON button. Otherwise, it is in test-mode where you can hear all sounds.
911
1012
1113  TODO:
1214  - ON/OFF button callbacks
1315  - MCU clock is unknown
16  - stopthiep: unable to start a game (may be intentional?)
1417
1518***************************************************************************/
1619
r242225r242226
2124#include "stopthie.lh"
2225
2326// master clock is unknown, the value below is an approximation
24#define MASTER_CLOCK (350000)
27#define MASTER_CLOCK (425000)
2528
2629
2730class stopthief_state : public driver_device
r242225r242226
3841   required_ioport_array<3> m_button_matrix;
3942   required_device<speaker_sound_device> m_speaker;
4043
41   UINT16 m_r;
4244   UINT16 m_o;
4345
4446   UINT16 m_leds_state[0x10];
r242225r242226
136138WRITE16_MEMBER(stopthief_state::write_r)
137139{
138140   // R0-R2: select digit
139   UINT8 o = BITSWAP8(m_o,3,5,0,6,7,2,1,4) & 0x7f;
140   for (int i = 0; i < 10; i++)
141   UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f;
142   for (int i = 0; i < 3; i++)
141143      m_leds_state[i] = (data >> i & 1) ? o : 0;
142144   
143145   leds_update();
144146   
145   // R3-..: sound
146
147
148   m_r = data;
147   // R3-R8: speaker on
148   m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0);
149149}
150150
151151WRITE16_MEMBER(stopthief_state::write_o)
152152{
153153   // O0,O6: input mux
154   // O3: sound on
154   // O3: speaker out
155155   // O0-O2,O4-O7: led segments A-G
156156   m_o = data;
157157}
r242225r242226
210210   memset(m_leds_state, 0, sizeof(m_leds_state));
211211   memset(m_leds_cache, 0, sizeof(m_leds_cache));
212212   memset(m_leds_decay, 0, sizeof(m_leds_decay));
213   m_r = 0;
214213   m_o = 0;
215214
216215   save_item(NAME(m_leds_state));
217216   save_item(NAME(m_leds_cache));
218217   save_item(NAME(m_leds_decay));
219   save_item(NAME(m_r));
220218   save_item(NAME(m_o));
221219}
222220
r242225r242226
251249
252250ROM_START( stopthie )
253251   ROM_REGION( 0x1000, "maincpu", 0 )
254   ROM_LOAD( "tms0980nll_mp6101b", 0x0000, 0x1000, CRC(5b4114af) SHA1(30a9b20dd5f0d57ed34c53e46f5adbf959d47828) )
252   ROM_LOAD( "tms0980nll_mp6101b", 0x0000, 0x1000, CRC(8bde5bb4) SHA1(8c318fcce67acc24c7ae361f575f28ec6f94665a) )
255253
256254   ROM_REGION( 1246, "maincpu:ipla", 0 )
257255   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
r242225r242226
265263
266264ROM_START( stopthiep )
267265   ROM_REGION( 0x1000, "maincpu", 0 )
268   ROM_LOAD16_WORD( "us4341385", 0x0000, 0x1000, CRC(03691115) SHA1(bdcd212aa50bb1c26cb2d0ee97e5cfc04841c108) ) // from patent US4341385, data should be correct (it included checksums)
269   // TODO: put in 0980 proper order
266   ROM_LOAD16_WORD( "us4341385", 0x0000, 0x1000, CRC(07aec38a) SHA1(0a3d0956495c0d6d9ea771feae6c14a473a800dc) ) // from patent US4341385, data should be correct (it included checksums)
270267
271268   ROM_REGION( 1246, "maincpu:ipla", 0 )
272269   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
r242225r242226
279276ROM_END
280277
281278
282CONS( 1979, stopthie,  0,        0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
279CONS( 1979, stopthie,  0,        0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", GAME_SUPPORTS_SAVE )
283280CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (prototype)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
trunk/src/mess/layout/stopthie.lay
r242225r242226
11<?xml version="1.0"?>
22<mamelayout version="2">
33
4<!-- define elements -->
5
46   <element name="digit" defstate="0">
57      <led7seg><color red="1.0" green="0.22" blue="0.18" /></led7seg>
68   </element>
79
10   <element name="text_bldg"><text string="BLDG."><color red="0.7" green="0.7" blue="0.7" /></text></element>
11   <element name="text_street"><text string="STREET"><color red="0.7" green="0.7" blue="0.7" /></text></element>
12   <element name="text_loc"><text string="LOC."><color red="0.7" green="0.7" blue="0.7" /></text></element>
13
14
15
16<!-- build screen -->
17
818   <view name="Internal Layout">
9      <bounds left="0" right="200" top="0" bottom="200" />
19      <bounds left="0" right="80" top="0" bottom="15" />
1020
11      <bezel name="digit0" element="digit">
12         <bounds x="0" y="0" width="10" height="15" />
13      </bezel>
14      <bezel name="digit1" element="digit">
15         <bounds x="20" y="0" width="10" height="15" />
16      </bezel>
17      <bezel name="digit2" element="digit">
18         <bounds x="30" y="0" width="10" height="15" />
19      </bezel>
21      <bezel name="digit2" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel>
22      <bezel name="digit1" element="digit"><bounds x="40" y="0" width="10" height="15" /></bezel>
23      <bezel name="digit0" element="digit"><bounds x="50" y="0" width="10" height="15" /></bezel>
2024
25
26      <bezel element="text_bldg"><bounds x="0" y="1.5" width="20" height="5.5" /></bezel>
27      <bezel element="text_street"><bounds x="0" y="7.5" width="20" height="5.5" /></bezel>
28
29      <bezel element="text_loc"><bounds x="60" y="4.5" width="20" height="5.5" /></bezel>
30
2131   </view>
2232</mamelayout>
trunk/src/mess/mess.lst
r242225r242226
22402240starwbc
22412241starwbcp
22422242stopthie
2243stopthiep
22432244amico2k
22442245jtc
22452246jtces88


Previous 199869 Revisions Next


© 1997-2024 The MAME Team