mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
pgm2: kof98umh resolution is 320x240 instead, extra lines are needed at both top and bottom (nw)
also it seems to be playable, so just mark it as IMPERFECT SOUND for now
This commit is contained in:
parent
f9ab8085e5
commit
33ba33021e
@ -320,6 +320,33 @@ WRITE32_MEMBER(pgm2_state::mcu_w)
|
||||
mcu_command(space, false);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(pgm2_state::unk30120014_w)
|
||||
{
|
||||
if (offset == 0)
|
||||
{
|
||||
// 0/1 toggles (maybe sprite dma triggers?)
|
||||
}
|
||||
else
|
||||
{
|
||||
// interesting data
|
||||
//printf("unk30120014_w %d %04x\n", offset, data);
|
||||
}
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(pgm2_state::unk30120018_w)
|
||||
{
|
||||
if (offset == 0)
|
||||
{
|
||||
// writes 1 (maybe sprite enable)
|
||||
}
|
||||
else
|
||||
{
|
||||
// writes 0 (rarely)
|
||||
//printf("unk30120018_w %d %04x\n", offset, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
|
||||
AM_RANGE(0x00000000, 0x00003fff) AM_ROM //AM_REGION("user1", 0x00000) // internal ROM
|
||||
|
||||
@ -357,6 +384,8 @@ static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
|
||||
AM_RANGE(0x30120000, 0x30120003) AM_RAM AM_SHARE("bgscroll") // scroll
|
||||
AM_RANGE(0x30120008, 0x3012000b) AM_RAM AM_SHARE("fgscroll")
|
||||
AM_RANGE(0x3012000c, 0x3012000f) AM_RAM AM_SHARE("vidmode")
|
||||
AM_RANGE(0x30120014, 0x30120017) AM_WRITE16(unk30120014_w, 0xffffffff)
|
||||
AM_RANGE(0x30120018, 0x3012001b) AM_WRITE16(unk30120018_w, 0xffffffff)
|
||||
AM_RANGE(0x30120030, 0x30120033) AM_WRITE16(share_bank_w, 0xffff0000)
|
||||
AM_RANGE(0x30120038, 0x3012003b) AM_WRITE(sprite_encryption_w)
|
||||
// there are other 0x301200xx regs
|
||||
@ -576,8 +605,7 @@ MACHINE_CONFIG_END
|
||||
// not strictly needed as the video code supports changing on the fly, but makes recording easier etc.
|
||||
static MACHINE_CONFIG_DERIVED( pgm2_lores, pgm2 )
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
// note, +8 to y position too, could be a sprite reg to move sprites intead
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0+8, 224+8-1)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1126,7 +1154,7 @@ GAME( 2011, kov3_102, kov3, pgm2, pgm2, pgm2_state, kov3_102, ROT0,
|
||||
GAME( 2011, kov3_100, kov3, pgm2, pgm2, pgm2_state, kov3_100, ROT0, "IGS", "Knights of Valour 3 (V100, China)", MACHINE_NOT_WORKING )
|
||||
|
||||
// King of Fighters '98: Ultimate Match Hero
|
||||
GAME( 2009, kof98umh, 0, pgm2_lores, pgm2, pgm2_state, kof98umh, ROT0, "IGS / SNK Playmore / NewChannel", "The King of Fighters '98: Ultimate Match HERO (China, V100, 09-08-23)", MACHINE_NOT_WORKING )
|
||||
GAME( 2009, kof98umh, 0, pgm2_lores, pgm2, pgm2_state, kof98umh, ROT0, "IGS / SNK Playmore / New Channel", "The King of Fighters '98: Ultimate Match HERO (China, V100, 09-08-23)", MACHINE_IMPERFECT_SOUND )
|
||||
|
||||
// Jigsaw World Arena
|
||||
|
||||
|
@ -55,7 +55,9 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(share_bank_w);
|
||||
DECLARE_READ8_MEMBER(shareram_r);
|
||||
DECLARE_WRITE8_MEMBER(shareram_w);
|
||||
|
||||
DECLARE_WRITE16_MEMBER(unk30120014_w);
|
||||
DECLARE_WRITE16_MEMBER(unk30120018_w);
|
||||
|
||||
DECLARE_READ32_MEMBER(orleg2_speedup_r);
|
||||
DECLARE_READ32_MEMBER(kov2nl_speedup_r);
|
||||
DECLARE_READ32_MEMBER(kof98umh_speedup_r);
|
||||
|
@ -266,8 +266,8 @@ uint32_t pgm2_state::screen_update_pgm2(screen_device &screen, bitmap_rgb32 &bit
|
||||
|
||||
if (mode)
|
||||
m_screen->set_visible_area(0, 448 - 1, 0, 224 - 1);
|
||||
else // note, +8 to y position too, could be a sprite reg to move sprites intead
|
||||
m_screen->set_visible_area(0, 320 - 1, 8, 224 + 8 - 1);
|
||||
else
|
||||
m_screen->set_visible_area(0, 320 - 1, 0, 240 - 1);
|
||||
|
||||
|
||||
m_fg_tilemap->set_scrollx(0, m_fgscroll[0] & 0xffff);
|
||||
|
Loading…
Reference in New Issue
Block a user