Hng64 video spacing cleanup, variables declared where they're used, etc. (nw)

This commit is contained in:
Andrew Gardner 2015-10-07 10:36:41 +02:00
parent a6ee879290
commit 1d9f47281d

View File

@ -54,26 +54,24 @@
/* this is broken for the 'How to Play' screen in Buriki after attract, disabled for now */ /* this is broken for the 'How to Play' screen in Buriki after attract, disabled for now */
void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cliprect) void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cliprect)
{ {
UINT32 *hng64_tcram = m_tcram;
int i, j; int i, j;
// float colorScaleR, colorScaleG, colorScaleB; // float colorScaleR, colorScaleG, colorScaleB;
// float finR, finG, finB;
INT32 finR, finG, finB; INT32 finR, finG, finB;
INT32 darkR, darkG, darkB; INT32 darkR, darkG, darkB;
INT32 brigR, brigG, brigB; INT32 brigR, brigG, brigB;
// If either of the fading memory regions is non-zero... // If either of the fading memory regions is non-zero...
if (hng64_tcram[0x00000007] != 0x00000000 || hng64_tcram[0x0000000a] != 0x00000000) if (m_tcram[0x00000007] != 0x00000000 || m_tcram[0x0000000a] != 0x00000000)
{ {
darkR = (INT32)( hng64_tcram[0x00000007] & 0xff); darkR = (INT32)( m_tcram[0x00000007] & 0xff);
darkG = (INT32)((hng64_tcram[0x00000007] >> 8) & 0xff); darkG = (INT32)((m_tcram[0x00000007] >> 8) & 0xff);
darkB = (INT32)((hng64_tcram[0x00000007] >> 16) & 0xff); darkB = (INT32)((m_tcram[0x00000007] >> 16) & 0xff);
brigR = (INT32)( hng64_tcram[0x0000000a] & 0xff); brigR = (INT32)( m_tcram[0x0000000a] & 0xff);
brigG = (INT32)((hng64_tcram[0x0000000a] >> 8) & 0xff); brigG = (INT32)((m_tcram[0x0000000a] >> 8) & 0xff);
brigB = (INT32)((hng64_tcram[0x0000000a] >> 16) & 0xff); brigB = (INT32)((m_tcram[0x0000000a] >> 16) & 0xff);
for (i = cliprect.min_x; i < cliprect.max_x; i++) for (i = cliprect.min_x; i < cliprect.max_x; i++)
{ {
@ -87,9 +85,9 @@ void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cli
#if 0 #if 0
// Apply the darkening pass (0x07)... // Apply the darkening pass (0x07)...
colorScaleR = 1.0f - (float)( hng64_tcram[0x00000007] & 0xff) / 255.0f; colorScaleR = 1.0f - (float)( m_tcram[0x00000007] & 0xff) / 255.0f;
colorScaleG = 1.0f - (float)((hng64_tcram[0x00000007] >> 8) & 0xff) / 255.0f; colorScaleG = 1.0f - (float)((m_tcram[0x00000007] >> 8) & 0xff) / 255.0f;
colorScaleB = 1.0f - (float)((hng64_tcram[0x00000007] >> 16) & 0xff) / 255.0f; colorScaleB = 1.0f - (float)((m_tcram[0x00000007] >> 16) & 0xff) / 255.0f;
finR = ((float)thePixel->r() * colorScaleR); finR = ((float)thePixel->r() * colorScaleR);
finG = ((float)thePixel->g() * colorScaleG); finG = ((float)thePixel->g() * colorScaleG);
@ -97,9 +95,9 @@ void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cli
// Apply the lightening pass (0x0a)... // Apply the lightening pass (0x0a)...
colorScaleR = 1.0f + (float)( hng64_tcram[0x0000000a] & 0xff) / 255.0f; colorScaleR = 1.0f + (float)( m_tcram[0x0000000a] & 0xff) / 255.0f;
colorScaleG = 1.0f + (float)((hng64_tcram[0x0000000a] >> 8) & 0xff) / 255.0f; colorScaleG = 1.0f + (float)((m_tcram[0x0000000a] >> 8) & 0xff) / 255.0f;
colorScaleB = 1.0f + (float)((hng64_tcram[0x0000000a] >> 16) & 0xff) / 255.0f; colorScaleB = 1.0f + (float)((m_tcram[0x0000000a] >> 16) & 0xff) / 255.0f;
finR *= colorScaleR; finR *= colorScaleR;
finG *= colorScaleG; finG *= colorScaleG;
@ -114,7 +112,7 @@ void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cli
// Subtractive fading // Subtractive fading
if (hng64_tcram[0x00000007] != 0x00000000) if (m_tcram[0x00000007] != 0x00000000)
{ {
finR -= darkR; finR -= darkR;
finG -= darkG; finG -= darkG;
@ -122,7 +120,7 @@ void hng64_state::transition_control( bitmap_rgb32 &bitmap, const rectangle &cli
} }
// Additive fading // Additive fading
if (hng64_tcram[0x0000000a] != 0x00000000) if (m_tcram[0x0000000a] != 0x00000000)
{ {
finR += brigR; finR += brigR;
finG += brigG; finG += brigG;
@ -608,18 +606,10 @@ inline void hng64_state::hng64_tilemap_draw_roz(screen_device &screen, bitmap_rg
void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int tm ) void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int tm )
{ {
UINT32 *hng64_videoregs = m_videoregs; const UINT32 global_tileregs = m_videoregs[0x00];
UINT32 *hng64_videoram = m_videoram; const int global_dimensions = (global_tileregs & 0x03000000) >> 24;
tilemap_t* tilemap = 0;
UINT32 scrollbase = 0;
UINT32 tileregs = 0;
int transmask;
UINT32 global_tileregs = hng64_videoregs[0x00];
int debug_blend_enabled = 0; int debug_blend_enabled = 0;
int global_dimensions = (global_tileregs&0x03000000)>>24;
if ((m_additive_tilemap_debug&(1 << tm))) if ((m_additive_tilemap_debug&(1 << tm)))
debug_blend_enabled = 1; debug_blend_enabled = 1;
@ -628,27 +618,30 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
popmessage("unsupported global_dimensions on tilemaps"); popmessage("unsupported global_dimensions on tilemaps");
#endif #endif
UINT32 scrollbase = 0;
UINT32 tileregs = 0;
if (tm==0) if (tm==0)
{ {
scrollbase = (hng64_videoregs[0x04]&0x3fff0000)>>16; scrollbase = (m_videoregs[0x04]&0x3fff0000)>>16;
tileregs = (hng64_videoregs[0x02]&0xffff0000)>>16; tileregs = (m_videoregs[0x02]&0xffff0000)>>16;
} }
else if (tm==1) else if (tm==1)
{ {
scrollbase = (hng64_videoregs[0x04]&0x00003fff)>>0; scrollbase = (m_videoregs[0x04]&0x00003fff)>>0;
tileregs = (hng64_videoregs[0x02]&0x0000ffff)>>0; tileregs = (m_videoregs[0x02]&0x0000ffff)>>0;
} }
else if (tm==2) else if (tm==2)
{ {
scrollbase = (hng64_videoregs[0x05]&0x3fff0000)>>16; scrollbase = (m_videoregs[0x05]&0x3fff0000)>>16;
tileregs = (hng64_videoregs[0x03]&0xffff0000)>>16; tileregs = (m_videoregs[0x03]&0xffff0000)>>16;
} }
else if (tm==3) else if (tm==3)
{ {
scrollbase = (hng64_videoregs[0x05]&0x00003fff)>>0; scrollbase = (m_videoregs[0x05]&0x00003fff)>>0;
tileregs = (hng64_videoregs[0x03]&0x0000ffff)>>0; tileregs = (m_videoregs[0x03]&0x0000ffff)>>0;
} }
tilemap_t* tilemap = NULL;
if (global_dimensions==0) if (global_dimensions==0)
{ {
if (tileregs&0x0200) tilemap = m_tilemap[tm].m_tilemap_16x16; if (tileregs&0x0200) tilemap = m_tilemap[tm].m_tilemap_16x16;
@ -661,6 +654,7 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
} }
// set the transmask so our manual copy is correct // set the transmask so our manual copy is correct
int transmask = 0x00;
if (tileregs & 0x0400) if (tileregs & 0x0400)
transmask = 0xff; transmask = 0xff;
else else
@ -675,12 +669,12 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
// Floor buffer enables // Floor buffer enables
// TODO: the upper bit(s) in here are probably useful to check as well // TODO: the upper bit(s) in here are probably useful to check as well
const int floorInner0 = (hng64_videoregs[0x04] & 0x00000600) >> 9; const int floorInner0 = (m_videoregs[0x04] & 0x00000600) >> 9;
const int floorInner1 = (hng64_videoregs[0x05] & 0x06000000) >> 25; (void)floorInner1; const int floorInner1 = (m_videoregs[0x05] & 0x06000000) >> 25; (void)floorInner1;
const int floorInner2 = (hng64_videoregs[0x05] & 0x00000600) >> 9; const int floorInner2 = (m_videoregs[0x05] & 0x00000600) >> 9;
const int floorOuter0 = (hng64_videoregs[0x04] & 0x00001800) >> 11; const int floorOuter0 = (m_videoregs[0x04] & 0x00001800) >> 11;
const int floorOuter1 = (hng64_videoregs[0x05] & 0x18000000) >> 27; (void)floorOuter1; const int floorOuter1 = (m_videoregs[0x05] & 0x18000000) >> 27; (void)floorOuter1;
const int floorOuter2 = (hng64_videoregs[0x05] & 0x00001800) >> 11; const int floorOuter2 = (m_videoregs[0x05] & 0x00001800) >> 11;
// fprintf(stderr, "Buffers %d-%d %d-%d %d-%d\n", floorOuter2, floorInner2, floorOuter1, floorInner1, floorOuter0, floorInner0); // fprintf(stderr, "Buffers %d-%d %d-%d %d-%d\n", floorOuter2, floorInner2, floorOuter1, floorInner1, floorOuter0, floorInner0);
// TODO: This can likely be simplified with some &s and some <<s, but this works for now // TODO: This can likely be simplified with some &s and some <<s, but this works for now
@ -769,7 +763,7 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
{ {
clip.min_y = clip.max_y = line; clip.min_y = clip.max_y = line;
if (hng64_videoregs[0x00]&0x00010000) // disable all scrolling / zoom (test screen) (maybe) if (m_videoregs[0x00]&0x00010000) // disable all scrolling / zoom (test screen) (maybe)
{ {
// If this bit is active the scroll registers don't seem valid at all? // If this bit is active the scroll registers don't seem valid at all?
// It either disables zooming, or disables use of the scroll registers completely // It either disables zooming, or disables use of the scroll registers completely
@ -783,10 +777,10 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
} }
else else
{ {
xtopleft = (hng64_videoram[(0x40000+(line*0x10)+(scrollbase<<4))/4]); xtopleft = (m_videoram[(0x40000+(line*0x10)+(scrollbase<<4))/4]);
xmiddle = (hng64_videoram[(0x40004+(line*0x10)+(scrollbase<<4))/4]); // middle screen point xmiddle = (m_videoram[(0x40004+(line*0x10)+(scrollbase<<4))/4]); // middle screen point
ytopleft = (hng64_videoram[(0x40008+(line*0x10)+(scrollbase<<4))/4]); ytopleft = (m_videoram[(0x40008+(line*0x10)+(scrollbase<<4))/4]);
ymiddle = (hng64_videoram[(0x4000c+(line*0x10)+(scrollbase<<4))/4]); // middle screen point ymiddle = (m_videoram[(0x4000c+(line*0x10)+(scrollbase<<4))/4]); // middle screen point
} }
const int xinc = (xmiddle - xtopleft) / 512; const int xinc = (xmiddle - xtopleft) / 512;
@ -831,25 +825,25 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
if (0) if (0)
if (tm==2) if (tm==2)
popmessage("X %08x X %08x X %08x Y %08x Y %08x Y %08x", popmessage("X %08x X %08x X %08x Y %08x Y %08x Y %08x",
hng64_videoram[(0x40000+(scrollbase<<4))/4], m_videoram[(0x40000+(scrollbase<<4))/4],
hng64_videoram[(0x40004+(scrollbase<<4))/4], m_videoram[(0x40004+(scrollbase<<4))/4],
hng64_videoram[(0x40010+(scrollbase<<4))/4], m_videoram[(0x40010+(scrollbase<<4))/4],
/*hng64_videoram[(0x40014+(scrollbase<<4))/4],*/ // unused? (dupe value on fatfurwa, 00 on rest) /*m_videoram[(0x40014+(scrollbase<<4))/4],*/ // unused? (dupe value on fatfurwa, 00 on rest)
hng64_videoram[(0x40008+(scrollbase<<4))/4], m_videoram[(0x40008+(scrollbase<<4))/4],
hng64_videoram[(0x40018+(scrollbase<<4))/4], m_videoram[(0x40018+(scrollbase<<4))/4],
hng64_videoram[(0x4000c+(scrollbase<<4))/4]); m_videoram[(0x4000c+(scrollbase<<4))/4]);
/*hng64_videoram[(0x4001c+(scrollbase<<4))/4]);*/ // unused? (dupe value on fatfurwa, 00 on rest) /*m_videoram[(0x4001c+(scrollbase<<4))/4]);*/ // unused? (dupe value on fatfurwa, 00 on rest)
#endif #endif
xtopleft = (hng64_videoram[(0x40000+(scrollbase<<4))/4]); xtopleft = (m_videoram[(0x40000+(scrollbase<<4))/4]);
xalt = (hng64_videoram[(0x40004+(scrollbase<<4))/4]); // middle screen point xalt = (m_videoram[(0x40004+(scrollbase<<4))/4]); // middle screen point
xmiddle = (hng64_videoram[(0x40010+(scrollbase<<4))/4]); xmiddle = (m_videoram[(0x40010+(scrollbase<<4))/4]);
ytopleft = (hng64_videoram[(0x40008+(scrollbase<<4))/4]); ytopleft = (m_videoram[(0x40008+(scrollbase<<4))/4]);
yalt = (hng64_videoram[(0x40018+(scrollbase<<4))/4]); // middle screen point yalt = (m_videoram[(0x40018+(scrollbase<<4))/4]); // middle screen point
ymiddle = (hng64_videoram[(0x4000c+(scrollbase<<4))/4]); ymiddle = (m_videoram[(0x4000c+(scrollbase<<4))/4]);
xinc = (xmiddle - xtopleft) / 512; xinc = (xmiddle - xtopleft) / 512;
yinc = (ymiddle - ytopleft) / 512; yinc = (ymiddle - ytopleft) / 512;
@ -925,13 +919,13 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
if (0) if (0)
if (tm==2) if (tm==2)
popmessage("%08x %08x %08x %08x", popmessage("%08x %08x %08x %08x",
hng64_videoram[(0x40010+(scrollbase<<4))/4], m_videoram[(0x40010+(scrollbase<<4))/4],
hng64_videoram[(0x40014+(scrollbase<<4))/4], m_videoram[(0x40014+(scrollbase<<4))/4],
hng64_videoram[(0x40018+(scrollbase<<4))/4], m_videoram[(0x40018+(scrollbase<<4))/4],
hng64_videoram[(0x4001c+(scrollbase<<4))/4]); m_videoram[(0x4001c+(scrollbase<<4))/4]);
#endif #endif
if (hng64_videoregs[0x00]&0x00010000) // disable all scrolling / zoom (test screen) (maybe) if (m_videoregs[0x00]&0x00010000) // disable all scrolling / zoom (test screen) (maybe)
{ {
/* If this bit is active the scroll registers don't seem valid at all? /* If this bit is active the scroll registers don't seem valid at all?
It either disables zooming, or disables use of the scroll registers completely It either disables zooming, or disables use of the scroll registers completely
@ -946,10 +940,10 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
} }
else else
{ {
xtopleft = (hng64_videoram[(0x40000+(scrollbase<<4))/4]); xtopleft = (m_videoram[(0x40000+(scrollbase<<4))/4]);
xmiddle = (hng64_videoram[(0x40004+(scrollbase<<4))/4]); // middle screen point xmiddle = (m_videoram[(0x40004+(scrollbase<<4))/4]); // middle screen point
ytopleft = (hng64_videoram[(0x40008+(scrollbase<<4))/4]); ytopleft = (m_videoram[(0x40008+(scrollbase<<4))/4]);
ymiddle = (hng64_videoram[(0x4000c+(scrollbase<<4))/4]); // middle screen point ymiddle = (m_videoram[(0x4000c+(scrollbase<<4))/4]); // middle screen point
} }
xinc = (xmiddle - xtopleft) / 512; xinc = (xmiddle - xtopleft) / 512;
@ -1068,12 +1062,6 @@ void hng64_state::hng64_drawtilemap(screen_device &screen, bitmap_rgb32 &bitmap,
UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{ {
UINT32 *hng64_videoregs = m_videoregs;
UINT32 *hng64_videoram = m_videoram;
UINT32 *hng64_tcram = m_tcram;
UINT32 animmask;
UINT32 animbits;
UINT16 tileflags[4];
#if 1 #if 1
// press in sams64_2 attract mode for a nice debug screen from the game // press in sams64_2 attract mode for a nice debug screen from the game
@ -1103,38 +1091,40 @@ UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bit
bitmap.fill(hng64_tcram[0x50/4] & 0x10000 ? m_palette->black_pen() : m_palette->pen(0), cliprect); //FIXME: Is the register correct? check with HW tests bitmap.fill(m_tcram[0x50/4] & 0x10000 ? m_palette->black_pen() : m_palette->pen(0), cliprect); //FIXME: Is the register correct? check with HW tests
screen.priority().fill(0x00, cliprect); screen.priority().fill(0x00, cliprect);
if (m_screen_dis) if (m_screen_dis)
return 0; return 0;
animmask = hng64_videoregs[0x0b]; const UINT32 animmask = m_videoregs[0x0b];
animbits = hng64_videoregs[0x0c]; const UINT32 animbits = m_videoregs[0x0c];
tileflags[0] = hng64_videoregs[0x02]>>16;
tileflags[1] = hng64_videoregs[0x02]&0xffff;
tileflags[2] = hng64_videoregs[0x03]>>16;
tileflags[3] = hng64_videoregs[0x03]&0xffff;
/* if the auto-animation mask or bits have changed search for tiles using them and mark as dirty */ UINT16 tileflags[4];
tileflags[0] = m_videoregs[0x02] >> 16;
tileflags[1] = m_videoregs[0x02] & 0xffff;
tileflags[2] = m_videoregs[0x03] >> 16;
tileflags[3] = m_videoregs[0x03] & 0xffff;
// if the auto-animation mask or bits have changed search for tiles using them and mark as dirty
if ((m_old_animmask != animmask) || (m_old_animbits != animbits)) if ((m_old_animmask != animmask) || (m_old_animbits != animbits))
{ {
int tile_index; int tile_index;
for (tile_index=0;tile_index<128*128;tile_index++) for (tile_index=0;tile_index<128*128;tile_index++)
{ {
if (hng64_videoram[tile_index+(0x00000/4)]&0x200000) if (m_videoram[tile_index+(0x00000/4)] & 0x200000)
{ {
hng64_mark_tile_dirty(0, tile_index); hng64_mark_tile_dirty(0, tile_index);
} }
if (hng64_videoram[tile_index+(0x10000/4)]&0x200000) if (m_videoram[tile_index+(0x10000/4)] & 0x200000)
{ {
hng64_mark_tile_dirty(1, tile_index); hng64_mark_tile_dirty(1, tile_index);
} }
if (hng64_videoram[tile_index+(0x20000/4)]&0x200000) if (m_videoram[tile_index+(0x20000/4)] & 0x200000)
{ {
hng64_mark_tile_dirty(2, tile_index); hng64_mark_tile_dirty(2, tile_index);
} }
if (hng64_videoram[tile_index+(0x30000/4)]&0x200000) if (m_videoram[tile_index+(0x30000/4)] & 0x200000)
{ {
hng64_mark_tile_dirty(3, tile_index); hng64_mark_tile_dirty(3, tile_index);
} }
@ -1153,7 +1143,6 @@ UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bit
} }
} }
hng64_drawtilemap(screen,bitmap,cliprect, 3); hng64_drawtilemap(screen,bitmap,cliprect, 3);
hng64_drawtilemap(screen,bitmap,cliprect, 2); hng64_drawtilemap(screen,bitmap,cliprect, 2);
hng64_drawtilemap(screen,bitmap,cliprect, 1); hng64_drawtilemap(screen,bitmap,cliprect, 1);
@ -1179,13 +1168,11 @@ UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bit
src++; src++;
} }
} }
//printf("NEW FRAME!\n"); /* Debug - ajg */
} }
draw_sprites(screen, bitmap,cliprect); draw_sprites(screen, bitmap,cliprect);
if(0) // transition_control(bitmap, cliprect);
transition_control(bitmap, cliprect);
#if HNG64_VIDEO_DEBUG #if HNG64_VIDEO_DEBUG
if (0) if (0)
@ -1193,24 +1180,24 @@ UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bit
if (1) if (1)
popmessage("%08x %08x TR(%04x %04x %04x %04x) SB(%04x %04x %04x %04x) %08x %08x %08x %08x %08x AA(%08x %08x) %08x", popmessage("%08x %08x TR(%04x %04x %04x %04x) SB(%04x %04x %04x %04x) %08x %08x %08x %08x %08x AA(%08x %08x) %08x",
hng64_videoregs[0x00], m_videoregs[0x00],
hng64_videoregs[0x01], m_videoregs[0x01],
(hng64_videoregs[0x02]>>16)&0x01ff, // ---- bits we're sure about are masked out (m_videoregs[0x02]>>16)&0x01ff, // ---- bits we're sure about are masked out
(hng64_videoregs[0x02]>>0)&0x01ff, // ss64_2 debug mode indicates that 0x0040 is enable! (m_videoregs[0x02]>>0)&0x01ff, // ss64_2 debug mode indicates that 0x0040 is enable!
(hng64_videoregs[0x03]>>16)&0x01ff, // buriki agrees (debug data on text layer) xrally agress (pink layer) (m_videoregs[0x03]>>16)&0x01ff, // buriki agrees (debug data on text layer) xrally agress (pink layer)
(hng64_videoregs[0x03]>>0)&0x01ff, // fatal fury doesn't (all backgrounds have it set) joy (m_videoregs[0x03]>>0)&0x01ff, // fatal fury doesn't (all backgrounds have it set) joy
(hng64_videoregs[0x04]>>16)&0xffff, (m_videoregs[0x04]>>16)&0xffff,
(hng64_videoregs[0x04]>>0)&0xffff, (m_videoregs[0x04]>>0)&0xffff,
(hng64_videoregs[0x05]>>16)&0xffff, (m_videoregs[0x05]>>16)&0xffff,
(hng64_videoregs[0x05]>>0)&0xffff, (m_videoregs[0x05]>>0)&0xffff,
hng64_videoregs[0x06], m_videoregs[0x06],
hng64_videoregs[0x07], m_videoregs[0x07],
hng64_videoregs[0x08], m_videoregs[0x08],
hng64_videoregs[0x09], m_videoregs[0x09],
hng64_videoregs[0x0a], m_videoregs[0x0a],
hng64_videoregs[0x0b], m_videoregs[0x0b],
hng64_videoregs[0x0c], m_videoregs[0x0c],
hng64_videoregs[0x0d]); m_videoregs[0x0d]);
if (0) if (0)
popmessage("3D: %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x", popmessage("3D: %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x",
@ -1220,30 +1207,30 @@ UINT32 hng64_state::screen_update_hng64(screen_device &screen, bitmap_rgb32 &bit
if (0) if (0)
popmessage("TC: %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x", popmessage("TC: %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x : %08x %08x %08x %08x",
hng64_tcram[0x00/4], m_tcram[0x00/4],
hng64_tcram[0x04/4], m_tcram[0x04/4],
hng64_tcram[0x08/4], // tilemaps 0/1 ? m_tcram[0x08/4], // tilemaps 0/1 ?
hng64_tcram[0x0c/4], // ss64_2 debug 04000000 = 'half' on tm1 00000004 = 'half' on tm3 (used in transitions?) m_tcram[0x0c/4], // ss64_2 debug 04000000 = 'half' on tm1 00000004 = 'half' on tm3 (used in transitions?)
hng64_tcram[0x10/4], m_tcram[0x10/4],
hng64_tcram[0x14/4], m_tcram[0x14/4],
hng64_tcram[0x18/4], m_tcram[0x18/4],
hng64_tcram[0x1c/4], m_tcram[0x1c/4],
hng64_tcram[0x20/4], m_tcram[0x20/4],
hng64_tcram[0x24/4], m_tcram[0x24/4],
hng64_tcram[0x28/4], m_tcram[0x28/4],
hng64_tcram[0x2c/4], m_tcram[0x2c/4],
hng64_tcram[0x30/4], m_tcram[0x30/4],
hng64_tcram[0x34/4], m_tcram[0x34/4],
hng64_tcram[0x38/4], m_tcram[0x38/4],
hng64_tcram[0x3c/4], m_tcram[0x3c/4],
hng64_tcram[0x40/4], m_tcram[0x40/4],
hng64_tcram[0x44/4], m_tcram[0x44/4],
hng64_tcram[0x48/4], m_tcram[0x48/4],
hng64_tcram[0x4c/4], m_tcram[0x4c/4],
hng64_tcram[0x50/4], m_tcram[0x50/4],
hng64_tcram[0x54/4], m_tcram[0x54/4],
hng64_tcram[0x58/4], m_tcram[0x58/4],
hng64_tcram[0x5c/4]); m_tcram[0x5c/4]);
if ( machine().input().code_pressed_once(KEYCODE_T) ) if ( machine().input().code_pressed_once(KEYCODE_T) )
{ {