diff options
author | couriersud <couriersud@arcor.de> | 2015-03-01 02:52:02 +0100 |
---|---|---|
committer | couriersud <couriersud@arcor.de> | 2015-03-01 02:52:02 +0100 |
commit | c8e16cc06d301e121ed42e7205bc7ba9185e8e18 (patch) | |
tree | 7b98eadd06e0210da2965a29316daa5a9c9ca4b0 | |
parent | b818233abccbb6e190ca7dddd65e730d7b683ad0 (diff) | |
parent | acc55198ad01cbd2f9793a5c8b672e8cb079f4b6 (diff) |
Merge branch 'master' of https://github.com/mamedev/mame.git
-rw-r--r-- | src/mame/drivers/ddragon3.c | 39 | ||||
-rw-r--r-- | src/mame/drivers/raiden2.c | 39 | ||||
-rw-r--r-- | src/mame/drivers/suna8.c | 86 | ||||
-rw-r--r-- | src/mame/includes/suna8.h | 2 | ||||
-rw-r--r-- | src/mame/mame.lst | 5 | ||||
-rw-r--r-- | src/mess/drivers/hh_tms1k.c | 60 | ||||
-rw-r--r-- | src/mess/drivers/hh_ucom4.c | 108 | ||||
-rw-r--r-- | src/mess/layout/ebball.lay | 260 |
8 files changed, 434 insertions, 165 deletions
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c index 1646ac66744..cbbe893051a 100644 --- a/src/mame/drivers/ddragon3.c +++ b/src/mame/drivers/ddragon3.c @@ -1168,6 +1168,44 @@ ROM_START( ctribe1 ) ROM_LOAD( "28.ic44", 0x0000, 0x0100, CRC(964329ef) SHA1(f26846571a16d27b726f689049deb0188103aadb) ) ROM_END +ROM_START( ctribeo ) // only main program code differs from ctribe1 set + ROM_REGION( 0x80000, "maincpu", 0 ) /* 64k for cpu code */ + ROM_LOAD16_BYTE( "28a16-1.ic26", 0x00001, 0x20000, CRC(d108f36f) SHA1(af53fa441b9ddfc639abb573864a9b351633c6B7) ) + ROM_LOAD16_BYTE( "28a15-1.ic25", 0x00000, 0x20000, CRC(3f5693a3) SHA1(2d4516506ad1d68ac45242fe149bba1b4b53eb45) ) + ROM_LOAD16_BYTE( "28j17-0.104", 0x40001, 0x10000, CRC(8c2c6dbd) SHA1(b99b9be6e0bdc8340fedd258819c4df587926a84) ) + /* No EVEN rom! */ + + ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound cpu code */ + ROM_LOAD( "28a10-0.ic89", 0x00000, 0x8000, CRC(4346de13) SHA1(67c6de90ba31a325f03e64d28c9391a315ee359c) ) + + ROM_REGION( 0x100000, "gfx1", 0 ) /* Background */ + ROM_LOAD16_BYTE( "28j7-0.ic11", 0x000001, 0x40000, CRC(a8b773f1) SHA1(999e41dfeb3fb937da769c4a33bb29bf4076dc63) ) + ROM_LOAD16_BYTE( "28j6-0.ic13", 0x000000, 0x40000, CRC(617530fc) SHA1(b9155ed0ae1437bf4d0b7a95e769bc05a820ecec) ) + ROM_LOAD16_BYTE( "28j5-0.ic12", 0x080001, 0x40000, CRC(cef0a821) SHA1(c7a35048d5ebf3f09abf9d27f91d12adc03befeb) ) + ROM_LOAD16_BYTE( "28j4-0.ic14", 0x080000, 0x40000, CRC(b84fda09) SHA1(3ae0c0ec6c398dea17e248b017ea3e2f6c3571e1) ) + + ROM_REGION( 0x400000, "gfx2", 0 ) /* Sprites */ + ROM_LOAD( "28j3-0.ic77", 0x000000, 0x80000, CRC(1ac2a461) SHA1(17436f5dcf29041ca5f470dfae538e4fc12153cc) ) + ROM_LOAD( "28a14-0.ic60", 0x080000, 0x10000, CRC(972faddb) SHA1(f2b211e8f8301667e6c9a3ce9612e39b16e66a67) ) + ROM_LOAD( "28j2-0.ic78", 0x100000, 0x80000, CRC(8c796707) SHA1(7417ad0413083876ed65a8612845ccb0d2717530) ) + ROM_LOAD( "28a13-0.ic61", 0x180000, 0x10000, CRC(eb3ab374) SHA1(db66cb7976c111fa76a3a211e96ad1d7b78ce0ad) ) + ROM_LOAD( "28j1-0.ic97", 0x200000, 0x80000, CRC(1c9badbd) SHA1(d28f6d684d88448eaa3feae0bba2f5a836d89bd7) ) + ROM_LOAD( "28a12-0.ic85", 0x280000, 0x10000, CRC(c602ac97) SHA1(44440739636b684c6dcac837f59664120c9ba5f3) ) + ROM_LOAD( "28j0-0.ic98", 0x300000, 0x80000, CRC(ba73c49e) SHA1(830099027ede1f7c56bb0bf3cdef3018b92e0b87) ) + ROM_LOAD( "28a11-0.ic86", 0x380000, 0x10000, CRC(4da1d8e5) SHA1(568e9e8d00f1b1ca27c28df5fc0ffc74ad91da7e) ) + + ROM_REGION( 0x040000, "oki", 0 ) /* ADPCM Samples */ + ROM_LOAD( "28j9-0.ic83", 0x00000, 0x20000, CRC(f92a7f4a) SHA1(3717ef64876be9ada378b449749918ce9072073a) ) + ROM_LOAD( "28j8-0.ic82", 0x20000, 0x20000, CRC(1a3a0b39) SHA1(8847530027cf4be03ffbc6d78dee97b459d03a04) ) + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "28.ic44", 0x0000, 0x0100, CRC(964329ef) SHA1(f26846571a16d27b726f689049deb0188103aadb) ) +ROM_END + + + + + ROM_START( ctribej ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 64k for cpu code */ ROM_LOAD16_BYTE( "28j16-02.26", 0x00001, 0x20000, CRC(658b8568) SHA1(899682f6ab28b184654c51c1169216974043f1b9) ) @@ -1443,6 +1481,7 @@ GAME( 1990, ddragon3b,ddragon3, ddragon3b,ddragon3b, driver_device,0, ROT0, "boo GAME( 1990, ctribe, 0, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (US)", GAME_SUPPORTS_SAVE ) GAME( 1990, ctribe1, ctribe, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (US set 1?)", GAME_SUPPORTS_SAVE ) +GAME( 1990, ctribeo, ctribe, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (US, older)", GAME_SUPPORTS_SAVE ) GAME( 1990, ctribej, ctribe, ctribe, ctribe, driver_device, 0, ROT0, "Technos Japan", "The Combatribes (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1990, ctribeb, ctribe, ctribe, ctribeb, driver_device, 0, ROT0, "bootleg", "The Combatribes (bootleg set 1)", GAME_SUPPORTS_SAVE ) GAME( 1990, ctribeb2, ctribe, ctribe, ctribeb, driver_device, 0, ROT0, "bootleg", "The Combatribes (bootleg set 2)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c index ef0dfa90c54..a0431bf1776 100644 --- a/src/mame/drivers/raiden2.c +++ b/src/mame/drivers/raiden2.c @@ -2056,6 +2056,44 @@ ROM_START( raiden2nl ) ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP) ROM_END +ROM_START( raiden2f ) // original board with serial # 12476 that matches raiden2nl set except the region and Audio CPU + ROM_REGION( 0x200000, "maincpu", 0 ) /* v30 main cpu */ + ROM_LOAD16_BYTE("1_u0211.bin", 0x000000, 0x80000, CRC(53be3dd0) SHA1(304d118423e4085eea3b883bd625d90d21bb2054) ) // == raiden2nl + ROM_RELOAD(0x100000, 0x80000) + ROM_LOAD16_BYTE("seibu2_u0212.bin", 0x000001, 0x80000, CRC(8dcd8a8d) SHA1(be0681d5867d8b4f5fb78946a896d89827a71e8e) ) + ROM_RELOAD(0x100001, 0x80000) + + ROM_REGION( 0x40000, "user2", 0 ) /* COPX */ + ROM_LOAD( "copx-d2.u0313", 0x00000, 0x40000, CRC(a6732ff9) SHA1(c4856ec77869d9098da24b1bb3d7d58bb74b4cda) ) /* Soldered MASK ROM */ + + ROM_REGION( 0x20000, "audiocpu", ROMREGION_ERASEFF ) /* 64k code for sound Z80 */ + ROM_LOAD( "seibu5_u1110.bin", 0x000000, 0x08000, CRC(f51a28f9) SHA1(7ae2e2ba0c8159a544a8fd2bb0c2c694ba849302) ) // == raiden2 + ROM_CONTINUE(0x10000,0x8000) + ROM_COPY( "audiocpu", 0, 0x018000, 0x08000 ) + + ROM_REGION( 0x020000, "gfx1", 0 ) /* chars */ + ROM_LOAD( "7_u0724.bin", 0x000000, 0x020000, CRC(c9ec9469) SHA1(a29f480a1bee073be7a177096ef58e1887a5af24) ) /* PCB silkscreened FX0 */ + + ROM_REGION( 0x400000, "gfx2", 0 ) /* background gfx */ + ROM_LOAD( "raiden_2_seibu_bg-1.u0714", 0x000000, 0x200000, CRC(e61ad38e) SHA1(63b06cd38db946ad3fc5c1482dc863ef80b58fec) ) /* Soldered MASK ROM */ + ROM_LOAD( "raiden_2_seibu_bg-2.u075", 0x200000, 0x200000, CRC(a694a4bb) SHA1(39c2614d0effc899fe58f735604283097769df77) ) /* Soldered MASK ROM */ + + ROM_REGION32_LE( 0x800000, "gfx3", 0 ) /* sprite gfx (encrypted) */ + ROM_LOAD32_WORD( "raiden_2_seibu_obj-1.u0811", 0x000000, 0x200000, CRC(ff08ef0b) SHA1(a1858430e8171ca8bab785457ef60e151b5e5cf1) ) /* Soldered MASK ROM */ + ROM_LOAD32_WORD( "raiden_2_seibu_obj-2.u082", 0x000002, 0x200000, CRC(638eb771) SHA1(9774cc070e71668d7d1d20795502dccd21ca557b) ) /* Soldered MASK ROM */ + ROM_LOAD32_WORD( "raiden_2_seibu_obj-3.u0837", 0x400000, 0x200000, CRC(897a0322) SHA1(abb2737a2446da5b364fc2d96524b43d808f4126) ) /* Soldered MASK ROM */ + ROM_LOAD32_WORD( "raiden_2_seibu_obj-4.u0836", 0x400002, 0x200000, CRC(b676e188) SHA1(19cc838f1ccf9c4203cd0e5365e5d99ff3a4ff0f) ) /* Soldered MASK ROM */ + + ROM_REGION( 0x100000, "oki1", 0 ) /* ADPCM samples */ + ROM_LOAD( "6_u1017.bin", 0x00000, 0x40000, CRC(fb0fca23) SHA1(4b2217b121a66c5ab6015537609cf908ffedaf86) ) /* PCB silkscreened VOICE1 */ + + ROM_REGION( 0x100000, "oki2", 0 ) /* ADPCM samples */ + ROM_LOAD( "raiden_2_pcm.u1018", 0x00000, 0x40000, CRC(8cf0d17e) SHA1(0fbe0b1e1ca5360c7c8329331408e3d799b4714c) ) /* Soldered MASK ROM */ + + ROM_REGION( 0x10000, "pals", 0 ) /* PALS */ + ROM_LOAD( "jj4b02__ami18cv8-15.u0342.jed", 0x0000, 0x288, NO_DUMP) + ROM_LOAD( "jj4b01__mmipal16l8bcn.u0341.jed", 0x0000, 0x288, NO_DUMP) +ROM_END ROM_START( raiden2u ) ROM_REGION( 0x200000, "maincpu", 0 ) /* v30 main cpu */ @@ -3022,6 +3060,7 @@ GAME( 1993, raiden2sw, raiden2, raiden2, raiden2, raiden2_state, raiden2, R GAME( 1993, raiden2j, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Japan)", GAME_SUPPORTS_SAVE ) // rev 1 GAME( 1993, raiden2i, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Italy)", GAME_SUPPORTS_SAVE ) // rev 2 GAME( 1993, raiden2nl, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (Holland)", GAME_SUPPORTS_SAVE ) +GAME( 1993, raiden2f, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (France)", GAME_SUPPORTS_SAVE ) GAME( 1993, raiden2e, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (easy version, Korea?)", GAME_SUPPORTS_SAVE ) // rev 3 (Region 0x04) - Korea?, if regions are the same as RDX, no license or region message tho GAME( 1993, raiden2ea, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (easy version, Japan?)", GAME_SUPPORTS_SAVE ) // rev 4 (Region 0x00) - Should be Japan, but the easy sets have no 'FOR USE IN JAPAN ONLY' display even when region is 00 diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c index 1aebb845058..95941530dfe 100644 --- a/src/mame/drivers/suna8.c +++ b/src/mame/drivers/suna8.c @@ -18,7 +18,7 @@ Year + Game Game PCB Epoxy CPU Samples Notes 89 Spark Man KRB-16 60136-081 T568009 Yes Encryption + Protection 90 Star Fighter KRB-17 60484-0082 T568009 Yes Encryption + Protection 91 Hard Head 2 ? ? T568009 - Encryption + Protection -92 Brick Zone ? ? Yes - Encryption + Protection +92 Brick Zone KRB-19 70523-0084 Yes - Encryption + Protection -------------------------------------------------------------------------------------- Notes: @@ -128,12 +128,44 @@ UINT8 *suna8_state::brickzn_decrypt() return decrypt; } -DRIVER_INIT_MEMBER(suna8_state,brickzn) +DRIVER_INIT_MEMBER(suna8_state, brickzn_common) { m_decrypt = brickzn_decrypt(); + // Non-banked opcodes + address_space &space = m_maincpu->space(AS_PROGRAM); + space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); + + // Data banks: 00-0f normal data decryption, 10-1f alternate data decryption: + membank("bank1")->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000); + // Opcode banks: 00-1f normal opcode decryption: + membank("bank1")->configure_decrypted_entries(0, 16, m_decrypt + 0x10000, 0x4000); + membank("bank1")->configure_decrypted_entries(16, 16, m_decrypt + 0x10000, 0x4000); +} + +DRIVER_INIT_MEMBER(suna8_state,brickzn) +{ + DRIVER_INIT_CALL(brickzn_common); + // !!!!!! PATCHES !!!!!! + // To do: ROM banking should be disabled here + m_decrypt[0x11cc] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x11cd] = 0x00; // LD ($C040),A -> NOP + m_decrypt[0x11ce] = 0x00; // LD ($C040),A -> NOP + + m_decrypt[0x335b] = 0xc9; // RET Z -> RET (to avoid: jp $C800) + + // NMI enable / source?? + m_decrypt[0x1442] = 0xc9; // HALT -> RET + m_decrypt[0x24C6] = 0x00; // HALT -> NOP + m_decrypt[0x25A4] = 0x00; // HALT -> NOP +} + +DRIVER_INIT_MEMBER(suna8_state,brickznv5) +{ + DRIVER_INIT_CALL(brickzn_common); + // !!!!!! PATCHES !!!!!! // To do: ROM banking should be disabled here m_decrypt[0x11bb] = 0x00; // LD ($C040),A -> NOP m_decrypt[0x11bc] = 0x00; // LD ($C040),A -> NOP @@ -145,23 +177,13 @@ DRIVER_INIT_MEMBER(suna8_state,brickzn) m_decrypt[0x1431] = 0xc9; // HALT -> RET m_decrypt[0x24b5] = 0x00; // HALT -> NOP m_decrypt[0x2593] = 0x00; // HALT -> NOP - - // Non-banked opcodes - address_space &space = m_maincpu->space(AS_PROGRAM); - space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); - - // Data banks: 00-0f normal data decryption, 10-1f alternate data decryption: - membank("bank1")->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000); - // Opcode banks: 00-1f normal opcode decryption: - membank("bank1")->configure_decrypted_entries(0, 16, m_decrypt + 0x10000, 0x4000); - membank("bank1")->configure_decrypted_entries(16, 16, m_decrypt + 0x10000, 0x4000); } DRIVER_INIT_MEMBER(suna8_state,brickznv4) { - m_decrypt = brickzn_decrypt(); - // !!!!!! PATCHES !!!!!! + DRIVER_INIT_CALL(brickzn_common); + // !!!!!! PATCHES !!!!!! // To do: ROM banking should be disabled here m_decrypt[0x1190] = 0x00; // LD ($C040),A -> NOP m_decrypt[0x1191] = 0x00; // LD ($C040),A -> NOP @@ -173,16 +195,6 @@ DRIVER_INIT_MEMBER(suna8_state,brickznv4) m_decrypt[0x1406] = 0xc9; // HALT -> RET m_decrypt[0x2487] = 0x00; // HALT -> NOP m_decrypt[0x256c] = 0x00; // HALT -> NOP - - // Non-banked opcodes - address_space &space = m_maincpu->space(AS_PROGRAM); - space.set_decrypted_region(0x0000, 0x7fff, m_decrypt); - - // Data banks: 00-0f normal data decryption, 10-1f alternate data decryption: - membank("bank1")->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000); - // Opcode banks: 00-1f normal opcode decryption: - membank("bank1")->configure_decrypted_entries(0, 16, m_decrypt + 0x10000, 0x4000); - membank("bank1")->configure_decrypted_entries(16, 16, m_decrypt + 0x10000, 0x4000); } @@ -2526,6 +2538,28 @@ Large epoxy(?) module near the cpu's. ROM_START( brickzn ) ROM_REGION( 0x50000 + 0x40000, "maincpu", 0 ) /* Main Z80 Code */ + ROM_LOAD( "P9.M7", 0x00000, 0x08000, CRC(bd7a3c01) SHA1(05fb2836f1c8d8818847ccb76e7b477f13a9929b) ) // V6.0 1992,3,16 + ROM_LOAD( "P8.K7", 0x10000, 0x20000, CRC(ec3e266d) SHA1(4441a5ae88e51353f6d1eb22c00becb0a7ecea6e) ) + ROM_LOAD( "P7.I7", 0x30000, 0x20000, CRC(4dd88631) SHA1(0dbcaf3420dad82c3ed94d231948fe69b044b786) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) /* Music Z80 Code */ + ROM_LOAD( "10.O8", 0x00000, 0x10000, CRC(4eba8178) SHA1(9a214a1acacdc124529bc9dde73a8e884fc70293) ) // BRICK MUSIC XILINX PROGRAM 3020 1991,11,14 MUSIC PROGRAM V 2,0 1990.12.14 + + ROM_REGION( 0x10000, "pcm", 0 ) /* PCM Z80 Code */ + ROM_LOAD( "11.N10", 0x00000, 0x10000, CRC(6c54161a) SHA1(ea216d9f45b441acd56b9fed81a83e3bfe299fbd) ) + + ROM_REGION( 0xc0000, "gfx1", ROMREGION_INVERT ) /* Sprites */ + ROM_LOAD( "P5.M5", 0x00000, 0x20000, CRC(ca59e2f7) SHA1(dbb9f2b316a44f760768f0430798e0c4e9e8f3ff) ) + ROM_LOAD( "P4.L5", 0x20000, 0x20000, CRC(cc8fb330) SHA1(fd263f65b81acbfc00fe339c461068ab160c04af) ) + ROM_LOAD( "P3.K5", 0x40000, 0x20000, CRC(2e4f194b) SHA1(86da1a582ea274f2af96d3e3e2ac72bcaf3638cb) ) + ROM_LOAD( "P2.I5", 0x60000, 0x20000, CRC(592d45ce) SHA1(8ce9236b7deba6cf00999680314ac04eff624a6d) ) + ROM_LOAD( "P1.H5", 0x80000, 0x20000, CRC(7a6bb583) SHA1(ff7018c07182fce0ff6954bbe3b08fa5105f6be0) ) + ROM_LOAD( "P6.H7", 0xa0000, 0x20000, CRC(bbf31081) SHA1(1fdbd0e0853082345225e18df340184a7a604b78) ) +ROM_END + + +ROM_START( brickznv5 ) + ROM_REGION( 0x50000 + 0x40000, "maincpu", 0 ) /* Main Z80 Code */ ROM_LOAD( "brickzon.009", 0x00000, 0x08000, CRC(1ea68dea) SHA1(427152a26b062c5e77089de49c1da69369d4d557) ) // V5.0 1992,3,3 ROM_LOAD( "brickzon.008", 0x10000, 0x20000, CRC(c61540ba) SHA1(08c0ede591b229427b910ca6bb904a6146110be8) ) ROM_LOAD( "brickzon.007", 0x30000, 0x20000, CRC(ceed12f1) SHA1(9006726b75a65455afb1194298bade8fa2207b4a) ) @@ -2545,6 +2579,7 @@ ROM_START( brickzn ) ROM_LOAD( "brickzon.006", 0xa0000, 0x20000, CRC(bbf31081) SHA1(1fdbd0e0853082345225e18df340184a7a604b78) ) ROM_END + ROM_START( brickznv4 ) ROM_REGION( 0x50000 + 0x40000, "maincpu", 0 ) /* Main Z80 Code */ ROM_LOAD( "39", 0x00000, 0x08000, CRC(043380bd) SHA1(7eea7cc7d754815df233879b4a9d3d88eac5b28d) ) // V3.0 1992,1,23 @@ -2846,6 +2881,7 @@ GAME( 1990, starfigh, 0, starfigh, starfigh, suna8_state, starfigh, ROT GAME( 1991, hardhea2, 0, hardhea2, hardhea2, suna8_state, hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)", 0 ) -GAME( 1992, brickzn, 0, brickzn, brickzn, suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", 0 ) +GAME( 1992, brickzn, 0, brickzn, brickzn, suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v6.0, Joystick)", 0 ) +GAME( 1992, brickznv5, brickzn, brickzn, brickzn, suna8_state, brickznv5, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", 0 ) GAME( 1992, brickznv4, brickzn, brickzn, brickzn, suna8_state, brickznv4, ROT90, "SunA", "Brick Zone (v4.0, Spinner)", 0 ) GAME( 1992, brickzn11, brickzn, brickzn, brickzn, suna8_state, brickzn11, ROT90, "SunA", "Brick Zone (v1.1)", GAME_NOT_WORKING ) diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h index e87d1217a16..57197dd6ad9 100644 --- a/src/mame/includes/suna8.h +++ b/src/mame/includes/suna8.h @@ -124,6 +124,8 @@ public: DECLARE_READ8_MEMBER(suna8_banked_spriteram_r); DECLARE_WRITE8_MEMBER(suna8_spriteram_w); DECLARE_WRITE8_MEMBER(suna8_banked_spriteram_w); + DECLARE_DRIVER_INIT(brickzn_common); + DECLARE_DRIVER_INIT(brickznv5); DECLARE_DRIVER_INIT(brickznv4); DECLARE_DRIVER_INIT(starfigh); DECLARE_DRIVER_INIT(hardhea2); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 91053b729ce..cadf11813ca 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -7900,7 +7900,8 @@ darktowr // Game Room tstrike // East Coast Coin Company (Melbourne) tstrikea // Game Room ctribe // TA-0028 (c) 1990 (US) -ctribe1 // TA-0028 (c) 1990 (US) - Set 1? +ctribe1 // TA-0028 (c) 1990 (US) +ctribeo // TA-0028 (c) 1990 (US) ctribej // TA-0028 (c) 1990 (Japan) ctribeb // bootleg ctribeb2 // bootleg @@ -8443,6 +8444,7 @@ raiden2ea // (c) 1993 Seibu Kaihatsu raiden2eu // (c) 1993 Seibu Kaihatsu + Fabtek license raiden2eua // (c) 1993 Seibu Kaihatsu + Fabtek license raiden2nl // (c) 1993 Seibu Kaihatsu +raiden2f // (c) 1993 Seibu Kaihatsu raiden2g // (c) 1993 Seibu Kaihatsu + Tuning license raiden2dx // (c) 1993 Seibu Kaihatsu @@ -9255,6 +9257,7 @@ sparkmana // (c) 1989 SunA starfigh // (c) 1990 SunA hardhea2 // (c) 1991 SunA brickzn // (c) 1992 SunA +brickznv5 // (c) 1992 SunA brickznv4 // (c) 1992 SunA brickzn11 // (c) 1992 SunA bestbest // (c) 1994 SunA diff --git a/src/mess/drivers/hh_tms1k.c b/src/mess/drivers/hh_tms1k.c index c1db452b97c..1c9116c62d0 100644 --- a/src/mess/drivers/hh_tms1k.c +++ b/src/mess/drivers/hh_tms1k.c @@ -11,9 +11,9 @@ serial device etc. -------------------------------------------------------------------- - @MP0904A TMS0970 1977, Milton Bradley Comp IV + @CP0904A TMS0970 1977, Milton Bradley Comp IV @MP0905B TMS0970 1977, Parker Brothers Codename Sector - @MP0914 TMS1000 1979, Entex Baseball + @MP0914 TMS1000 1978, Entex Baseball 1 @MP1030 TMS1100 1980, APF Mathemagician @MP3226 TMS1000 1978, Milton Bradley Simon @MP3403 TMS1100 1978, unknown @@ -56,6 +56,7 @@ #include "amaztron.lh" #include "bankshot.lh" #include "cnsector.lh" +#include "ebball.lh" #include "elecdet.lh" #include "comp4.lh" #include "mathmagi.lh" @@ -67,9 +68,6 @@ #include "tandy12.lh" // clickable #include "tc4.lh" -// test-layouts - use external artwork -#include "ebball.lh" - class hh_tms1k_state : public driver_device { @@ -298,8 +296,9 @@ void hh_tms1k_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety m_display_maxy = maxy; // update current state + UINT32 mask = (1 << maxx) - 1; for (int y = 0; y < maxy; y++) - m_display_state[y] = (sety >> y & 1) ? setx : 0; + m_display_state[y] = (sety >> y & 1) ? (setx & mask) : 0; display_update(); } @@ -372,14 +371,14 @@ INPUT_CHANGED_MEMBER(hh_tms1k_state::tms0980_power_button) void hh_tms1k_state::mathmagi_display() { - m_display_maxy = 11; m_display_maxx = 8; + m_display_maxy = 11; // R0-R7: 7seg leds for (int y = 0; y < 8; y++) { m_7seg_mask[y] = 0x7f; - m_display_state[y] = (m_r >> y & 1) ? ((m_o >> 1 & 0x7f) | (m_o << 7 & 0x80)) : 0; + m_display_state[y] = (m_r >> y & 1) ? (m_o >> 1) : 0; } // R8: custom math symbols digit @@ -536,8 +535,8 @@ MACHINE_CONFIG_END void hh_tms1k_state::amaztron_display() { - m_display_maxy = 3; m_display_maxx = 8; + m_display_maxy = 3; // R8,R9: select digit for (int y = 0; y < 2; y++) @@ -802,10 +801,19 @@ MACHINE_CONFIG_END /*************************************************************************** - Entex Baseball + Entex Electronic Baseball (1) * TMS1000NLP MP0914 (die labeled MP0914A) + + This is a handheld LED baseball game. One player controls the batter, the CPU + or other player controls the pitcher. Pitcher throw buttons are on a 'joypad' + obtained from a compartment in the back. Player scores are supposed to be + written down manually, the game doesn't save scores or innings (this annoyance + was resolved in the sequel). For more information, refer to the official manual. + + The overlay graphic is known to have 2 versions: one where the field players + are denoted by words ("left", "center", "short", etc), and an alternate one + with little guys drawn next to the LEDs. - NOTE!: MESS external artwork is recommended lamp translation table: led LDzz from game PCB = MESS lampyx: @@ -827,7 +835,7 @@ void hh_tms1k_state::ebball_display() // R8 is a 7seg m_7seg_mask[8] = 0x7f; - display_matrix(7, 9, m_o, m_r); + display_matrix(7, 9, ~m_o, m_r); } READ8_MEMBER(hh_tms1k_state::ebball_read_k) @@ -859,36 +867,38 @@ WRITE16_MEMBER(hh_tms1k_state::ebball_write_o) static INPUT_PORTS_START( ebball ) PORT_START("IN.0") // R1 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Change Up") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START ) PORT_NAME("Change Sides") + PORT_CONFNAME( 0x04, 0x04, "Pitcher" ) + PORT_CONFSETTING( 0x04, "Auto" ) + PORT_CONFSETTING( 0x00, "Manual" ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.1") // R2 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Fast Ball") PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.2") // R3 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(2) PORT_NAME("P2 Knuckler") PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.3") // R4 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON6 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Curve") PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.4") // R5 - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON7 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2) PORT_NAME("P2 Slider") PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_START("IN.5") // Vss! PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON8 ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Batter") INPUT_PORTS_END static MACHINE_CONFIG_START( ebball, hh_tms1k_state ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", TMS1000, 350000) // RC osc. R=43K, C=47pf -> ~350kHz + MCFG_CPU_ADD("maincpu", TMS1000, 375000) // RC osc. R=43K, C=47pf -> ~375kHz MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ebball_read_k)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ebball_write_r)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ebball_write_o)) @@ -1337,8 +1347,8 @@ READ8_MEMBER(hh_tms1k_state::cnsector_read_k) WRITE16_MEMBER(hh_tms1k_state::cnsector_write_r) { - m_display_maxy = 7; m_display_maxx = 8; + m_display_maxy = 7; // R0-R5: select digit (right-to-left) for (int y = 0; y < 6; y++) @@ -1545,11 +1555,11 @@ READ8_MEMBER(hh_tms1k_state::stopthief_read_k) WRITE16_MEMBER(hh_tms1k_state::stopthief_write_r) { - m_display_maxy = 3; m_display_maxx = 7; + m_display_maxy = 3; // R0-R2: select digit - UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7); + UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f; for (int y = 0; y < m_display_maxy; y++) { m_7seg_mask[y] = 0x7f; @@ -2284,7 +2294,7 @@ CONS( 1980, mathmagi, 0, 0, mathmagi, mathmagi, driver_device, 0, "APF Electroni CONS( 1979, amaztron, 0, 0, amaztron, amaztron, driver_device, 0, "Coleco", "Amaze-A-Tron", GAME_SUPPORTS_SAVE ) CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", GAME_SUPPORTS_SAVE ) -CONS( 1979, ebball, 0, 0, ebball, ebball, driver_device, 0, "Entex", "Baseball (Entex)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) +CONS( 1978, ebball, 0, 0, ebball, ebball, driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE ) CONS( 1979, elecdet, 0, 0, elecdet, elecdet, driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE ) diff --git a/src/mess/drivers/hh_ucom4.c b/src/mess/drivers/hh_ucom4.c index e3790f19152..19059d222d0 100644 --- a/src/mess/drivers/hh_ucom4.c +++ b/src/mess/drivers/hh_ucom4.c @@ -6,8 +6,8 @@ - serial device etc ------------------------------------------- + serial device etc. +----------------------------------------------- @048 uPD552 1980, Tomy Tennis *085 uPD650 1980, Roland TR-808 102 uPD553 1981, Bandai Block Out @@ -86,6 +86,10 @@ public: void tmtennis_set_clock(); DECLARE_INPUT_CHANGED_MEMBER(tmtennis_difficulty_switch); DECLARE_MACHINE_RESET(tmtennis); + + DECLARE_WRITE8_MEMBER(tmpacman_grid_w); + DECLARE_WRITE8_MEMBER(tmpacman_plate_w); + DECLARE_WRITE8_MEMBER(tmpacman_port_e_w); DECLARE_READ8_MEMBER(alnchase_input_r); DECLARE_WRITE8_MEMBER(alnchase_display_w); @@ -186,8 +190,9 @@ void hh_ucom4_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety m_display_maxy = maxy; // update current state + UINT32 mask = (1 << maxx) - 1; for (int y = 0; y < maxy; y++) - m_display_state[y] = (sety >> y & 1) ? setx : 0; + m_display_state[y] = (sety >> y & 1) ? (setx & mask) : 0; display_update(); } @@ -231,7 +236,7 @@ UINT8 hh_ucom4_state::read_inputs(int columns) WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w) { - // port C/D: vfd matrix grid + // ports C,D: vfd matrix grid int shift = (offset - NEC_UCOM4_PORTC) * 4; m_grid = (m_grid & ~(0xf << shift)) | (data << shift); @@ -240,7 +245,7 @@ WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w) WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w) { - // port E/F/G/H/I01: vfd matrix plate + // ports E-H,I01: vfd matrix plate int shift = (offset - NEC_UCOM4_PORTE) * 4; m_plate = (m_plate & ~(0xf << shift)) | (data << shift); @@ -257,13 +262,13 @@ WRITE8_MEMBER(hh_ucom4_state::edracula_port_i_w) static INPUT_PORTS_START( edracula ) - PORT_START("IN.0") + PORT_START("IN.0") // port A PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_START("IN.1") + PORT_START("IN.1") // port B PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) @@ -320,22 +325,22 @@ MACHINE_CONFIG_END READ8_MEMBER(hh_ucom4_state::tmtennis_input_r) { - // port A/B: buttons + // ports A,B: buttons return ~read_inputs(2) >> (offset*4); } -WRITE8_MEMBER(hh_ucom4_state::tmtennis_port_e_w) +WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w) { - // E0/E1: input mux - // E2: speaker out - // E3: N/C - m_inp_mux = data & 3; - m_speaker->level_w(data >> 2 & 1); + // ports G-I: vfd matrix grid + int shift = (offset - NEC_UCOM4_PORTG) * 4; + m_grid = (m_grid & ~(0xf << shift)) | (data << shift); + + display_matrix(12, 12, m_plate, m_grid); } WRITE8_MEMBER(hh_ucom4_state::tmtennis_plate_w) { - // port C/D/F: vfd matrix plate + // ports C-F: vfd matrix plate if (offset == NEC_UCOM4_PORTF) offset--; int shift = (offset - NEC_UCOM4_PORTC) * 4; m_plate = (m_plate & ~(0xf << shift)) | (data << shift); @@ -343,17 +348,16 @@ WRITE8_MEMBER(hh_ucom4_state::tmtennis_plate_w) display_matrix(12, 12, m_plate, m_grid); } -WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w) +WRITE8_MEMBER(hh_ucom4_state::tmtennis_port_e_w) { - // port G/H/I: vfd matrix grid - int shift = (offset - NEC_UCOM4_PORTG) * 4; - m_grid = (m_grid & ~(0xf << shift)) | (data << shift); - - display_matrix(12, 12, m_plate, m_grid); + // E0,E1: input mux + // E2: speaker out + // E3: N/C + m_inp_mux = data & 3; + m_speaker->level_w(data >> 2 & 1); } - /* Pro-Tennis physical button layout and labels is like this: [SERVE] [1] [2] [3] [3] [2] [1] [SERVE] @@ -435,6 +439,8 @@ static MACHINE_CONFIG_START( tmtennis, hh_ucom4_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END + + /*************************************************************************** Tomy(tronic) Pac-Man (manufactured in Japan) @@ -453,7 +459,45 @@ MACHINE_CONFIG_END ***************************************************************************/ +WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w) +{ + // ports C,D: vfd matrix grid + int shift = (offset - NEC_UCOM4_PORTC) * 4; + m_grid = (m_grid & ~(0xf << shift)) | (data << shift); + + display_matrix(19, 8, m_plate, m_grid); +} + +WRITE8_MEMBER(hh_ucom4_state::tmpacman_plate_w) +{ + // ports E-I: vfd matrix plate + int shift = (offset - NEC_UCOM4_PORTE) * 4; + m_plate = (m_plate & ~(0xf << shift)) | (data << shift); + + display_matrix(19, 8, m_plate, m_grid); +} + +WRITE8_MEMBER(hh_ucom4_state::tmpacman_port_e_w) +{ + // E1: speaker out + m_speaker->level_w(data >> 1 & 1); + + tmpacman_plate_w(space, offset, data); +} + + static INPUT_PORTS_START( tmpacman ) + PORT_START("IN.0") // port A + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // 4 separate directional buttons, hence 16way + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY + + PORT_START("IN.1") // port B + PORT_CONFNAME( 0x00, 0x00, DEF_STR( Difficulty ) ) + PORT_CONFSETTING( 0x00, "Amateur" ) + PORT_CONFSETTING( 0x01, "Professional" ) + PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) INPUT_PORTS_END @@ -461,7 +505,17 @@ static MACHINE_CONFIG_START( tmpacman, hh_ucom4_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", NEC_D553, XTAL_430kHz) + MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) + MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) + MCFG_UCOM4_WRITE_C_CB(WRITE8(hh_ucom4_state, tmpacman_grid_w)) + MCFG_UCOM4_WRITE_D_CB(WRITE8(hh_ucom4_state, tmpacman_grid_w)) + MCFG_UCOM4_WRITE_E_CB(WRITE8(hh_ucom4_state, tmpacman_port_e_w)) + MCFG_UCOM4_WRITE_F_CB(WRITE8(hh_ucom4_state, tmpacman_plate_w)) + MCFG_UCOM4_WRITE_G_CB(WRITE8(hh_ucom4_state, tmpacman_plate_w)) + MCFG_UCOM4_WRITE_H_CB(WRITE8(hh_ucom4_state, tmpacman_plate_w)) + MCFG_UCOM4_WRITE_I_CB(WRITE8(hh_ucom4_state, tmpacman_plate_w)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_tmpacman) /* no video! */ @@ -492,8 +546,6 @@ MACHINE_CONFIG_END ***************************************************************************/ - - READ8_MEMBER(hh_ucom4_state::alnchase_input_r) { // port A: buttons @@ -504,7 +556,7 @@ WRITE8_MEMBER(hh_ucom4_state::alnchase_display_w) { if (offset <= NEC_UCOM4_PORTE) { - // C/D/E0: vfd matrix grid + // ports C,D,E0: vfd matrix grid int shift = (offset - NEC_UCOM4_PORTC) * 4; m_grid = (m_grid & ~(0xf << shift)) | (data << shift); @@ -515,7 +567,7 @@ WRITE8_MEMBER(hh_ucom4_state::alnchase_display_w) if (offset >= NEC_UCOM4_PORTE) { - // E23/F/G/H/I: vfd matrix plate + // ports F-I,E23: vfd matrix plate int shift = (offset - NEC_UCOM4_PORTE) * 4; m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2; } @@ -525,10 +577,10 @@ WRITE8_MEMBER(hh_ucom4_state::alnchase_display_w) WRITE8_MEMBER(hh_ucom4_state::alnchase_port_e_w) { - alnchase_display_w(space, offset, data); - // E1: speaker out m_speaker->level_w(data >> 1 & 1); + + alnchase_display_w(space, offset, data); } /* physical button layout and labels is like this: diff --git a/src/mess/layout/ebball.lay b/src/mess/layout/ebball.lay index 2cb4e1dc217..48bcb51853b 100644 --- a/src/mess/layout/ebball.lay +++ b/src/mess/layout/ebball.lay @@ -4,107 +4,195 @@ <!-- define elements --> <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element> + <element name="disk_black"><disk><color red="0.0" green="0.0" blue="0.0" /></disk></element> + <element name="disk_green"><disk><color red="0.0" green="0.38" blue="0.15" /></disk></element> + <element name="static_white"><rect><color red="0.75" green="0.75" blue="0.75" /></rect></element> + <element name="disk_white"><disk><color red="0.75" green="0.75" blue="0.75" /></disk></element> + <element name="disk_white2"><disk><color red="0.85" green="0.85" blue="0.85" /></disk></element> + +<!-- background is dark-red, to hide the leds --> + + <element name="static_bg"><rect><color red="0.2" green="0.04" blue="0.05" /></rect></element> + <element name="disk_bg"><disk><color red="0.2" green="0.04" blue="0.05" /></disk></element> + + + <element name="field_guy"> + <rect><color red="0.0" green="0.38" blue="0.15" /></rect> + <text string=":-)"><color red="0.85" green="0.85" blue="0.85" /></text> + </element> + <element name="base_guy"> + <rect><color red="0.2" green="0.04" blue="0.05" /></rect> + <text string=":-)"><color red="0.85" green="0.85" blue="0.85" /></text> + </element> + <element name="pitcher"> + <rect><color red="0.2" green="0.04" blue="0.05" /></rect> + <text string=":-P"><color red="0.85" green="0.85" blue="0.85" /></text> + </element> + + <element name="text_s"><text string="S" align="1"><color red="0.95" green="0.95" blue="0.95" /></text></element> + <element name="text_b"><text string="B" align="1"><color red="0.95" green="0.95" blue="0.95" /></text></element> + <element name="text_o"><text string="O" align="1"><color red="0.95" green="0.95" blue="0.95" /></text></element> + + <element name="text_s2"> + <rect><color red="0.2" green="0.04" blue="0.05" /></rect> + <text string="S"><color red="0.95" green="0.95" blue="0.95" /></text> + </element> + <element name="text_b2"><text string="B"><color red="0.95" green="0.95" blue="0.95" /></text></element> + + <element name="text_single"><text string="1B"><color red="0.95" green="0.95" blue="0.95" /></text></element> + <element name="text_double"><text string="2B"><color red="0.95" green="0.95" blue="0.95" /></text></element> + <element name="text_triple"><text string="3B"><color red="0.95" green="0.95" blue="0.95" /></text></element> + + <element name="text_home"><text string="HOME" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element> + <element name="text_run"><text string="RUN" align="1"><color red="0.95" green="0.95" blue="0.95" /></text></element> + + <element name="text_score"><text string="SCORE"><color red="0.4" green="0.4" blue="0.4" /></text></element> + <element name="text_count"><text string="COUNT"><color red="0.4" green="0.4" blue="0.4" /></text></element> + <element name="digit" defstate="0"> <led7seg><color red="1.0" green="0.20" blue="0.22" /></led7seg> </element> + <element name="led" defstate="0"> <disk state="0"><color red="0.2" green="0.04" blue="0.05" /></disk> <disk state="1"><color red="1.0" green="0.20" blue="0.22" /></disk> </element> + <!-- build screen --> - <view name="Test Layout"> - <bounds left="0" right="64" top="0" bottom="64" /> + <view name="Internal Layout"> + <bounds left="0" right="100" top="0" bottom="114" /> <bezel element="static_black"> - <bounds left="0" right="64" top="0" bottom="64" /> + <bounds left="0" right="100" top="0" bottom="114" /> </bezel> - <bezel name="digit8" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel> - - <!-- 7*9 matrix --> - - <bezel name="lamp0" element="led"><bounds x="0" y="20" width="1" height="1" /></bezel> - <bezel name="lamp1" element="led"><bounds x="2" y="20" width="1" height="1" /></bezel> - <bezel name="lamp2" element="led"><bounds x="4" y="20" width="1" height="1" /></bezel> - <bezel name="lamp3" element="led"><bounds x="6" y="20" width="1" height="1" /></bezel> - <bezel name="lamp4" element="led"><bounds x="8" y="20" width="1" height="1" /></bezel> - <bezel name="lamp5" element="led"><bounds x="10" y="20" width="1" height="1" /></bezel> - <bezel name="lamp6" element="led"><bounds x="12" y="20" width="1" height="1" /></bezel> - - <bezel name="lamp10" element="led"><bounds x="0" y="22" width="1" height="1" /></bezel> - <bezel name="lamp11" element="led"><bounds x="2" y="22" width="1" height="1" /></bezel> - <bezel name="lamp12" element="led"><bounds x="4" y="22" width="1" height="1" /></bezel> - <bezel name="lamp13" element="led"><bounds x="6" y="22" width="1" height="1" /></bezel> - <bezel name="lamp14" element="led"><bounds x="8" y="22" width="1" height="1" /></bezel> - <bezel name="lamp15" element="led"><bounds x="10" y="22" width="1" height="1" /></bezel> - <bezel name="lamp16" element="led"><bounds x="12" y="22" width="1" height="1" /></bezel> - - <bezel name="lamp20" element="led"><bounds x="0" y="24" width="1" height="1" /></bezel> - <bezel name="lamp21" element="led"><bounds x="2" y="24" width="1" height="1" /></bezel> - <bezel name="lamp22" element="led"><bounds x="4" y="24" width="1" height="1" /></bezel> - <bezel name="lamp23" element="led"><bounds x="6" y="24" width="1" height="1" /></bezel> - <bezel name="lamp24" element="led"><bounds x="8" y="24" width="1" height="1" /></bezel> - <bezel name="lamp25" element="led"><bounds x="10" y="24" width="1" height="1" /></bezel> - <bezel name="lamp26" element="led"><bounds x="12" y="24" width="1" height="1" /></bezel> - - <bezel name="lamp30" element="led"><bounds x="0" y="26" width="1" height="1" /></bezel> - <bezel name="lamp31" element="led"><bounds x="2" y="26" width="1" height="1" /></bezel> - <bezel name="lamp32" element="led"><bounds x="4" y="26" width="1" height="1" /></bezel> - <bezel name="lamp33" element="led"><bounds x="6" y="26" width="1" height="1" /></bezel> - <bezel name="lamp34" element="led"><bounds x="8" y="26" width="1" height="1" /></bezel> - <bezel name="lamp35" element="led"><bounds x="10" y="26" width="1" height="1" /></bezel> - <bezel name="lamp36" element="led"><bounds x="12" y="26" width="1" height="1" /></bezel> - - <bezel name="lamp40" element="led"><bounds x="0" y="28" width="1" height="1" /></bezel> - <bezel name="lamp41" element="led"><bounds x="2" y="28" width="1" height="1" /></bezel> - <bezel name="lamp42" element="led"><bounds x="4" y="28" width="1" height="1" /></bezel> - <bezel name="lamp43" element="led"><bounds x="6" y="28" width="1" height="1" /></bezel> - <bezel name="lamp44" element="led"><bounds x="8" y="28" width="1" height="1" /></bezel> - <bezel name="lamp45" element="led"><bounds x="10" y="28" width="1" height="1" /></bezel> - <bezel name="lamp46" element="led"><bounds x="12" y="28" width="1" height="1" /></bezel> - - <bezel name="lamp50" element="led"><bounds x="0" y="30" width="1" height="1" /></bezel> - <bezel name="lamp51" element="led"><bounds x="2" y="30" width="1" height="1" /></bezel> - <bezel name="lamp52" element="led"><bounds x="4" y="30" width="1" height="1" /></bezel> - <bezel name="lamp53" element="led"><bounds x="6" y="30" width="1" height="1" /></bezel> - <bezel name="lamp54" element="led"><bounds x="8" y="30" width="1" height="1" /></bezel> - <bezel name="lamp55" element="led"><bounds x="10" y="30" width="1" height="1" /></bezel> - <bezel name="lamp56" element="led"><bounds x="12" y="30" width="1" height="1" /></bezel> - - <bezel name="lamp60" element="led"><bounds x="0" y="32" width="1" height="1" /></bezel> - <bezel name="lamp61" element="led"><bounds x="2" y="32" width="1" height="1" /></bezel> - <bezel name="lamp62" element="led"><bounds x="4" y="32" width="1" height="1" /></bezel> - <bezel name="lamp63" element="led"><bounds x="6" y="32" width="1" height="1" /></bezel> - <bezel name="lamp64" element="led"><bounds x="8" y="32" width="1" height="1" /></bezel> - <bezel name="lamp65" element="led"><bounds x="10" y="32" width="1" height="1" /></bezel> - <bezel name="lamp66" element="led"><bounds x="12" y="32" width="1" height="1" /></bezel> - - <bezel name="lamp70" element="led"><bounds x="0" y="34" width="1" height="1" /></bezel> - <bezel name="lamp71" element="led"><bounds x="2" y="34" width="1" height="1" /></bezel> - <bezel name="lamp72" element="led"><bounds x="4" y="34" width="1" height="1" /></bezel> - <bezel name="lamp73" element="led"><bounds x="6" y="34" width="1" height="1" /></bezel> - <bezel name="lamp74" element="led"><bounds x="8" y="34" width="1" height="1" /></bezel> - <bezel name="lamp75" element="led"><bounds x="10" y="34" width="1" height="1" /></bezel> - <bezel name="lamp76" element="led"><bounds x="12" y="34" width="1" height="1" /></bezel> - - <bezel name="lamp80" element="led"><bounds x="0" y="36" width="1" height="1" /></bezel> - <bezel name="lamp81" element="led"><bounds x="2" y="36" width="1" height="1" /></bezel> - <bezel name="lamp82" element="led"><bounds x="4" y="36" width="1" height="1" /></bezel> - <bezel name="lamp83" element="led"><bounds x="6" y="36" width="1" height="1" /></bezel> - <bezel name="lamp84" element="led"><bounds x="8" y="36" width="1" height="1" /></bezel> - <bezel name="lamp85" element="led"><bounds x="10" y="36" width="1" height="1" /></bezel> - <bezel name="lamp86" element="led"><bounds x="12" y="36" width="1" height="1" /></bezel> - - <bezel name="lamp90" element="led"><bounds x="0" y="38" width="1" height="1" /></bezel> - <bezel name="lamp91" element="led"><bounds x="2" y="38" width="1" height="1" /></bezel> - <bezel name="lamp92" element="led"><bounds x="4" y="38" width="1" height="1" /></bezel> - <bezel name="lamp93" element="led"><bounds x="6" y="38" width="1" height="1" /></bezel> - <bezel name="lamp94" element="led"><bounds x="8" y="38" width="1" height="1" /></bezel> - <bezel name="lamp95" element="led"><bounds x="10" y="38" width="1" height="1" /></bezel> - <bezel name="lamp96" element="led"><bounds x="12" y="38" width="1" height="1" /></bezel> + <!-- outer bezel --> + + <bezel element="text_score"><bounds x="5.5" y="2" width="8" height="3" /></bezel> + <bezel element="text_count"><bounds x="86" y="2" width="8" height="3" /></bezel> + + <bezel name="digit8" element="digit"><bounds x="5" y="7" width="8" height="12" /></bezel> + + <bezel element="text_s"><bounds x="82.5" y="7.2" width="2" height="2.5" /></bezel> + <bezel name="lamp70" element="led"><bounds x="86" y="7" width="3" height="3" /></bezel> + <bezel name="lamp71" element="led"><bounds x="90" y="7" width="3" height="3" /></bezel> + + <bezel element="text_b"><bounds x="82.5" y="11.2" width="2" height="2.5" /></bezel> + <bezel name="lamp60" element="led"><bounds x="86" y="11" width="3" height="3" /></bezel> + <bezel name="lamp61" element="led"><bounds x="90" y="11" width="3" height="3" /></bezel> + <bezel name="lamp62" element="led"><bounds x="94" y="11" width="3" height="3" /></bezel> + + <bezel element="text_o"><bounds x="82.5" y="15.2" width="2" height="2.5" /></bezel> + <bezel name="lamp72" element="led"><bounds x="86" y="15" width="3" height="3" /></bezel> + <bezel name="lamp73" element="led"><bounds x="90" y="15" width="3" height="3" /></bezel> + + + <!-- board --> + + <bezel element="disk_green"><bounds x="-5" y="25" width="110" height="110" /></bezel> + <bezel element="static_black"><bounds x="-10" y="75" width="120" height="65" /></bezel> + <bezel element="disk_bg"><bounds x="15" y="45" width="70" height="70" /></bezel> + <bezel element="static_black"><bounds x="0" y="85" width="100" height="40" /></bezel> + <bezel element="static_bg"><bounds x="15" y="75" width="70" height="26" /></bezel> + <bezel element="disk_bg"><bounds x="40" y="91" width="20" height="20" /></bezel> + + <!-- top edge --> + + <bezel element="disk_black"><bounds x="-1.3" y="44.7" width="10" height="10" /></bezel> + <bezel element="disk_black"><bounds x="91.3" y="44.7" width="10" height="10" /></bezel> + <bezel name="lamp43" element="led"><bounds x="2.2" y="48.2" width="3" height="3" /></bezel> + <bezel name="lamp50" element="led"><bounds x="94.8" y="48.2" width="3" height="3" /></bezel> + <bezel element="text_triple"><bounds x="2.2" y="44.5" width="3" height="2.5" /></bezel> + <bezel element="text_double"><bounds x="94.8" y="44.5" width="3" height="2.5" /></bezel> + + <bezel element="disk_black"><bounds x="18.5" y="26.5" width="10" height="10" /></bezel> + <bezel element="disk_black"><bounds x="71.5" y="26.5" width="10" height="10" /></bezel> + <bezel name="lamp53" element="led"><bounds x="22" y="30" width="3" height="3" /></bezel> + <bezel name="lamp51" element="led"><bounds x="75" y="30" width="3" height="3" /></bezel> + <bezel element="text_single"><bounds x="22" y="26.3" width="3" height="2.5" /></bezel> + <bezel element="text_single"><bounds x="75" y="26.3" width="3" height="2.5" /></bezel> + + <bezel element="disk_white2"><bounds x="45" y="20" width="10" height="10" /></bezel> + <bezel element="disk_black"><bounds x="45.5" y="20.5" width="9" height="9" /></bezel> + <bezel name="lamp52" element="led"><bounds x="48.5" y="23.5" width="3" height="3" /></bezel> + <bezel element="text_home"><bounds x="36" y="21.5" width="8" height="2.5" /></bezel> + <bezel element="text_run"><bounds x="56.5" y="21.5" width="8" height="2.5" /></bezel> + + <!-- field --> + + <bezel element="field_guy"><bounds x="13" y="48.5" width="3" height="3" /></bezel> + <bezel element="disk_bg"><bounds x="12" y="52" width="5" height="5" /></bezel> + <bezel name="lamp42" element="led"><bounds x="13" y="53" width="3" height="3" /></bezel> + + <bezel element="field_guy"><bounds x="48.5" y="31.5" width="3" height="3" /></bezel> + <bezel element="disk_bg"><bounds x="47.5" y="35" width="5" height="5" /></bezel> + <bezel name="lamp41" element="led"><bounds x="48.5" y="36" width="3" height="3" /></bezel> + + <bezel element="field_guy"><bounds x="84" y="48.5" width="3" height="3" /></bezel> + <bezel element="disk_bg"><bounds x="83" y="52" width="5" height="5" /></bezel> + <bezel name="lamp40" element="led"><bounds x="84" y="53" width="3" height="3" /></bezel> + + <!-- pitcher --> + + <bezel element="pitcher"><bounds x="48.5" y="66.5" width="3" height="3" /></bezel> + <bezel element="static_white"><bounds x="46" y="71" width="0.5" height="18.5" /></bezel> + <bezel element="static_white"><bounds x="53.5" y="71" width="0.5" height="18.5" /></bezel> + + <bezel name="lamp23" element="led"><bounds x="48.5" y="70.5" width="3" height="3" /></bezel> + <bezel name="lamp0" element="led"><bounds x="48.5" y="76" width="3" height="3" /></bezel> + <bezel name="lamp1" element="led"><bounds x="48.5" y="81.5" width="3" height="3" /></bezel> + <bezel name="lamp2" element="led"><bounds x="48.5" y="87" width="3" height="3" /></bezel> + + <bezel name="lamp10" element="led"><bounds x="45" y="92.5" width="3" height="3" /></bezel> + <bezel name="lamp13" element="led"><bounds x="52" y="92.5" width="3" height="3" /></bezel> + + <!-- bases --> + + <bezel element="base_guy"><bounds x="70" y="58" width="3" height="3" /></bezel> + <bezel name="lamp30" element="led"><bounds x="70" y="62" width="3" height="3" /></bezel> + + <bezel element="base_guy"><bounds x="61" y="49" width="3" height="3" /></bezel> + <bezel name="lamp31" element="led"><bounds x="61" y="53" width="3" height="3" /></bezel> + + <bezel element="base_guy"><bounds x="36" y="49" width="3" height="3" /></bezel> + <bezel name="lamp32" element="led"><bounds x="36" y="53" width="3" height="3" /></bezel> + + <bezel element="base_guy"><bounds x="27" y="58" width="3" height="3" /></bezel> + <bezel name="lamp33" element="led"><bounds x="27" y="62" width="3" height="3" /></bezel> + + <bezel element="static_white"><bounds x="72" y="72" width="6" height="6" /></bezel> + <bezel element="static_bg"><bounds x="72.5" y="72.5" width="5" height="5" /></bezel> + <bezel name="lamp20" element="led"><bounds x="73.5" y="73.5" width="3" height="3" /></bezel> + + <bezel element="static_white"><bounds x="47" y="47" width="6" height="6" /></bezel> + <bezel element="static_bg"><bounds x="47.5" y="47.5" width="5" height="5" /></bezel> + <bezel name="lamp21" element="led"><bounds x="48.5" y="48.5" width="3" height="3" /></bezel> + + <bezel element="static_white"><bounds x="22" y="72" width="6" height="6" /></bezel> + <bezel element="static_bg"><bounds x="22.5" y="72.5" width="5" height="5" /></bezel> + <bezel name="lamp22" element="led"><bounds x="23.5" y="73.5" width="3" height="3" /></bezel> + + <!-- home --> + + <bezel element="static_white"><bounds x="47" y="97" width="6" height="3" /></bezel> + <bezel element="disk_white"><bounds x="47" y="97" width="6" height="6" /></bezel> + <bezel element="static_bg"><bounds x="47.5" y="97.5" width="5" height="2.51" /></bezel> + <bezel element="disk_bg"><bounds x="47.5" y="97.5" width="5" height="5" /></bezel> + + <bezel element="text_b2"><bounds x="42.5" y="108.3" width="3" height="2.5" /></bezel> + <bezel name="lamp11" element="led"><bounds x="42.5" y="98.5" width="3" height="3" /></bezel> + <bezel name="lamp12" element="led"><bounds x="42.5" y="104" width="3" height="3" /></bezel> + + <bezel element="text_s2"><bounds x="48.5" y="108.3" width="3" height="2.5" /></bezel> + <bezel name="lamp3" element="led"><bounds x="48.5" y="98.5" width="3" height="3" /></bezel> + <bezel name="lamp4" element="led"><bounds x="48.5" y="104" width="3" height="3" /></bezel> + + <bezel element="text_b2"><bounds x="54.5" y="108.3" width="3" height="2.5" /></bezel> + <bezel name="lamp14" element="led"><bounds x="54.5" y="98.5" width="3" height="3" /></bezel> + <bezel name="lamp15" element="led"><bounds x="54.5" y="104" width="3" height="3" /></bezel> </view> |