Previous 199869 Revisions Next

r19179 Wednesday 28th November, 2012 at 02:14:18 UTC by Angelo Salese
(MESS) Various improvements to PC-9821, waiting for a system disk now ...
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r19178r19179
1818
1919    TODO (PC-9821):
2020    - fix CPU for some clones;
21    - "cache error", there might be "windowed" RAM at 0x80000-0x9ffff (hence the RAM POST
22      that stops at 512k)
21    - "cache error"
22    - undumped IDE ROM, kludged to work
2323
24
2425    TODO: (PC-486MU)
2526    - Tries to read port C of i8255_sys (-> 0x35) at boot without setting up the control
2627      port. This causes a jump to invalid program area;
r19178r19179
279280   required_shared_ptr<UINT8> m_video_ram_1;
280281   required_shared_ptr<UINT8> m_video_ram_2;
281282   UINT8 *m_char_rom;
283   UINT8 *m_kanji_rom;
282284
283285   UINT8 m_portb_tmp;
284286   UINT8 m_dma_offset[4];
r19178r19179
320322   UINT8 m_sdip[24], m_sdip_bank;
321323   UINT8 *m_ideram;
322324   UINT8 *m_ext_gvram;
325   UINT8 *m_vram256;
326   UINT8 m_pc9821_window_bank;
323327
324328   DECLARE_READ8_MEMBER(pc9801_xx_r);
325329   DECLARE_WRITE8_MEMBER(pc9801_xx_w);
r19178r19179
386390   DECLARE_WRITE8_MEMBER(pc9801rs_access_ctrl_w);
387391   DECLARE_READ8_MEMBER(pc9821_memory_r);
388392   DECLARE_WRITE8_MEMBER(pc9821_memory_w);
393   DECLARE_READ8_MEMBER(pc9821_vram256_r);
394   DECLARE_WRITE8_MEMBER(pc9821_vram256_w);
389395
390396   DECLARE_READ8_MEMBER(sdip_0_r);
391397   DECLARE_READ8_MEMBER(sdip_1_r);
r19178r19179
413419   DECLARE_WRITE8_MEMBER(sdip_a_w);
414420   DECLARE_WRITE8_MEMBER(sdip_b_w);
415421
422   DECLARE_READ8_MEMBER(pc9821_ide_r);
416423   DECLARE_READ8_MEMBER(pc9821_ideram_r);
417424   DECLARE_WRITE8_MEMBER(pc9821_ideram_w);
418425   DECLARE_READ8_MEMBER(pc9821_ext_gvram_r);
419426   DECLARE_WRITE8_MEMBER(pc9821_ext_gvram_w);
427   DECLARE_READ8_MEMBER(pc9821_window_bank_r);
428   DECLARE_WRITE8_MEMBER(pc9821_window_bank_w);
429   DECLARE_READ32_MEMBER(pc9821_timestamp_r);
420430
421431   void fdc_2hd_irq(bool state);
422432   void fdc_2hd_drq(bool state);
r19178r19179
481491
482492   // find memory regions
483493   m_char_rom = memregion("chargen")->base();
494   m_kanji_rom = memregion("kanji")->base();
484495}
485496
486497UINT32 pc9801_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
r19178r19179
534545   int xi,yi;
535546   int x;
536547   UINT8 char_size,interlace_on;
548   UINT8 kanji_on;
537549
538550   if(state->m_video_ff[DISPLAY_REG] == 0) //screen is off
539551      return;
540552
541553   interlace_on = state->m_video_reg[2] == 0x10; /* TODO: correct? */
542554   char_size = (interlace_on) ? 16 : 8;
555   kanji_on = 0;
543556
544557   for(x=0;x<pitch;x++)
545558   {
546559      UINT8 tile_data,secret,reverse,u_line,v_line;
547560      UINT8 color;
548      UINT8 tile,attr,pen;
561      UINT8 attr,pen;
549562      UINT32 tile_addr;
563      UINT16 tile;
564      UINT8 knj_tile;
550565
551566      tile_addr = addr+(x*(state->m_video_ff[WIDTH40_REG]+1));
552567
553      tile = state->m_video_ram_1[(tile_addr*2) & 0x1fff] & 0x00ff; //TODO: kanji
568      if(kanji_on)
569         kanji_on--;
570
571      if(kanji_on == 0)
572      {
573         tile = state->m_video_ram_1[(tile_addr*2) & 0x1fff] & 0x00ff;
574         knj_tile = state->m_video_ram_1[(tile_addr*2+1) & 0x1fff] & 0x7f;
575         if((tile & 0xf0) == 0 && knj_tile) // kanji select
576         {
577            tile <<= 8;
578            tile |= knj_tile;
579            /* annoying kanji bit-swap applied on the address bus ... */
580            tile = BITSWAP16(tile,7,15,14,13,12,11,6,5,10,9,8,4,3,2,1,0);
581            tile &= 0xfff;
582            kanji_on = 2;
583         }
584      }
554585      attr = (state->m_video_ram_1[(tile_addr*2 & 0x1fff) | 0x2000] & 0x00ff);
555586
556587      secret = (attr & 1) ^ 1;
r19178r19179
572603            if(res_x > 640 || res_y > char_size*25) //TODO
573604               continue;
574605
575            tile_data = secret ? 0 : (state->m_char_rom[tile*char_size+interlace_on*0x800+yi]);
606            if(kanji_on)
607            {
608               tile_data = secret ? 0 : (state->m_kanji_rom[tile*0x20+yi*2+(kanji_on & 1)]);
609            }
610            else
611               tile_data = secret ? 0 : (state->m_char_rom[tile*char_size+interlace_on*0x800+yi]);
576612
577613            if(reverse) { tile_data^=0xff; }
578614            if(u_line && yi == 7) { tile_data = 0xff; }
r19178r19179
14721508      switch(offset & 6)
14731509      {
14741510         case 2: machine().device<upd765a_device>("upd765_2hd")->fifo_w(space, 0, data, 0xff); return;
1475         case 4: printf("%02x FDC ctrl\n",data); return;
1511         case 4: printf("%02x 2HD FDC ctrl\n",data); return;
14761512      }
14771513   }
14781514
r19178r19179
15111547      switch(offset & 6)
15121548      {
15131549         case 2: machine().device<upd765a_device>("upd765_2hd")->fifo_w(space, 0, data, 0xff); return;
1514         case 4: printf("%02x FDC ctrl\n",data); return;
1550         case 4: printf("%02x 2DD FDC ctrl\n",data); return;
15151551      }
15161552   }
15171553
r19178r19179
16751711 *
16761712 ************************************/
16771713
1714READ8_MEMBER(pc9801_state::pc9821_ide_r)
1715{
1716   UINT8 *IDE = memregion("ide")->base();
1717
1718   return IDE[offset];
1719}
1720
1721READ8_MEMBER(pc9801_state::pc9821_vram256_r)
1722{
1723   return m_vram256[offset];
1724}
1725
1726WRITE8_MEMBER(pc9801_state::pc9821_vram256_w)
1727{
1728   m_vram256[offset] = data;
1729}
1730
16781731/* Note: not hooking this up causes "MEMORY ERROR" at POST */
16791732READ8_MEMBER(pc9801_state::pc9821_ideram_r)
16801733{
r19178r19179
17021755   if(m_gate_a20 == 0)
17031756      offset &= 0xfffff;
17041757
1705   if      (                        offset <= 0x0007ffff)                   { return pc9801rs_wram_r(space,offset);               }
1758   if(offset >= 0x00080000 && offset <= 0x0009ffff)
1759      offset = (offset & 0x1ffff) | (m_pc9821_window_bank & 0xfe) * 0x10000;
1760
1761   if      (                        offset <= 0x0009ffff)                   { return pc9801rs_wram_r(space,offset);               }
1762//   else if(offset >= 0x00080000 && offset <= 0x0009ffff)               { return pc9821_winram_r(space,offset & 0x1ffff);     }
17061763   else if(offset >= 0x000a0000 && offset <= 0x000a3fff)                   { return pc9801_tvram_r(space,offset-0xa0000);        }
17071764   else if(offset >= 0x000a4000 && offset <= 0x000a4fff)                   { return pc9801rs_knjram_r(space,offset & 0xfff);     }
17081765   else if(offset >= 0x000a8000 && offset <= 0x000bffff)                   { return pc9801_gvram_r(space,offset-0xa8000);        }
1766   else if(offset >= 0x000d8000 && offset <= 0x000d9fff)               { return pc9821_ide_r(space,offset & 0x1fff);         }
17091767   else if(offset >= 0x000da000 && offset <= 0x000dbfff)               { return pc9821_ideram_r(space,offset & 0x1fff);      }
1768   else if(offset >= 0x000e0000 && offset <= 0x000e7fff)                   { return pc9821_vram256_r(space,offset & 0x1ffff);    }
17101769   else if(offset >= 0x000e0000 && offset <= 0x000fffff)                   { return pc9801rs_ipl_r(space,offset & 0x1ffff);      }
1770   else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1)      { return pc9801rs_ex_wram_r(space,offset-0x00100000); }
17111771   else if(offset >= 0x00f00000 && offset <= 0x00f9ffff)               { return pc9821_ext_gvram_r(space,offset-0x00f00000); }
1712   else if(offset >= 0x01000000 && offset <= 0x01000000+m_ram_size-1)      { return pc9801rs_ex_wram_r(space,offset-0x01000000); }
17131772   else if(offset >= 0xfffe0000 && offset <= 0xffffffff)                   { return pc9801rs_ipl_r(space,offset & 0x1ffff);      }
17141773
1715   printf("%08x\n",offset);
1774   //printf("%08x\n",offset);
17161775   return 0x00;
17171776}
17181777
r19178r19179
17221781   if(m_gate_a20 == 0)
17231782      offset &= 0xfffff;
17241783
1725   if      (                        offset <= 0x0007ffff)                   { pc9801rs_wram_w(space,offset,data);                  }
1784   if(offset >= 0x00080000 && offset <= 0x0009ffff)
1785      offset = (offset & 0x1ffff) | (m_pc9821_window_bank & 0xfe) * 0x10000;
1786
1787   if      (                        offset <= 0x0009ffff)                   { pc9801rs_wram_w(space,offset,data);                  }
1788//   else if(offset >= 0x00080000 && offset <= 0x0009ffff)               { pc9821_winram_w(space,offset & 0x1ffff,data);        }
17261789   else if(offset >= 0x000a0000 && offset <= 0x000a3fff)                   { pc9801_tvram_w(space,offset-0xa0000,data);           }
17271790   else if(offset >= 0x000a4000 && offset <= 0x000a4fff)                   { pc9801rs_knjram_w(space,offset & 0xfff,data);        }
17281791   else if(offset >= 0x000a8000 && offset <= 0x000bffff)                   { pc9801_gvram_w(space,offset-0xa8000,data);           }
17291792   else if(offset >= 0x000da000 && offset <= 0x000dbfff)               { pc9821_ideram_w(space,offset & 0x1fff,data);         }
1793   else if(offset >= 0x000e0000 && offset <= 0x000e7fff)                   { pc9821_vram256_w(space,offset & 0x1ffff,data);       }
1794   else if(offset >= 0x000e8000 && offset <= 0x000fffff)               { /* TODO: shadow ROM */ }
1795   else if(offset >= 0x00100000 && offset <= 0x00100000+m_ram_size-1)      { pc9801rs_ex_wram_w(space,offset-0x00100000,data);    }
17301796   else if(offset >= 0x00f00000 && offset <= 0x00f9ffff)               { pc9821_ext_gvram_w(space,offset-0x00f00000,data);    }
1731   else if(offset >= 0x01000000 && offset <= 0x01000000+m_ram_size-1)      { pc9801rs_ex_wram_w(space,offset-0x01000000,data);    }
1732   else
1733     printf("%08x %08x\n",offset,data);
1797   //else
1798   //  printf("%08x %08x\n",offset,data);
17341799
17351800}
17361801
r19178r19179
18261891   return 0x50; // status
18271892}
18281893
1894READ8_MEMBER(pc9801_state::pc9821_window_bank_r)
1895{
1896   if(offset == 1)
1897      return m_pc9821_window_bank & 0xfe;
1898
1899   return 0xff;
1900}
1901
1902WRITE8_MEMBER(pc9801_state::pc9821_window_bank_w)
1903{
1904   if(offset == 1)
1905      m_pc9821_window_bank = data & 0xfe;
1906}
1907
18291908UINT8 pc9801_state::m_sdip_read(UINT16 port, UINT8 sdip_offset)
18301909{
18311910   if(port == 2)
r19178r19179
18821961      printf("SDIP area B write %02x %02x\n",offset,data);
18831962}
18841963
1964READ32_MEMBER(pc9801_state::pc9821_timestamp_r)
1965{
1966   return m_maincpu->total_cycles();
1967}
1968
18851969static ADDRESS_MAP_START( pc9821_map, AS_PROGRAM, 32, pc9801_state )
18861970   AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE8(pc9821_memory_r,pc9821_memory_w,0xffffffff)
18871971ADDRESS_MAP_END
r19178r19179
18911975
18921976   AM_RANGE(0x0030, 0x0037) AM_READWRITE8(pc9801rs_30_r,      pc9801_30_w,        0xffffffff) //i8251 RS232c / i8255 system port
18931977   AM_RANGE(0x0040, 0x0047) AM_READWRITE8(pc9801_40_r,        pc9801_40_w,        0xffffffff) //i8255 printer port / i8251 keyboard
1894   AM_RANGE(0x005c, 0x005f) AM_NOP //ARTIC (serial card?)
1978   AM_RANGE(0x005c, 0x005f) AM_READ(pc9821_timestamp_r) AM_WRITENOP
18951979   AM_RANGE(0x0060, 0x0063) AM_READWRITE8(pc9801_60_r,        pc9801_60_w,        0xffffffff) //upd7220 character ports / <undefined>
18961980   AM_RANGE(0x0064, 0x0067) AM_WRITE8(pc9801_vrtc_mask_w, 0xffffffff)
18971981   AM_RANGE(0x0068, 0x006b) AM_WRITE8(pc9821_video_ff_w,  0xffffffff) //mode FF / <undefined>
r19178r19179
19131997   AM_RANGE(0x0438, 0x043b) AM_READWRITE8(pc9801rs_access_ctrl_r,pc9801rs_access_ctrl_w,0xffffffff)
19141998//  AM_RANGE(0x043d, 0x043d) ROM/RAM bank (NEC)
19151999   AM_RANGE(0x043c, 0x043f) AM_WRITE8(pc9801rs_bank_w,    0xffffffff) //ROM/RAM bank (EPSON)
2000   AM_RANGE(0x0460, 0x0463) AM_READWRITE8(pc9821_window_bank_r,pc9821_window_bank_w, 0xffffffff)
19162001//  AM_RANGE(0x04a0, 0x04af) EGC
19172002//  AM_RANGE(0x04be, 0x04be) FDC "RPM" register
19182003//  AM_RANGE(0x0642, 0x064f) IDE registers / <undefined>
r19178r19179
22932378
22942379static GFXDECODE_START( pc9801 )
22952380   GFXDECODE_ENTRY( "chargen", 0x00000, charset_8x8,     0x000, 0x01 )
2296   GFXDECODE_ENTRY( "chargen", 0x00800, charset_8x16,    0x000, 0x01 )
2381   GFXDECODE_ENTRY( "chargen", 0x00800, charset_8x16,    0x000, 0x01 )
22972382   GFXDECODE_ENTRY( "kanji",   0x00000, charset_16x16,   0x000, 0x01 )
22982383GFXDECODE_END
22992384
r19178r19179
27272812   MACHINE_START_CALL_MEMBER(pc9801);
27282813
27292814   m_ideram = auto_alloc_array(machine(), UINT8, 0x2000);
2815   m_vram256 = auto_alloc_array(machine(), UINT8, 0x8000);
27302816   m_ext_gvram = auto_alloc_array(machine(), UINT8, 0xa0000);
27312817
27322818   state_save_register_global_pointer(machine(), m_sdip, 24);
27332819   state_save_register_global_pointer(machine(), m_ideram, 0x2000);
2820   state_save_register_global_pointer(machine(), m_vram256, 0x8000);
27342821   state_save_register_global_pointer(machine(), m_ext_gvram, 0xa0000);
27352822}
27362823
r19178r19179
29143001   MCFG_FLOPPY_DRIVE_ADD("upd765_2hd:1", pc9801_floppies, "525hd", 0, floppy_image_device::default_floppy_formats)
29153002
29163003   MCFG_RAM_ADD(RAM_TAG)
2917   MCFG_RAM_DEFAULT_SIZE("640K")
2918   MCFG_RAM_EXTRA_OPTIONS("1664K,3712K,7808K")
3004   MCFG_RAM_DEFAULT_SIZE("1664K")
3005   MCFG_RAM_EXTRA_OPTIONS("3712K,7808K")
29193006
29203007   MCFG_SCREEN_ADD("screen", RASTER)
29213008   MCFG_SCREEN_REFRESH_RATE(60)
r19178r19179
31183205   ROM_LOAD( "itf.rom",  0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) )
31193206   ROM_LOAD( "bios.rom", 0x28000, 0x18000, BAD_DUMP CRC(34a19a59) SHA1(2e92346727b0355bc1ec9a7ded1b444a4917f2b9) )
31203207
3208   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3209   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3210   ROM_FILL( 0x0000, 0x2000, 0xcb )
3211
31213212   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
31223213
31233214   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
31283219   ROM_REGION( 0x50000, "chargen", 0 )
31293220   ROM_LOAD( "font.rom", 0x00000, 0x46800, BAD_DUMP CRC(a61c0649) SHA1(554b87377d176830d21bd03964dc71f8e98676b1) )
31303221
3131   ROM_REGION( 0x45000, "kanji", ROMREGION_ERASEFF )
3132   //ROM_COPY("chargen", 0x1800, 0x0000, 0x45000 )
3222   ROM_REGION( 0x20000, "kanji", ROMREGION_ERASEFF )// taken from pc9801f
3223   ROM_LOAD16_BYTE( "24256c-x01.bin", 0x00000, 0x8000, BAD_DUMP CRC(28ec1375) SHA1(9d8e98e703ce0f483df17c79f7e841c5c5cd1692) )
3224   ROM_LOAD16_BYTE( "24256c-x02.bin", 0x00001, 0x8000, BAD_DUMP CRC(90985158) SHA1(78fb106131a3f4eb054e87e00fe4f41193416d65) )
3225   ROM_LOAD16_BYTE( "24256c-x03.bin", 0x10000, 0x8000, BAD_DUMP CRC(d4893543) SHA1(eb8c1bee0f694e1e0c145a24152222d4e444e86f) )
3226   ROM_LOAD16_BYTE( "24256c-x04.bin", 0x10001, 0x8000, BAD_DUMP CRC(5dec0fc2) SHA1(41000da14d0805ed0801b31eb60623552e50e41c) )
31333227
31343228   ROM_REGION( 0x80000, "pcg", ROMREGION_ERASEFF )
31353229ROM_END
r19178r19179
31433237   ROM_LOAD( "itf.rom",  0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) )
31443238    ROM_LOAD( "bios_as.rom",     0x028000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) )
31453239
3240   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3241   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3242
31463243   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
31473244
31483245   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
31693266   ROM_LOAD( "itf.rom",  0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) )
31703267   ROM_LOAD( "bios_ne.rom", 0x28000, 0x18000, BAD_DUMP CRC(2ae070c4) SHA1(d7963942042bfd84ed5fc9b7ba8f1c327c094172) )
31713268
3269   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3270   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3271
31723272   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
31733273
31743274   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
31943294   ROM_LOAD( "bios_486mu.rom", 0x08000, 0x18000, BAD_DUMP CRC(57b5d701) SHA1(15029800842e93e07615b0fd91fb9f2bfe3e3c24))
31953295   ROM_RELOAD(             0x28000, 0x18000 ) // missing rom?
31963296
3297   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3298   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3299
31973300   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
31983301
31993302   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
32193322   ROM_LOAD( "itf_ce2.rom",  0x18000, 0x08000, CRC(273e9e88) SHA1(9bca7d5116788776ed0f297bccb4dfc485379b41) )
32203323    ROM_LOAD( "bios_ce2.rom",     0x28000, 0x018000, BAD_DUMP CRC(76affd90) SHA1(910fae6763c0cd59b3957b6cde479c72e21f33c1) )
32213324
3325   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3326   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3327
32223328   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
32233329
32243330   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
32443350   ROM_LOAD( "itf.rom",  0x18000, 0x08000, BAD_DUMP CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) )
32453351    ROM_LOAD( "bios_xs.rom",     0x28000, 0x018000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) )
32463352
3353   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3354   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3355
32473356   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
32483357
32493358   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
32703379   ROM_LOAD( "itf.rom",  0x18000, 0x08000, CRC(dd4c7bb8) SHA1(cf3aa193df2722899066246bccbed03f2e79a74a) )
32713380   ROM_LOAD( "bios_v13.rom", 0x28000, 0x18000, BAD_DUMP CRC(0a682b93) SHA1(76a7360502fa0296ea93b4c537174610a834d367) )
32723381
3382   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3383   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3384
32733385   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
32743386
32753387   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )
r19178r19179
32953407   ROM_LOAD( "itf_v20.rom",  0x18000, 0x08000, CRC(10e52302) SHA1(f95b8648e3f5a23e507a9fbda8ab2e317d8e5151) )
32963408   ROM_LOAD( "bios_v20.rom",     0x28000, 0x018000, BAD_DUMP CRC(d5d1f13b) SHA1(bf44b5f4e138e036f1b848d6616fbd41b5549764) )
32973409
3410   ROM_REGION( 0x2000, "ide", ROMREGION_ERASEFF )
3411   ROM_LOAD( "ide.rom",  0x00000, 0x02000, NO_DUMP )
3412
32983413   ROM_REGION( 0x0a0000, "wram", ROMREGION_ERASE00 )
32993414
33003415   ROM_REGION( 0x700000, "ex_wram", ROMREGION_ERASE00 )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team