summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/pc9801.c
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2012-12-15 01:40:28 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2012-12-15 01:40:28 +0000
commit25000676f5827115bdce3b02c60f295b7904e0f6 (patch)
tree5dc0c4a6328f9554a80bdbcfd5e28f131f430ab1 /src/mess/drivers/pc9801.c
parent15cce151955b975b7376d0bb46d190f3d2ed8ee6 (diff)
Fixed kanji display in Bells Avenue
Diffstat (limited to 'src/mess/drivers/pc9801.c')
-rw-r--r--src/mess/drivers/pc9801.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c
index 0b53b92468d..97e61f013e0 100644
--- a/src/mess/drivers/pc9801.c
+++ b/src/mess/drivers/pc9801.c
@@ -49,6 +49,12 @@
- Atlantia (disk swap?)
- Azusa 108 Jimusho
- Bacta 2
+ - BattleTech (disk swap?)
+ - Bay City Elegy (disk swap?)
+ - Beast (keeps reading command sense)
+ - Beast 2
+ - Bells Avenue (disk swap?)
+
- Bokosuka Wars
- Dokkin Minako Sensei (2dd image)
- Jangou 2: floppy fails to load after the title screen;
@@ -74,6 +80,8 @@
- Asoko no Koufuku: black screen with BGM, waits at 0x225f6;
- Aura Battler Dumbine: upd7220: unimplemented FIGD, has layer clearance bugs on gameplay;
- Bakasuka Wars: drawing seems busted (either mouse or upd7220)
+ - Band-Kun: (how to run this without installing?)
+ - Battle Chess: wants some dip-switches to be on in DSW4, too slow during IA thinking?
- Dragon Buster: slight issue with window masking;
- Far Side Moon: doesn't detect sound board (tied to 0x00ec ports)
@@ -86,8 +94,13 @@
- Uchiyama Aki no Chou Bangai: keyboard irq is fussy (sometimes it doesn't register a key press);
- Uno: uses EGC
+ per-game TODO (PC-9821):
+ - Battle Skin Panic: gfx bugs at the Gainax logo, it crashes after it;
+ - Policenauts: EMS error at boot;
+
Notes:
- Apple Club 1/2 needs data disks to load properly;
+ - Beast Lord: needs a titan.fnt, in MS-DOS
========================================================================================
@@ -1178,8 +1191,9 @@ READ8_MEMBER(pc9801_state::pc9801_70_r)
{
if((offset & 1) == 0)
{
- printf("Read to display register [%02x]\n",offset+0x70);
- return 0xff;
+ //printf("Read to display register [%02x]\n",offset+0x70);
+ /* TODO: ok? */
+ return m_txt_scroll_reg[offset >> 1];
}
else // odd
{
@@ -1270,7 +1284,7 @@ READ8_MEMBER(pc9801_state::pc9801_a0_r)
{
UINT32 pcg_offset;
- pcg_offset = m_font_addr << 5;
+ pcg_offset = (m_font_addr & 0x7f7f) << 5;
pcg_offset|= m_font_line;
pcg_offset|= m_font_lr;
@@ -1335,7 +1349,7 @@ WRITE8_MEMBER(pc9801_state::pc9801_a0_w)
return;
case 0x05:
//printf("%02x\n",data);
- m_font_line = ((data & 0x1f) << 1);
+ m_font_line = ((data & 0x0f) << 1);
m_font_lr = ((data & 0x20) >> 5) ^ 1;
return;
case 0x09: //cg window font write
@@ -2513,7 +2527,7 @@ static ADDRESS_MAP_START( pc9821_io, AS_IO, 32, pc9801_state )
// AM_RANGE(0xd4d0, 0xd4d3) MIDI port, option 5 / <undefined>
// AM_RANGE(0xd8d0, 0xd8d3) MIDI port, option 6 / <undefined>
// AM_RANGE(0xdcd0, 0xdcd3) MIDI port, option 7 / <undefined>
-// AM_RANGE(0xe0d0, 0xe0d3) MIDI port, option 8 / <undefined>
+ AM_RANGE(0xe0d0, 0xe0d3) AM_READ8(pc9801rs_midi_r, 0xffffffff) // MIDI port, option 8 / <undefined>
// AM_RANGE(0xe4d0, 0xe4d3) MIDI port, option 9 / <undefined>
// AM_RANGE(0xe8d0, 0xe8d3) MIDI port, option A / <undefined>
// AM_RANGE(0xecd0, 0xecd3) MIDI port, option B / <undefined>