Fixed framebuffer trails in Pro Golf, fixed a compile error from the previous commit

This commit is contained in:
Angelo Salese 2009-06-10 20:25:31 +00:00
parent f8376e83a3
commit 1c6fc044db
2 changed files with 42 additions and 10 deletions

View File

@ -8,7 +8,7 @@ TODO:
- We need to patch a rom to get the games to do more, there's also a "rom test error 6"
in service mode, so a rom might be bad or the decryption isn't complete.
- Hazards doesn't have any effect, might be the same issue as above;
- Framebuffer "chars" leaves trails;
- Map displays are currently wrong, they are drawn with the framebuffer;
- Sound in service mode loops without apparent reason;
- progolfa: decryption isn't yet correct;
@ -71,6 +71,7 @@ static WRITE8_HANDLER( progolf_charram_w )
{
deco_charram[offset] = data;
/* TODO: simplify this */
if(char_pen == 7)
{
progolf_fg_fb[offset*8+0] = 0;
@ -84,14 +85,45 @@ static WRITE8_HANDLER( progolf_charram_w )
}
else
{
progolf_fg_fb[offset*8+0] = data & 0x80 ? progolf_fg_fb[offset*8+0]|char_pen : progolf_fg_fb[offset*8+0];
progolf_fg_fb[offset*8+1] = data & 0x40 ? progolf_fg_fb[offset*8+1]|char_pen : progolf_fg_fb[offset*8+1];
progolf_fg_fb[offset*8+2] = data & 0x20 ? progolf_fg_fb[offset*8+2]|char_pen : progolf_fg_fb[offset*8+2];
progolf_fg_fb[offset*8+3] = data & 0x10 ? progolf_fg_fb[offset*8+3]|char_pen : progolf_fg_fb[offset*8+3];
progolf_fg_fb[offset*8+4] = data & 0x08 ? progolf_fg_fb[offset*8+4]|char_pen : progolf_fg_fb[offset*8+4];
progolf_fg_fb[offset*8+5] = data & 0x04 ? progolf_fg_fb[offset*8+5]|char_pen : progolf_fg_fb[offset*8+5];
progolf_fg_fb[offset*8+6] = data & 0x02 ? progolf_fg_fb[offset*8+6]|char_pen : progolf_fg_fb[offset*8+6];
progolf_fg_fb[offset*8+7] = data & 0x01 ? progolf_fg_fb[offset*8+7]|char_pen : progolf_fg_fb[offset*8+7];
if(progolf_fg_fb[offset*8+0] == char_pen)
progolf_fg_fb[offset*8+0] = data & 0x80 ? char_pen : 0;
else
progolf_fg_fb[offset*8+0] = data & 0x80 ? progolf_fg_fb[offset*8+0]|char_pen : progolf_fg_fb[offset*8+0];
if(progolf_fg_fb[offset*8+1] == char_pen)
progolf_fg_fb[offset*8+1] = data & 0x40 ? char_pen : 0;
else
progolf_fg_fb[offset*8+1] = data & 0x40 ? progolf_fg_fb[offset*8+1]|char_pen : progolf_fg_fb[offset*8+1];
if(progolf_fg_fb[offset*8+2] == char_pen)
progolf_fg_fb[offset*8+2] = data & 0x20 ? char_pen : 0;
else
progolf_fg_fb[offset*8+2] = data & 0x20 ? progolf_fg_fb[offset*8+2]|char_pen : progolf_fg_fb[offset*8+2];
if(progolf_fg_fb[offset*8+3] == char_pen)
progolf_fg_fb[offset*8+3] = data & 0x10 ? char_pen : 0;
else
progolf_fg_fb[offset*8+3] = data & 0x10 ? progolf_fg_fb[offset*8+3]|char_pen : progolf_fg_fb[offset*8+3];
if(progolf_fg_fb[offset*8+4] == char_pen)
progolf_fg_fb[offset*8+4] = data & 0x08 ? char_pen : 0;
else
progolf_fg_fb[offset*8+4] = data & 0x08 ? progolf_fg_fb[offset*8+4]|char_pen : progolf_fg_fb[offset*8+4];
if(progolf_fg_fb[offset*8+5] == char_pen)
progolf_fg_fb[offset*8+5] = data & 0x04 ? char_pen : 0;
else
progolf_fg_fb[offset*8+5] = data & 0x04 ? progolf_fg_fb[offset*8+5]|char_pen : progolf_fg_fb[offset*8+5];
if(progolf_fg_fb[offset*8+6] == char_pen)
progolf_fg_fb[offset*8+6] = data & 0x02 ? char_pen : 0;
else
progolf_fg_fb[offset*8+6] = data & 0x02 ? progolf_fg_fb[offset*8+6]|char_pen : progolf_fg_fb[offset*8+6];
if(progolf_fg_fb[offset*8+7] == char_pen)
progolf_fg_fb[offset*8+7] = data & 0x01 ? char_pen : 0;
else
progolf_fg_fb[offset*8+7] = data & 0x01 ? progolf_fg_fb[offset*8+7]|char_pen : progolf_fg_fb[offset*8+7];
}
}

View File

@ -4623,7 +4623,7 @@ GAME( 1981, royalmj, 0, royalmah, royalmah, 0, ROT0, "Nichibut
GAME( 1981?, openmj, royalmj, royalmah, royalmah, 0, ROT0, "Sapporo Mechanic", "Open Mahjong [BET] (Japan)", 0 )
GAME( 1982, royalmah, royalmj, royalmah, royalmah, 0, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 )
GAME( 1983, janyoup2, royalmj, ippatsu, janyoup2, 0, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 )
GAME( 1981, janputer, 0, royalmah, royalmah, 0, ROT0, "Ps Ltd. \ Mes", "New Double Bet Mahjong (Japan)", 0 )
GAME( 1981, janputer, 0, royalmah, royalmah, 0, ROT0, "Ps Ltd. / Mes", "New Double Bet Mahjong (Japan)", 0 )
GAME( 1984, janoh, 0, royalmah, royalmah, 0, ROT0, "Toaplan", "Jan Oh (set 1)", GAME_NOT_WORKING )
GAME( 1984, janoha, janoh, janoh, royalmah, 0, ROT0, "Toaplan", "Jan Oh (set 2)", GAME_NOT_WORKING ) // this one is complete?
GAME( 1985, jansou, 0, jansou, jansou, 0, ROT180, "Dyna", "Jansou (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )