From 355fc6dc01ba66ace9fa60e8d1aee0a9ebd6aa70 Mon Sep 17 00:00:00 2001 From: davidhay Date: Sat, 7 Jun 2008 18:15:34 +0000 Subject: [PATCH] identified blackt96 text layer --- src/mame/drivers/blackt96.c | 92 ++++++++++++++++++++++++++----------- 1 file changed, 66 insertions(+), 26 deletions(-) diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c index 8c40598eb0d..7a3eff4627d 100644 --- a/src/mame/drivers/blackt96.c +++ b/src/mame/drivers/blackt96.c @@ -1,6 +1,6 @@ /* - Black Touch '96 + Black Touch '96 Black Touch 96 @@ -49,39 +49,57 @@ VIDEO_START( blackt96 ) } +UINT16* blackt96_tilemapram; + VIDEO_UPDATE( blackt96 ) { + int y,x; + int count = 0; + const gfx_element *gfx = screen->machine->gfx[2]; + + for (x=0;x<64;x++) + { + for (y=0;y<32;y++) + { + UINT16 tile = blackt96_tilemapram[count*2]+0x800; + + drawgfx(bitmap,gfx,tile,0,0,0,x*8,y*8,cliprect,TRANSPARENCY_NONE,0); + count++; + } + + } + return 0; } static READ16_HANDLER( blackt96_80000_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static READ16_HANDLER( blackt96_c0000_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static READ16_HANDLER( blackt96_e0000_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static READ16_HANDLER( blackt96_e8000_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static READ16_HANDLER( blackt96_f0000_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static READ16_HANDLER( blackt96_f0008_r ) { - return 0x0000; + return mame_rand(machine);//0xffff;//0x0000; } static WRITE16_HANDLER( blackt96_c0000_w ) @@ -98,8 +116,8 @@ static ADDRESS_MAP_START( blackt96_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0f0000, 0x0f0001) AM_READ(blackt96_f0000_r) AM_RANGE(0x0f0008, 0x0f0009) AM_READ(blackt96_f0008_r) - AM_RANGE(0x100000, 0x100fff) AM_RAM - AM_RANGE(0x200000, 0x207fff) AM_RAM + AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE(&blackt96_tilemapram) // text tilemap? + AM_RANGE(0x200000, 0x207fff) AM_RAM // sprite list? AM_RANGE(0x400000, 0x400fff) AM_RAM AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram @@ -126,11 +144,33 @@ static const gfx_layout blackt96_layout = 32*64 }; +static const gfx_layout blackt962_layout = +{ + 8,16, + RGN_FRAC(1,1), + 4, + { 0,1,2,3 }, + { 0,4,8,12,16,20,24,28 }, + { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32,11*32,12*32,13*32,14*32,15*32}, + 16*32 +}; + +/* wrong layout, but we can see some tiles */ +static const gfx_layout blackt963_layout = +{ + 8,8, + RGN_FRAC(1,1), + 4, + { 0,4 }, + { 131,130,129,128,3,2,1,0 }, + { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 }, + 16*16 +}; static GFXDECODE_START( blackt96 ) GFXDECODE_ENTRY( REGION_GFX1, 0, blackt96_layout, 0x0, 2 ) - GFXDECODE_ENTRY( REGION_GFX2, 0, blackt96_layout, 0x0, 2 ) - GFXDECODE_ENTRY( REGION_GFX3, 0, blackt96_layout, 0x0, 2 ) + GFXDECODE_ENTRY( REGION_GFX2, 0, blackt963_layout, 0x0, 2 ) + GFXDECODE_ENTRY( REGION_GFX3, 0, blackt963_layout, 0x0, 2 ) GFXDECODE_END @@ -145,8 +185,8 @@ static MACHINE_DRIVER_START( blackt96 ) MDRV_SCREEN_REFRESH_RATE(60) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_SIZE(64*8, 32*8) - MDRV_SCREEN_VISIBLE_AREA(8*8, 48*8-1, 2*8, 30*8-1) + MDRV_SCREEN_SIZE(64*16, 64*8) + MDRV_SCREEN_VISIBLE_AREA(0*8, 8*32-1, 0*8, 8*32-1) MDRV_PALETTE_LENGTH(0x200) @@ -178,21 +218,21 @@ ROM_START( blackt96 ) ROM_REGION( 0x040000, REGION_SOUND2, 0 ) /* Samples */ ROM_LOAD( "2", 0x00000, 0x40000, CRC(94009cd4) SHA1(aa36298e280c20bf86d70f3eb3fb33aca4df07e3) ) - ROM_REGION( 0x180000, REGION_GFX1, 0 ) // tiles, 16x16x8 - ROM_LOAD16_BYTE( "5", 0x00000, 0x40000, CRC(6e52c331) SHA1(31ef1d352d4ee5f7b3ef336b1f052c3a1468f22e) ) - ROM_LOAD16_BYTE( "6", 0x00001, 0x40000, CRC(69637a5a) SHA1(a5731478856d8bb91d34b747838b2b47772864ef) ) - ROM_LOAD16_BYTE( "7", 0x80000, 0x80000, CRC(6b04e8a8) SHA1(309ba1efd60600a30e1ae8f6e8b92939c23cd9c6) ) - ROM_LOAD16_BYTE( "8", 0x80001, 0x80000, CRC(16c656be) SHA1(06c40c16080a97b01a638776d28f36594ce4fb3b) ) + ROM_REGION( 0x400000, REGION_GFX1, 0 ) // tiles, 16x16x8 + ROM_LOAD16_BYTE( "5", 0x100000, 0x40000, CRC(6e52c331) SHA1(31ef1d352d4ee5f7b3ef336b1f052c3a1468f22e) ) + ROM_LOAD16_BYTE( "6", 0x100001, 0x40000, CRC(69637a5a) SHA1(a5731478856d8bb91d34b747838b2b47772864ef) ) + ROM_LOAD16_BYTE( "7", 0x00000, 0x80000, CRC(6b04e8a8) SHA1(309ba1efd60600a30e1ae8f6e8b92939c23cd9c6) ) + ROM_LOAD16_BYTE( "8", 0x00001, 0x80000, CRC(16c656be) SHA1(06c40c16080a97b01a638776d28f36594ce4fb3b) ) - ROM_REGION( 0x100000, REGION_GFX2, 0 ) // not tiles? - ROM_LOAD( "11", 0x00000, 0x40000, CRC(9eb773a3) SHA1(9c91ee938438a61f5fa650ced6249e34aa5321bd) ) - ROM_LOAD( "12", 0x40000, 0x40000, CRC(8894e608) SHA1(389974a0b208b7cbf7d5f83641ddc058ad5ebe87) ) - ROM_LOAD( "13", 0x80000, 0x40000, CRC(0acceb9d) SHA1(e8a85c7eab45d84613ac37a9b7ffbc45b44eb2e5) ) - ROM_LOAD( "14", 0xc0000, 0x40000, CRC(b5e3de25) SHA1(33ac5602ab6bcadc8b0d1aa805a3bdce0b67c215) ) + ROM_REGION( 0x100000, REGION_GFX2, 0 ) // sprite tiles?? (or not tiles?) + ROM_LOAD32_BYTE( "11", 0x00000, 0x40000, CRC(9eb773a3) SHA1(9c91ee938438a61f5fa650ced6249e34aa5321bd) ) + ROM_LOAD32_BYTE( "12", 0x00001, 0x40000, CRC(8894e608) SHA1(389974a0b208b7cbf7d5f83641ddc058ad5ebe87) ) + ROM_LOAD32_BYTE( "13", 0x00002, 0x40000, CRC(0acceb9d) SHA1(e8a85c7eab45d84613ac37a9b7ffbc45b44eb2e5) ) + ROM_LOAD32_BYTE( "14", 0x00003, 0x40000, CRC(b5e3de25) SHA1(33ac5602ab6bcadc8b0d1aa805a3bdce0b67c215) ) - ROM_REGION( 0x100000, REGION_GFX3, 0 ) // not tiles? - ROM_LOAD( "9", 0x00000, 0x10000, CRC(81a4cf4c) SHA1(94b2bbcbc8327d9babbc3b222bd88954c7e7b80e) ) - ROM_LOAD( "10", 0x10000, 0x10000, CRC(b78232a2) SHA1(36a4f01011faf64e46b73f0082ab04843ac8b0e2) ) + ROM_REGION( 0x20000, REGION_GFX3, 0 ) // txt tiles + ROM_LOAD16_BYTE( "9", 0x00000, 0x10000, CRC(81a4cf4c) SHA1(94b2bbcbc8327d9babbc3b222bd88954c7e7b80e) ) + ROM_LOAD16_BYTE( "10", 0x00001, 0x10000, CRC(b78232a2) SHA1(36a4f01011faf64e46b73f0082ab04843ac8b0e2) ) ROM_END GAME( 1996, blackt96, 0, blackt96, blackt96, 0, ROT0, "D.G.R.M.", "Black Touch '96", GAME_NOT_WORKING )