trunk/src/mess/drivers/pc9801.c
| r19460 | r19461 | |
| 42 | 42 | - Quarth: fails loading in PC-9801RS only ("packed file is corrupt"). Maybe a 386 core bug? |
| 43 | 43 | |
| 44 | 44 | List of per-game TODO: |
| 45 | | - 31 - Iwayuru Hitotsu no Chou Lovely na Bouken Katsugeki: missing text? (it appears if you press a button) |
| 46 | 45 | - 4D Boxing: inputs are unresponsive |
| 47 | 46 | - Absolutely Mahjong: Kanji data doesn't appear at the Epson logo. Transitions are too fast. |
| 48 | 47 | - Brandish 2: Intro needs some window masking effects; |
| r19460 | r19461 | |
| 1172 | 1171 | } |
| 1173 | 1172 | } |
| 1174 | 1173 | |
| 1174 | |
| 1175 | 1175 | READ8_MEMBER(pc9801_state::pc9801_a0_r) |
| 1176 | 1176 | { |
| 1177 | 1177 | |
| r19460 | r19461 | |
| 1217 | 1217 | if(pcg_offset >= 0x80000) |
| 1218 | 1218 | return 0; |
| 1219 | 1219 | |
| 1220 | | return m_kanji_rom[pcg_offset]; // TODO, kanji ROM |
| 1220 | return m_kanji_rom[pcg_offset]; |
| 1221 | 1221 | } |
| 1222 | 1222 | } |
| 1223 | 1223 | |
| r19460 | r19461 | |
| 1609 | 1609 | /* TODO: having this non-linear makes the system to boot in BASIC for PC-9821. Perhaps it stores settings? How to change these? */ |
| 1610 | 1610 | READ8_MEMBER(pc9801_state::pc9801rs_knjram_r) |
| 1611 | 1611 | { |
| 1612 | UINT32 pcg_offset; |
| 1613 | |
| 1614 | pcg_offset = m_font_addr << 5; |
| 1615 | pcg_offset|= offset & 0x1e; |
| 1616 | pcg_offset|= m_font_lr; |
| 1617 | |
| 1612 | 1618 | if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700) |
| 1613 | | return m_pcg_ram[((m_font_addr & 0x7f7f) << 5) | m_font_lr | ((offset >> 1) & 0x0f)]; |
| 1619 | return m_pcg_ram[pcg_offset]; |
| 1614 | 1620 | |
| 1615 | | printf("RS knjram %08x\n",offset); |
| 1616 | | |
| 1617 | | return machine().rand(); |
| 1621 | return m_kanji_rom[pcg_offset]; |
| 1618 | 1622 | } |
| 1619 | 1623 | |
| 1620 | 1624 | WRITE8_MEMBER(pc9801_state::pc9801rs_knjram_w) |
| 1621 | 1625 | { |
| 1626 | UINT32 pcg_offset; |
| 1627 | |
| 1628 | pcg_offset = m_font_addr << 5; |
| 1629 | pcg_offset|= offset & 0x1e; |
| 1630 | pcg_offset|= m_font_lr; |
| 1631 | |
| 1622 | 1632 | if((m_font_addr & 0xff00) == 0x5600 || (m_font_addr & 0xff00) == 0x5700) |
| 1623 | | m_pcg_ram[((m_font_addr & 0x7f7f) << 5) | m_font_lr | ((offset >> 1) & 0x0f)] = data; |
| 1633 | m_pcg_ram[pcg_offset] = data; |
| 1624 | 1634 | } |
| 1625 | 1635 | |
| 1626 | 1636 | /* FF-based */ |