summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/smstrv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/smstrv.c')
-rw-r--r--src/mame/drivers/smstrv.c310
1 files changed, 310 insertions, 0 deletions
diff --git a/src/mame/drivers/smstrv.c b/src/mame/drivers/smstrv.c
new file mode 100644
index 00000000000..ec0ebe69736
--- /dev/null
+++ b/src/mame/drivers/smstrv.c
@@ -0,0 +1,310 @@
+/*
+Triva looking board
+Silk screened on front...
+ P/N 1001
+Etched in copper on font...
+ COMPONENT SIDE REV 02
+Etched in copper on back...
+ COPYRIGHT SMS 1983 S/N MADE IN USA
+ mfg corp
+
+Serial number A4675 etched in board
+
+Large chips
+ P8088
+ AY-3-8910
+ CDM6116 x2
+ P8255A-5
+ P8254
+ D8255AC-5
+ D780C-1
+
+16 Mhz crystal by D780C (U21)
+24 Mhz crystal by P8088 (u53)
+
+Open sockets at U50 (40 pin), U15 (24 pin), U2 (40 pin), U25 (24 pin)
+
+Bottom Board
+.U17 - 27128
+.U16 - 27128
+.U26 - 2732 - stickered #26 073184
+.U38 - DMPAL10L8NC - 3 blue dots on it - saved in jedec format
+.U39 - DMPAL10L8NC - 3 green dots on it - saved in jedec format
+.U40 - DMPAL10L8NC - 1 pink dot on it - saved in jedec format
+.U110 - DMPAL10L8NC - 2 pink dots on it - saved in jedec format
+.U52 - DMPAL10L8NC - not labeled - checksum was 0
+.U32 - DMPAL10L8NC - stickered trivia U32 - couldn't read "device overcurrent"
+.U58 - DMPAL10H8NC - 3 brown dots on it - saved in jedec format
+.U80 - DMPAL10H8NC - 2 blue dots on it - saved in jedec format
+.U130 - DMPAL10H8NC - 3 pink dots on it - saved in jedec format
+.U129 - DMPAL10H8NC - pink-green-pink dots on it - saved in jedec format
+.U128 - DMPAL10H8NC - blue-brown-blue dots on it - saved in jedec format
+.U145 - DMPAL14H4NC - brown dot on it - saved in jedec format
+.U144 - DMPAL14H4NC - brown dot on it - saved in jedec format
+.U143 - DMPAL14H4NC - brown dot on it - saved in jedec format
+.U142 - DMPAL14H4NC - brown dot on it - saved in jedec format
+.U141 - DMPAL14H4NC - brown dot on it - saved in jedec format
+.U140 - DMPAL14H4NC - brown dot on it - saved in jedec format
+ U.145-U.140 had the same checksum
+
+.U94 - DMPAL14H4NC - 2 green dots on it - saved in jedec format
+.U109 - DMPAL14H4NC - 2 brown dots on it - saved in jedec format
+
+Daughter Board
+Etched in copper on top...
+ SMS MFG M?I 2685 ? = a cage looking symbol
+
+Read starting at top row, closest to connector to main board
+.D0 - DMPAL10L8NC - 1 orange dot on it - saved in jedec format
+.D1 - 27128 - couldn't read sticker -
+.D2 - 27128 - couldn't read sticker -
+.D3 - 27128 - couldn't read sticker -
+.D4 - 27128 - stickered 4 MOVIES .1 ?2485 ? = can't read
+.D5 - 27128 - stickered 3 ANYTHING .4 042485
+.D6 - 27128 - stickered 2 ANYTHING .3 042485
+.D7 - 27128 - stickered 1 ANYTHING .2 042485
+.D8 - 27128 - stickered 0 ANYTHING .1 042485
+
+2nd row - left to right
+.D9 - 27128 - stickered 12 MUSIC .1 042485
+.D10 - 27128 - stickered 13 MUSIC .1 042485
+.D11 - 27128 - stickered 14 MUSIC .1 042485
+.D12 - 27128 - stickered 15 MUSIC .1 042485
+
+3rd row - left to right
+.D13 - 27128 - stickered 11 SPORTS .4 042485
+.D14 - 27128 - stickered 10 SPORTS .3 042485
+.D15 - 27128 - stickered 9 SPORTS .2 042485
+.D16 - 27128 - stickered 8 SPORTS .1 042485
+.D17 - DMPAL10L8NC - 1 white dot on it - saved in jedec format
+
+
+ROM text showed...
+ COPYRIGHT 1984 SMS MFG CORP
+ TRIVIA HANGUP
+ SMART ALECS
+*/
+
+#include "driver.h"
+#include "sound/ay8910.h"
+#include "machine/8255ppi.h"
+
+INPUT_PORTS_EXTERN(ettrivia);
+
+
+static READ8_HANDLER( r1 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb)
+ printf("r1 @ %X\n",activecpu_get_pc());
+ return mame_rand(Machine);
+}
+static READ8_HANDLER( r2 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb)
+ printf("r2 @ %X\n",activecpu_get_pc());
+ return mame_rand(Machine);
+}
+static READ8_HANDLER( r3 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb && pc != 0x90fa && pc != 0x911b && pc != 0x90d3 && pc != 0x90c4)
+ printf("r3 @ %X\n",activecpu_get_pc());
+ return mame_rand(Machine) & ~1; //with 1 jumps back (infinite loop): a status ready for something?
+}
+static READ8_HANDLER( r4 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb)
+ printf("r4 @ %X\n",activecpu_get_pc());
+ return mame_rand(Machine);
+}
+static READ8_HANDLER( r5 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb)
+ printf("r5 @ %X\n",activecpu_get_pc());
+ return mame_rand(Machine);
+}
+static READ8_HANDLER( r6 )
+{
+ int pc = activecpu_get_pc();
+ if(pc != 0x81cb)
+ printf("r6 @ %X\n",activecpu_get_pc());
+
+ return mame_rand(Machine);
+}
+
+static WRITE8_HANDLER( w1 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w1 = %02X\n",old=data);
+ */
+}
+static WRITE8_HANDLER( w2 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w2 = %02X\n",old=data);
+ */
+}
+static WRITE8_HANDLER( w3 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w3 = %02X\n",old=data);
+ */
+}
+static WRITE8_HANDLER( w4 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w4 = %02X\n",old=data);
+ */
+}
+static WRITE8_HANDLER( w5 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w5 = %02X\n",old=data);
+ */
+}
+static WRITE8_HANDLER( w6 )
+{
+ /*
+ static int old = 0;
+ if(data != old)
+ printf("w6 = %02X\n",old=data);
+ */
+}
+
+static ADDRESS_MAP_START( smstrv_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x00000, 0x007ff) AM_RAM
+ AM_RANGE(0x00800, 0x00803) AM_READWRITE(ppi8255_0_r, ppi8255_0_w)
+ AM_RANGE(0x01000, 0x01005) AM_RAM
+ AM_RANGE(0x01800, 0x01803) AM_READWRITE(ppi8255_1_r, ppi8255_1_w)
+ AM_RANGE(0x08000, 0x0ffff) AM_ROM
+ AM_RANGE(0xf8000, 0xfffff) AM_ROM // mirror for vectors
+ADDRESS_MAP_END
+
+
+static VIDEO_START( smstrv )
+{
+}
+
+static VIDEO_UPDATE( smstrv )
+{
+ return 0;
+}
+
+static ppi8255_interface ppi8255_intf =
+{
+ 2, /* 2 chips */
+ { r1, r4 }, /* Port A read */
+ { r2, r5 }, /* Port B read */
+ { r3, r6 }, /* Port C read */
+ { w1, w4 }, /* Port A write */
+ { w2, w5 }, /* Port B write */
+ { w3, w6 }, /* Port C write */
+};
+
+
+static MACHINE_RESET( smstrv )
+{
+ ppi8255_init(&ppi8255_intf);
+}
+
+
+static MACHINE_DRIVER_START( smstrv )
+ MDRV_CPU_ADD(I8088,24000000/2)
+ MDRV_CPU_PROGRAM_MAP(smstrv_map,0)
+// MDRV_CPU_IO_MAP(io_map,0)
+ MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
+
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION)
+
+// MDRV_NVRAM_HANDLER(generic_0fill)
+ MDRV_MACHINE_RESET(smstrv)
+
+ /* video hardware */
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(256, 256)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
+ MDRV_PALETTE_LENGTH(256)
+
+// MDRV_PALETTE_INIT(naughtyb)
+ MDRV_VIDEO_START(smstrv)
+ MDRV_VIDEO_UPDATE(smstrv)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+
+ MDRV_SOUND_ADD(AY8910, 1500000)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
+MACHINE_DRIVER_END
+
+ROM_START( smstrv )
+ ROM_REGION( 0x100000, REGION_CPU1, 0 )
+ ROM_LOAD( "sms.17", 0xf8000, 0x04000, CRC(af6ef980) SHA1(f0f98d1f91de718a63b87c5f1c6ee3bd854d1c1b) )
+ ROM_LOAD( "sms.16", 0xfc000, 0x04000, CRC(b827d883) SHA1(68d6c2127ef9e537471c414ca7baa89c63997bbb) )
+ ROM_COPY( REGION_CPU1, 0xf8000, 0x08000, 0x8000 )
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "sms.26", 0x0000, 0x1000, CRC(e04bb922) SHA1(1df90720f11a5b736273f43272d7727b3020f848) )
+
+ ROM_REGION( 0x4000, REGION_USER1, 0 )
+ ROM_LOAD( "sms.d1", 0x000000, 0x4000, CRC(04f627c0) SHA1(c656b66c60059a1b068c4a7262f07f4c136c34c1) )
+ ROM_LOAD( "sms.d2", 0x000000, 0x4000, CRC(13c9fe08) SHA1(6b7d055621ce578446d320f98f7a4cd095e756b0) )
+ ROM_LOAD( "sms.d3", 0x000000, 0x4000, CRC(8c5f62ef) SHA1(34ac235358a71620a6619dbb16255c363f34df53) )
+ ROM_LOAD( "sms.d4", 0x000000, 0x4000, CRC(76993bd1) SHA1(b9a97ab7c6d35f5fdda04342e0b3773618deedef) )
+ ROM_LOAD( "sms.d5", 0x000000, 0x4000, CRC(f1a37ed7) SHA1(687a610319b21091cbc53232b47eb99dabe12f02) )
+ ROM_LOAD( "sms.d6", 0x000000, 0x4000, CRC(5b12fd09) SHA1(15804480e65bfb3207d24a1679bb78d1ad491d70) )
+ ROM_LOAD( "sms.d7", 0x000000, 0x4000, CRC(d09946b6) SHA1(b5827945ce380f09ee758c4296f06f00ef3cbd0a) )
+ ROM_LOAD( "sms.d8", 0x000000, 0x4000, CRC(80096807) SHA1(a38b1b13365577c0c588b8e196ee1a6c774ce3a3) )
+ ROM_LOAD( "sms.d9", 0x000000, 0x4000, CRC(c1691ec9) SHA1(95725fa315944c0786e2a32d483703173eb2e730) )
+ ROM_LOAD( "sms.d10", 0x000000, 0x4000, CRC(df0da39f) SHA1(29103dca8b0c1967791e8ddd722153874e16bbda) )
+ ROM_LOAD( "sms.d11", 0x000000, 0x4000, CRC(114b4aa6) SHA1(2621d1042b0774d60be88cc8d62613aa07c12552) )
+ ROM_LOAD( "sms.d12", 0x000000, 0x4000, CRC(59a40e4f) SHA1(e726ce624c76ee527edc51c1e5757b7d433dcf8c) )
+ ROM_LOAD( "sms.d13", 0x000000, 0x4000, CRC(9bb8dbad) SHA1(0dd9ed23e6794a86a12906b326e984a2d58cc4c6) )
+ ROM_LOAD( "sms.d14", 0x000000, 0x4000, CRC(3bfe9b52) SHA1(0cdd9ec6ed784fab9272d50821994be5b0fd0532) )
+ ROM_LOAD( "sms.d15", 0x000000, 0x4000, CRC(bec225fe) SHA1(13252894eca30e06354885a21ecad43965cfd3ef) )
+ ROM_LOAD( "sms.d16", 0x000000, 0x4000, CRC(b700e7e6) SHA1(42b2c12c6af5f15d909e15ee3e7ca2e13e0142c2) )
+
+
+
+
+
+/*
+ ROM_LOAD( "sms.d17", 0x000000, 0x0001f3, CRC(e9eb78e7) SHA1(688e854e82c230d367c211f611e9a8298ab64399) )
+ ROM_LOAD( "sms.38", 0x000000, 0x0001f3, CRC(be17ebde) SHA1(22c05eeafeadc8f55b55951c2060fb4873146cba) )
+ ROM_LOAD( "sms.39", 0x000000, 0x0001f3, CRC(3299e803) SHA1(12f361d27497f6347ee26838fa9f675f6aac12c2) )
+ ROM_LOAD( "sms.40", 0x000000, 0x0001f3, CRC(22881f1c) SHA1(646fdc4e4a423e1432b448140f2d92dd2304ff71) )
+ ROM_LOAD( "sms.52", 0x000000, 0x0001f3, CRC(2e43ba5f) SHA1(8b87ee8ce21f5241260f2d0de4878096d8ecb5f5) )
+ ROM_LOAD( "sms.58", 0x000000, 0x0001f3, CRC(020b5108) SHA1(f3221fbce40a9d6fdc2eece606e4eded3faf5f02) )
+ ROM_LOAD( "sms.80", 0x000000, 0x0001f3, CRC(66e21ee5) SHA1(31c29a250f50dcdf531810e59068adfea4d2d9a3) )
+ ROM_LOAD( "sms.94", 0x000000, 0x000283, CRC(c5fda3df) SHA1(4fdd597d25ed893cb005165b68e48567fbd2b1ce) )
+ ROM_LOAD( "sms.109", 0x000000, 0x000283, CRC(15d05aaa) SHA1(57500b4825a1da943d79ee7df657efed56c4320e) )
+ ROM_LOAD( "sms.110", 0x000000, 0x0001f3, CRC(6263b1e1) SHA1(6c8d92bcbbc2d196b5ac7765888eaf171671d651) )
+ ROM_LOAD( "sms.128", 0x000000, 0x0001f3, CRC(fbaea5b0) SHA1(85a757485c26304d4ce718fd954aa4736cdc4752) )
+ ROM_LOAD( "sms.129", 0x000000, 0x0001f3, CRC(4722fb3b) SHA1(adc0a3c0721acaa5b447c7aee771703caab80dd9) )
+ ROM_LOAD( "sms.130", 0x000000, 0x0001f3, CRC(d3f0a6a5) SHA1(5e08b6104dfd3e463031b2b12619589a8f7b453c) )
+ ROM_LOAD( "sms.140", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.141", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.142", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.143", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.144", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.145", 0x000000, 0x000283, CRC(031f662d) SHA1(6fa072db3203cdb95262d7778a6ee8310423b3df) )
+ ROM_LOAD( "sms.d0", 0x000000, 0x0001f3, CRC(b1c221a7) SHA1(f63a022199a2d7b52c4c4827b170d49aae85e4e3) )
+*/
+ROM_END
+
+GAME( 1984, smstrv, 0, smstrv, ettrivia, 0, ROT0, "SMS MFG CORP", "Trivia (sms)", GAME_NOT_WORKING )