mirror of
https://github.com/holub/mame
synced 2025-06-05 20:33:45 +03:00
fixed tkdensho gfx rom loading
This commit is contained in:
parent
6d55f01443
commit
533ae64a25
@ -188,6 +188,7 @@ ae500w07.ad1 - M6295 Samples (23c4001)
|
|||||||
#include "sound/ymz280b.h"
|
#include "sound/ymz280b.h"
|
||||||
|
|
||||||
UINT16* tecmosys_spriteram;
|
UINT16* tecmosys_spriteram;
|
||||||
|
UINT16* tilemap_paletteram16;
|
||||||
|
|
||||||
static MACHINE_RESET( deroon );
|
static MACHINE_RESET( deroon );
|
||||||
|
|
||||||
@ -198,8 +199,8 @@ static TILE_GET_INFO( get_tile_info )
|
|||||||
SET_TILE_INFO(
|
SET_TILE_INFO(
|
||||||
0,
|
0,
|
||||||
videoram16[2*tile_index+1],
|
videoram16[2*tile_index+1],
|
||||||
videoram16[2*tile_index]&0xf,
|
(videoram16[2*tile_index]&0x3f),
|
||||||
0);
|
TILE_FLIPYX((videoram16[2*tile_index]&0xc0)>>6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -288,6 +289,19 @@ static WRITE16_HANDLER( eeprom_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INLINE void set_color_555(pen_t color, int rshift, int gshift, int bshift, UINT16 data)
|
||||||
|
{
|
||||||
|
palette_set_color_rgb(Machine, color, pal5bit(data >> rshift), pal5bit(data >> gshift), pal5bit(data >> bshift));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
WRITE16_HANDLER( tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w )
|
||||||
|
{
|
||||||
|
COMBINE_DATA(&tilemap_paletteram16[offset]);
|
||||||
|
set_color_555(offset+0x4000, 5, 10, 0, tilemap_paletteram16[offset]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||||
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM)
|
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM)
|
||||||
AM_RANGE(0x200000, 0x20ffff) AM_WRITE(SMH_RAM) // work ram
|
AM_RANGE(0x200000, 0x20ffff) AM_WRITE(SMH_RAM) // work ram
|
||||||
@ -301,7 +315,7 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
|
|||||||
//AM_RANGE(0x980000, 0x9807ff) AM_WRITE(SMH_RAM) // bg pal
|
//AM_RANGE(0x980000, 0x9807ff) AM_WRITE(SMH_RAM) // bg pal
|
||||||
//AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // fix pal
|
//AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16) // fix pal
|
||||||
// the two above are as tested by the game code, I've only rolled them into one below to get colours to show right.
|
// the two above are as tested by the game code, I've only rolled them into one below to get colours to show right.
|
||||||
AM_RANGE(0x980000, 0x980fff) //AM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&paletteram16)
|
AM_RANGE(0x980000, 0x980fff) AM_WRITE(tilemap_paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE(&tilemap_paletteram16)
|
||||||
|
|
||||||
AM_RANGE(0x880000, 0x88002f) AM_WRITE( unk880000_w ) // 10 byte dta@88000c, 880022=watchdog?
|
AM_RANGE(0x880000, 0x88002f) AM_WRITE( unk880000_w ) // 10 byte dta@88000c, 880022=watchdog?
|
||||||
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(eeprom_w )
|
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(eeprom_w )
|
||||||
@ -379,35 +393,12 @@ static const gfx_layout gfxlayout2 =
|
|||||||
128*8
|
128*8
|
||||||
};
|
};
|
||||||
|
|
||||||
static const gfx_layout gfxlayout3 =
|
|
||||||
{
|
|
||||||
16,16,
|
|
||||||
RGN_FRAC(1,1),
|
|
||||||
8,
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
|
||||||
{ 0*4, 1*8, 2*8, 3*8,
|
|
||||||
|
|
||||||
|
|
||||||
4*8, 5*8, 6*8, 7*8,
|
|
||||||
|
|
||||||
8*8,9*8,10*8,11*8,
|
|
||||||
12*8,13*8,14*8,15*8,
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
{ 0*128,1*128,2*128,3*128,4*128,5*128,6*128,7*128,8*128,9*128,10*128,11*128,12*128,13*128,14*128,15*128 },
|
|
||||||
|
|
||||||
128*16
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static GFXDECODE_START( tecmosys )
|
static GFXDECODE_START( tecmosys )
|
||||||
GFXDECODE_ENTRY( REGION_GFX2, 0, gfxlayout, 0x40*16, 16 )
|
GFXDECODE_ENTRY( REGION_GFX2, 0, gfxlayout, 0x4400, 0x40 )
|
||||||
GFXDECODE_ENTRY( REGION_GFX3, 0, gfxlayout2, 0, 16 )
|
GFXDECODE_ENTRY( REGION_GFX3, 0, gfxlayout2, 0x4000, 0x40 )
|
||||||
GFXDECODE_ENTRY( REGION_GFX1, 0, gfxlayout3, 0, 16 )
|
|
||||||
|
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
static WRITE8_HANDLER( deroon_bankswitch_w )
|
static WRITE8_HANDLER( deroon_bankswitch_w )
|
||||||
@ -464,10 +455,8 @@ static VIDEO_UPDATE(deroon)
|
|||||||
UINT8 *gfxsrc = memory_region ( REGION_GFX1 );
|
UINT8 *gfxsrc = memory_region ( REGION_GFX1 );
|
||||||
|
|
||||||
|
|
||||||
fillbitmap(bitmap,0x800,cliprect);
|
fillbitmap(bitmap,0x000,cliprect);
|
||||||
|
|
||||||
tilemap_mark_all_tiles_dirty(txt_tilemap);
|
|
||||||
tilemap_draw(bitmap,cliprect,txt_tilemap,0,0);
|
|
||||||
|
|
||||||
for (i=0;i<0x10000/2;i+=8)
|
for (i=0;i<0x10000/2;i+=8)
|
||||||
{
|
{
|
||||||
@ -481,8 +470,12 @@ static VIDEO_UPDATE(deroon)
|
|||||||
int ysize = 16;
|
int ysize = 16;
|
||||||
int colour;
|
int colour;
|
||||||
|
|
||||||
x = tecmosys_spriteram[i+0] & 0x1ff;
|
x = tecmosys_spriteram[i+0] & 0x3ff;
|
||||||
y = tecmosys_spriteram[i+1] & 0x1ff;
|
y = tecmosys_spriteram[i+1] & 0x3ff;
|
||||||
|
|
||||||
|
// if (x&0x200) x-=0x400;
|
||||||
|
// if (y&0x200) y-=0x400;
|
||||||
|
|
||||||
address = tecmosys_spriteram[i+5]| ((tecmosys_spriteram[i+4]&0x000f)<<16);
|
address = tecmosys_spriteram[i+5]| ((tecmosys_spriteram[i+4]&0x000f)<<16);
|
||||||
|
|
||||||
address*=256;
|
address*=256;
|
||||||
@ -512,7 +505,7 @@ static VIDEO_UPDATE(deroon)
|
|||||||
{
|
{
|
||||||
drawx = x + xcnt;
|
drawx = x + xcnt;
|
||||||
|
|
||||||
if ((drawx>0 && drawx<320) && (drawy>0 && drawy<240))
|
if ((drawx>0 && drawx<336) && (drawy>0 && drawy<256))
|
||||||
{
|
{
|
||||||
UINT8 data;
|
UINT8 data;
|
||||||
|
|
||||||
@ -534,6 +527,8 @@ static VIDEO_UPDATE(deroon)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tilemap_mark_all_tiles_dirty(txt_tilemap);
|
||||||
|
tilemap_draw(bitmap,cliprect,txt_tilemap,0,0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -681,16 +676,16 @@ ROM_START( tkdensho )
|
|||||||
ROM_LOAD( "aesprg-2.z1", 0x000000, 0x008000, CRC(43550ab6) SHA1(2580129ef8ebd9295249175de4ba985c752e06fe) )
|
ROM_LOAD( "aesprg-2.z1", 0x000000, 0x008000, CRC(43550ab6) SHA1(2580129ef8ebd9295249175de4ba985c752e06fe) )
|
||||||
ROM_CONTINUE( 0x010000, 0x018000 ) /* banked part */
|
ROM_CONTINUE( 0x010000, 0x018000 ) /* banked part */
|
||||||
|
|
||||||
ROM_REGION( 0x3000000, REGION_GFX1, ROMREGION_ERASE00 ) // Graphics - mostly (maybe all?) not tile based
|
ROM_REGION( 0x4000000, REGION_GFX1, ROMREGION_ERASE00 ) // Graphics - mostly (maybe all?) not tile based
|
||||||
ROM_LOAD16_BYTE( "ae100h.ah1", 0x0000000, 0x0400000, CRC(06be252b) SHA1(08d1bb569fd2e66e2c2f47da7780b31945232e62) )
|
ROM_LOAD16_BYTE( "ae100h.ah1", 0x0000000, 0x0400000, CRC(06be252b) SHA1(08d1bb569fd2e66e2c2f47da7780b31945232e62) )
|
||||||
ROM_LOAD16_BYTE( "ae100.al1", 0x0000001, 0x0400000, CRC(009cdff4) SHA1(fd88f07313d14fd4429b09a1e8d6b595df3b98e5) )
|
ROM_LOAD16_BYTE( "ae100.al1", 0x0000001, 0x0400000, CRC(009cdff4) SHA1(fd88f07313d14fd4429b09a1e8d6b595df3b98e5) )
|
||||||
ROM_LOAD16_BYTE( "ae101h.bh1", 0x0800000, 0x0400000, CRC(f2469eff) SHA1(ba49d15cc7949437ba9f56d9b425a5f0e62137df) )
|
ROM_LOAD16_BYTE( "ae101h.bh1", 0x0800000, 0x0400000, CRC(f2469eff) SHA1(ba49d15cc7949437ba9f56d9b425a5f0e62137df) )
|
||||||
ROM_LOAD16_BYTE( "ae101.bl1", 0x0800001, 0x0400000, CRC(db7791bb) SHA1(1fe40b747b7cee7a9200683192b1d60a735a0446) )
|
ROM_LOAD16_BYTE( "ae101.bl1", 0x0800001, 0x0400000, CRC(db7791bb) SHA1(1fe40b747b7cee7a9200683192b1d60a735a0446) )
|
||||||
ROM_LOAD16_BYTE( "ae102h.ch1", 0x1000000, 0x0200000, CRC(f9d2a343) SHA1(d141ac0b20be587e77a576ef78f15d269d9c84e5) )
|
ROM_LOAD16_BYTE( "ae102h.ch1", 0x1000000, 0x0200000, CRC(f9d2a343) SHA1(d141ac0b20be587e77a576ef78f15d269d9c84e5) )
|
||||||
ROM_LOAD16_BYTE( "ae102.cl1", 0x1000001, 0x0200000, CRC(681be889) SHA1(8044ca7cbb325e6dcadb409f91e0c01b88a1bca7) )
|
ROM_LOAD16_BYTE( "ae102.cl1", 0x1000001, 0x0200000, CRC(681be889) SHA1(8044ca7cbb325e6dcadb409f91e0c01b88a1bca7) )
|
||||||
ROM_LOAD16_BYTE( "ae104.el1", 0x1800001, 0x0400000, CRC(e431b798) SHA1(c2c24d4f395bba8c78a45ecf44009a830551e856) )
|
ROM_LOAD16_BYTE( "ae104.el1", 0x2000001, 0x0400000, CRC(e431b798) SHA1(c2c24d4f395bba8c78a45ecf44009a830551e856) )
|
||||||
ROM_LOAD16_BYTE( "ae105.fl1", 0x2000001, 0x0400000, CRC(b7f9ebc1) SHA1(987f664072b43a578b39fa6132aaaccc5fe5bfc2) )
|
ROM_LOAD16_BYTE( "ae105.fl1", 0x2800001, 0x0400000, CRC(b7f9ebc1) SHA1(987f664072b43a578b39fa6132aaaccc5fe5bfc2) )
|
||||||
ROM_LOAD16_BYTE( "ae106.gl1", 0x2800001, 0x0200000, CRC(7c50374b) SHA1(40865913125230122072bb13f46fb5fb60c088ea) )
|
ROM_LOAD16_BYTE( "ae106.gl1", 0x3000001, 0x0200000, CRC(7c50374b) SHA1(40865913125230122072bb13f46fb5fb60c088ea) )
|
||||||
|
|
||||||
ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE ) // 8x8 4bpp tiles
|
ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE ) // 8x8 4bpp tiles
|
||||||
ROM_LOAD( "ae300w36.bd1", 0x000000, 0x0080000, CRC(e829f29e) SHA1(e56bfe2669ed1d1ae394c644def426db129d97e3) )
|
ROM_LOAD( "ae300w36.bd1", 0x000000, 0x0080000, CRC(e829f29e) SHA1(e56bfe2669ed1d1ae394c644def426db129d97e3) )
|
||||||
@ -700,7 +695,7 @@ ROM_START( tkdensho )
|
|||||||
ROM_LOAD( "ae201w75.bb1", 0x100000, 0x0100000, CRC(3f63bdff) SHA1(0d3d57fdc0ec4bceef27c11403b3631d23abadbf) )
|
ROM_LOAD( "ae201w75.bb1", 0x100000, 0x0100000, CRC(3f63bdff) SHA1(0d3d57fdc0ec4bceef27c11403b3631d23abadbf) )
|
||||||
ROM_LOAD( "ae202w76.bc1", 0x200000, 0x0100000, CRC(5cc857ca) SHA1(2553fb5220433acc15dfb726dc064fe333e51d88) )
|
ROM_LOAD( "ae202w76.bc1", 0x200000, 0x0100000, CRC(5cc857ca) SHA1(2553fb5220433acc15dfb726dc064fe333e51d88) )
|
||||||
|
|
||||||
ROM_REGION( 0x400000, REGION_SOUND1, 0 ) // YMZ280B Samples
|
ROM_REGION( 0x800000, REGION_SOUND1, 0 ) // YMZ280B Samples
|
||||||
ROM_LOAD( "ae400t23.ya1", 0x000000, 0x200000, CRC(c6ffb043) SHA1(e0c6c5f6b840f63c9a685a2c3be66efa4935cbeb) )
|
ROM_LOAD( "ae400t23.ya1", 0x000000, 0x200000, CRC(c6ffb043) SHA1(e0c6c5f6b840f63c9a685a2c3be66efa4935cbeb) )
|
||||||
ROM_LOAD( "ae401t24.yb1", 0x200000, 0x200000, CRC(d83f1a73) SHA1(412b7ac9ff09a984c28b7d195330d78c4aac3dc5) )
|
ROM_LOAD( "ae401t24.yb1", 0x200000, 0x200000, CRC(d83f1a73) SHA1(412b7ac9ff09a984c28b7d195330d78c4aac3dc5) )
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user