Previous 199869 Revisions Next

r32296 Monday 22nd September, 2014 at 22:16:53 UTC by Angelo Salese
Either bad dump or there's something really weird going on with this. If any x86 guru wants to take a look be my guest.
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r32295r32296
3838    - Dies on ARTIC check;
3939    - Presumably one ROM is undumped?
4040
41   TODO: (PC-9821AP)
42   - No way to exit the initial loop. Code looks broken/bad dump?
43   
4144    floppy issues TODO (certain fail)
4245    - Unsupported disk types: *.nfd, *.fdd, *.nhd
4346    - 46 Okunen Monogatari - The Shinkaron
r32295r32296
549552   UINT8 m_joy_sel;
550553   UINT8 m_ext2_ff;
551554   UINT8 m_sys_type;
552
555   UINT8 m_is_nec_bank;
556   
553557   DECLARE_WRITE_LINE_MEMBER( keyboard_irq );
554558   DECLARE_WRITE_LINE_MEMBER( write_uart_clock );
555559   DECLARE_READ8_MEMBER(pc9801_xx_r);
r32295r32296
701705   DECLARE_MACHINE_START(pc9801rs);
702706   DECLARE_MACHINE_START(pc9801bx2);
703707   DECLARE_MACHINE_START(pc9821);
704
708   DECLARE_MACHINE_START(pc9821ap2);
709   
705710   DECLARE_MACHINE_RESET(pc9801_common);
706711   DECLARE_MACHINE_RESET(pc9801f);
707712   DECLARE_MACHINE_RESET(pc9801rs);
r32295r32296
19011906{
19021907   if(offset == 1)
19031908   {
1909      #if 0
1910      if(m_is_nec_bank)
1911      {
1912         m_rom_bank = 1;
1913         return;
1914      }
1915      #endif
1916   
19041917      if((data & 0xf0) == 0x00 || (data & 0xf0) == 0x10)
19051918      {
19061919         if((data & 0xed) == 0x00)
r32295r32296
33763389   m_ide_ram = auto_alloc_array(machine(), UINT8, 0x2000);
33773390   m_ext_gvram = auto_alloc_array(machine(), UINT8, 0xa0000);
33783391
3392   m_is_nec_bank = 0;
33793393   save_pointer(NAME(m_sdip), 24);
33803394   save_pointer(NAME(m_ide_ram), 0x2000);
33813395   save_pointer(NAME(m_ext_gvram), 0xa0000);
33823396}
33833397
3398MACHINE_START_MEMBER(pc9801_state,pc9821ap2)
3399{
3400   MACHINE_START_CALL_MEMBER(pc9821);
3401   
3402   m_is_nec_bank = 1;
3403}
3404
33843405MACHINE_RESET_MEMBER(pc9801_state,pc9801_common)
33853406{
33863407   memset(m_tvram, 0, sizeof(UINT8) * 0x4000);
r32295r32296
38743895   MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.15)
38753896MACHINE_CONFIG_END
38763897
3898static MACHINE_CONFIG_DERIVED( pc9821ap2, pc9821)
3899   MCFG_CPU_REPLACE("maincpu", I486, 66666667) // unknown clock
3900   MCFG_CPU_PROGRAM_MAP(pc9821_map)
3901   MCFG_CPU_IO_MAP(pc9821_io)
3902   MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq)
3903   MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
3904
3905   MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821ap2)
3906MACHINE_CONFIG_END
3907
38773908static MACHINE_CONFIG_DERIVED( pc9821v20, pc9821 )
38783909   MCFG_CPU_REPLACE("maincpu",PENTIUM,32000000) /* TODO: clock */
38793910   MCFG_CPU_PROGRAM_MAP(pc9821_map)
r32295r32296
41154146*/
41164147
41174148ROM_START( pc9821ap2 )
4118   ROM_REGION( 0x90000, "ipl", ROMREGION_ERASEFF )
4119   ROM_LOAD( "phd0102.rom",     0x08000, 0x80000, CRC(3036774c) SHA1(59856a348f156adf5eca06326f967aca54ff871c) )
4149   ROM_REGION( 0x80000, "biosrom", ROMREGION_ERASEFF )
4150   ROM_LOAD( "phd0102.rom",     0x000000, 0x80000, CRC(3036774c) SHA1(59856a348f156adf5eca06326f967aca54ff871c) )
41204151
4152   ROM_REGION( 0x60000, "ipl", ROMREGION_ERASEFF ) // TODO: identify ROM banks
4153   ROM_COPY( "biosrom", 0x60000, 0x00000, 0x20000 )
4154   ROM_COPY( "biosrom", 0x20000, 0x20000, 0x20000 )
4155
41214156   ROM_REGION( 0x10000, "sound_bios", 0 )
41224157   ROM_LOAD( "sound.rom", 0x0000, 0x4000, CRC(a21ef796) SHA1(34137c287c39c44300b04ee97c1e6459bb826b60) )
41234158
r32295r32296
43164351COMP( 1993, pc9801bx2, pc9801rs,0,     pc9801bx2,pc9801rs, pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9801BX2/U2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
43174352COMP( 1994, pc9821,    0,       0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821 (98MATE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND) //TODO: not sure about the exact model
43184353COMP( 1993, pc9821as,  pc9821,  0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821 (98MATE A)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
4319COMP( 1993, pc9821ap2, pc9821,  0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821AP2/U8W (98MATE A)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
4354COMP( 1993, pc9821ap2, pc9821,  0,     pc9821ap2,pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821AP2/U8W (98MATE A)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
43204355COMP( 1994, pc9821xs,  pc9821,  0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821 (98MATE Xs)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
43214356COMP( 1994, pc9821ce2, pc9821,  0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821 (98MULTi Ce2)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
43224357COMP( 1994, pc9821ne,  pc9821,  0,     pc9821,   pc9821,   pc9801_state, pc9801_kanji, "Nippon Electronic Company",   "PC-9821 (98NOTE)",  GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team