diff options
author | Angelo Salese <salese_corp_ltd@email.it> | 2015-02-19 00:59:01 +0100 |
---|---|---|
committer | Angelo Salese <salese_corp_ltd@email.it> | 2015-02-19 00:59:01 +0100 |
commit | ea2381d083189c218cd0d04a2396c4046c36c481 (patch) | |
tree | f0bca5c8e98679c86bd363c77b23a3f80db01c81 | |
parent | 95db79cfe06064d281e8b5505eee67f63de384ce (diff) |
Fixed kanji attribute strips
-rw-r--r-- | src/mess/drivers/pc9801.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c index c3cbef18c5b..60a3a715690 100644 --- a/src/mess/drivers/pc9801.c +++ b/src/mess/drivers/pc9801.c @@ -102,8 +102,7 @@ - Sorcerian, Twilight Zone 3: Fails initial booting, issue with 2dd irq? - The Incredible Machine: hangs at main menu (YM mis-fires irq?) - Uchiyama Aki no Chou Bangai: keyboard irq is fussy (sometimes it doesn't register a key press); - - Uno: uses EGC - - Viper V16 Demo: moans with a JP message; + - Uno: has minor EGC gfx bugs; - Windows 2: EGC drawing issue (byte wide writes?) per-game TODO (PC-9821): @@ -882,18 +881,22 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( pc9801_state::hgdc_draw_text ) else x_step = 1; - attr = (m_video_ram_1[(tile_addr & 0xfff) | 0x1000] & 0xff); - secret = (attr & 1) ^ 1; - blink = attr & 2; - reverse = attr & 4; - u_line = attr & 8; - v_line = (m_video_ff[ATTRSEL_REG]) ? 0 : attr & 0x10; - gfx_mode = (m_video_ff[ATTRSEL_REG]) ? attr & 0x10 : 0; - color = (attr & 0xe0) >> 5; for(kanji_lr=0;kanji_lr<x_step;kanji_lr++) { + /* Rori Rori Rolling definitely uses different colors for brake stop PCG elements, + assume that all attributes are recalculated on different strips */ + attr = (m_video_ram_1[((tile_addr+kanji_lr) & 0xfff) | 0x1000] & 0xff); + + secret = (attr & 1) ^ 1; + blink = attr & 2; + reverse = attr & 4; + u_line = attr & 8; + v_line = (m_video_ff[ATTRSEL_REG]) ? 0 : attr & 0x10; + gfx_mode = (m_video_ff[ATTRSEL_REG]) ? attr & 0x10 : 0; + color = (attr & 0xe0) >> 5; + for(yi=0;yi<lr;yi++) { for(xi=0;xi<8;xi++) |