Previous 199869 Revisions Next

r17682 Thursday 6th September, 2012 at 18:17:30 UTC by Angelo Salese
Get rid of the SW DIP-SW msg
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r17681r17682
1616    - clean-up duplicating code;
1717
1818    TODO (PC-9821):
19    - "set the software dip-switch" warning;
20    - asserts with i386: Invalid REP/opcode 40 combination, this is because POR bit mustn't be
21      setted to off
2219    - fix CPU for some clones;
20   - PARITY ERROR, presumably it needs a far better emulation of the i8251 ports
2321
2422    TODO: (PC-486MU)
2523    - Tries to read port C of i8255_sys (-> 0x35) at boot without setting up the control
r17681r17682
255253public:
256254   pc9801_state(const machine_config &mconfig, device_type type, const char *tag)
257255      : driver_device(mconfig, type, tag),
256        m_maincpu(*this, "maincpu"),
258257        m_rtc(*this, UPD1990A_TAG),
259258        m_sio(*this, UPD8251_TAG),
260259        m_hgdc1(*this, "upd7220_chr"),
r17681r17682
263262      m_video_ram_1(*this, "video_ram_1"),
264263      m_video_ram_2(*this, "video_ram_2"){ }
265264
265   required_device<cpu_device> m_maincpu;
266266   required_device<upd1990a_device> m_rtc;
267267   required_device<i8251_device> m_sio;
268268   required_device<upd7220_device> m_hgdc1;
r17681r17682
719719         printf("Read to undefined port [%02x]\n",offset+0x40);
720720      else
721721      {
722         //printf("Read to 8251 kbd port [%02x]\n",offset+0x40);
722         //printf("Read to 8251 kbd port [%02x] %08x\n",offset+0x40,cpu_get_pc(m_maincpu));
723723         if(offset == 1)
724724         {
725725            UINT8 res;
r17681r17682
729729            return res;
730730         }
731731
732         return 1;
732         return 1 | 4 | 2;
733733      }
734734   }
735735
r17681r17682
746746   {
747747      if(offset & 4)
748748         printf("Write to undefined port [%02x] <- %02x\n",offset+0x40,data);
749      //else
750         //printf("Write to 8251 kbd port [%02x] <- %02x\n",offset+0x40,data);
749      else
750         printf("Write to 8251 kbd port [%02x] <- %02x\n",offset+0x40,data);
751751   }
752752}
753753
r17681r17682
21122112   PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
21132113INPUT_PORTS_END
21142114
2115static INPUT_PORTS_START( pc9821 )
2116   PORT_INCLUDE( pc9801rs )
2117
2118   PORT_MODIFY("DSW2")
2119   PORT_DIPNAME( 0x01, 0x00, "S-Dip SW Init" ) PORT_DIPLOCATION("SW1:1")
2120   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2121   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2122INPUT_PORTS_END
2123
21152124static const gfx_layout charset_8x8 =
21162125{
21172126   8,8,
r17681r17682
31763185COMP( 1985, pc9801vm,  pc9801rs,0,     pc9801rs, pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9801VM", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
31773186COMP( 1987, pc9801ux,  pc9801rs,0,     pc9801ux, pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9801UX", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
31783187COMP( 1988, pc9801rx,  pc9801rs,0,     pc9801ux, pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9801RX", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3179COMP( 1994, pc9821,    0,       0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND) //TODO: not sure about the exact model
3180COMP( 1993, pc9821as,  pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE A)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3181COMP( 1994, pc9821xs,  pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE Xs)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3182COMP( 1994, pc9821ce2, pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MULTi Ce2)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3183COMP( 1994, pc9821ne,  pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98NOTE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3184COMP( 1994, pc486mu,   pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Epson",                       "PC-486MU",  GAME_NOT_WORKING | GAME_NO_SOUND)
3185COMP( 1998, pc9821v13, pc9821,  0,     pc9821,   pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE VALUESTAR 13)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3186COMP( 1998, pc9821v20, pc9821,  0,     pc9821v20,pc9801rs, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE VALUESTAR 20)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3188COMP( 1994, pc9821,    0,       0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND) //TODO: not sure about the exact model
3189COMP( 1993, pc9821as,  pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE A)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3190COMP( 1994, pc9821xs,  pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE Xs)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3191COMP( 1994, pc9821ce2, pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MULTi Ce2)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3192COMP( 1994, pc9821ne,  pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98NOTE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3193COMP( 1994, pc486mu,   pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Epson",                       "PC-486MU",  GAME_NOT_WORKING | GAME_NO_SOUND)
3194COMP( 1998, pc9821v13, pc9821,  0,     pc9821,   pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE VALUESTAR 13)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
3195COMP( 1998, pc9821v20, pc9821,  0,     pc9821v20,pc9821, driver_device, 0, "Nippon Electronic Company",   "PC-9821 (98MATE VALUESTAR 20)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team