summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2015-03-01 02:52:02 +0100
committer couriersud <couriersud@arcor.de>2015-03-01 02:52:02 +0100
commitc8e16cc06d301e121ed42e7205bc7ba9185e8e18 (patch)
tree7b98eadd06e0210da2965a29316daa5a9c9ca4b0
parentb818233abccbb6e190ca7dddd65e730d7b683ad0 (diff)
parentacc55198ad01cbd2f9793a5c8b672e8cb079f4b6 (diff)
Merge branch 'master' of https://github.com/mamedev/mame.git
-rw-r--r--src/mame/drivers/ddragon3.c39
-rw-r--r--src/mame/drivers/raiden2.c39
-rw-r--r--src/mame/drivers/suna8.c86
-rw-r--r--src/mame/includes/suna8.h2
-rw-r--r--src/mame/mame.lst5
-rw-r--r--src/mess/drivers/hh_tms1k.c60
-rw-r--r--src/mess/drivers/hh_ucom4.c108
-rw-r--r--src/mess/layout/ebball.lay260
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>