Previous 199869 Revisions Next

r21502 Friday 1st March, 2013 at 01:53:11 UTC by David Haywood
various bits.. f4 vram viewer ;-)
[src/mame/drivers]gunpey.c

trunk/src/mame/drivers/gunpey.c
r21501r21502
220220   TIMER_DEVICE_CALLBACK_MEMBER(gunpey_scanline);
221221   void gunpey_irq_check(UINT8 irq_type);
222222   UINT16 m_vram_bank;
223
224   UINT16 main_vram[0x800][0x800];
223225};
224226
225227
r21501r21502
398400{
399401//   UINT16 *blit_buffer = m_blit_buffer;
400402   UINT16 *blit_ram = m_blit_ram;
401//   UINT8 *blit_rom = memregion("blit_data")->base();
402//   int x,y;
403   UINT8 *blit_rom = memregion("blit_data")->base();
404   UINT8 *vram = memregion("vram")->base();
403405
406   //   int x,y;
407
404408   //printf("gunpey_blitter_w offset %01x data %02x\n", offset,data);
405409
406410   blit_ram[offset] = data;
r21501r21502
415419      int ysize = blit_ram[0x0e]+1;
416420//      int color,color_offs;
417421
418      printf("%04x %04x %04x %04x %02x %02x\n",srcx,srcy,dstx,dsty,xsize,ysize);
422/*
423     printf("%02x %02x %02x %02x| (X SRC 4: %02x 5: %02x (val %04x))  (Y SRC 6: %02x 7: %02x (val %04x))  | (X DEST 8: %02x 9: %02x (val %04x))  (Y DEST a: %02x b: %02x (val %04x)) |  %02x %02x %02x %02x\n"
424      ,blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3]
419425
426
427      ,blit_ram[4],blit_ram[5], srcx
428      ,blit_ram[6],blit_ram[7], srcy
429
430      ,blit_ram[8],blit_ram[9], dstx
431      ,blit_ram[0xa],blit_ram[0xb], dsty
432       ,blit_ram[0xc],
433         
434         blit_ram[0xd],blit_ram[0xe],blit_ram[0xf]);
435*/
436      //if (srcx & 0xf800) printf("(error srcx &0xf800)");
437      //if (srcy & 0xf800) printf("(error srcy &0xf800)");
438
439
420440      gunpey_irq_check(4);
421441
422      #if 0
423      if(blit_ram[0x01] == 8) //1bpp?
442      for (int y=0;y<ysize;y++)
424443      {
425         // ...
444         for (int x=0;x<xsize;x++)
445         {
446            vram[(((dsty+y)&0x7ff)*0x800)+((dstx+x)&0x7ff)] = blit_rom[(((srcy+y)&0x7ff)*0x800)+((srcx+x)&0x7ff)];
447         }
426448      }
427      else //4bpp
428      {
429         for(y=0;y<ysize;y++)
430         {
431            for(x=0;x<xsize;x+=2)
432            {
433               UINT32 src_index = ((srcy+y)*2048+(srcx+x)) & 0x3fffff;
434               UINT32 dst_index = ((dsty+y)*512+(dstx+x)) & 0x3ffff;
435449
436               color_offs = ((blit_rom[src_index] & 0xf0)>>4) + 0x10;
437               color = (blit_rom[color_offs*2+0x3B1DFD]) | (blit_rom[color_offs*2+0x3B1DFD+1]<<8);
438               blit_buffer[dst_index+1] = color;
450     
439451
440               color_offs = ((blit_rom[src_index] & 0xf)>>0) + 0x10;
441               color = (blit_rom[color_offs*2+0x3B1DFD]) | (blit_rom[color_offs*2+0x3B1DFD+1]<<8);
442               blit_buffer[dst_index] = color;
443            }
444         }
445      }
446      #endif
447452/*
448453      printf("%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x|%02x %02x %02x %02x\n"
449454      ,blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3]
r21501r21502
652657static GFXDECODE_START( gunpey )
653658   GFXDECODE_ENTRY( "blit_data", 0, gunpey,     0x0000, 0x1 )
654659   GFXDECODE_ENTRY( "fakerom", 0x18000, fake_layout,   0x0, 2  )
660   GFXDECODE_ENTRY( "vram", 0, gunpey,     0x0000, 0x1 )
655661
656662GFXDECODE_END
657663
r21501r21502
700706
701707   ROM_REGION( 0x400000, "blit_data", 0 )
702708   ROM_LOAD( "gp_rom3.025",  0x00000, 0x400000,  CRC(f2d1f9f0) SHA1(0d20301fd33892074508b9d127456eae80cc3a1c) )
709   ROM_REGION( 0x400000, "vram", ROMREGION_ERASEFF )
703710
704711   ROM_REGION( 0x400000, "ymz", 0 )
705712   ROM_LOAD( "gp_rom4.525",  0x000000, 0x400000, CRC(78dd1521) SHA1(91d2046c60e3db348f29f776def02e3ef889f2c1) ) // 11xxxxxxxxxxxxxxxxxxxx = 0xFF

Previous 199869 Revisions Next


© 1997-2024 The MAME Team