Previous 15994 Revisions Next

r10079 Monday 17th January, 2011 at 21:15:46 UTC by Angelo Salese
[PC-8801]: Fixed high mode RAM, allows 177 to boot
[src/mess/drivers]pc8801.c

src/mess/drivers/pc8801.c
r10078r10079
2020
2121   per-game specific TODO:
2222   - 100 Yen disk(s): reads kanji ports;
23   - 177: gameplay is too fast;
2324   - Acro Jet: hangs waiting for an irq;
2425   - Adrenalin Connection: seems to have an unemulated screen mode;
2526   - Aggress: crashes after that it shows the title screen;
r10078r10079
460461{
461462   if(vram_sel == 3)
462463   {
463      if(misc_ctrl & 0x10) // high VRAM
464      if((misc_ctrl & 0x10) == 0) // high VRAM
464465         return WRAM_BASE + 0xf000;
465466
466467      return WRAM_BASE + 0xf000 + 0x10000;
r10078r10079
480481{
481482   if(vram_sel == 3)
482483   {
483      if(misc_ctrl & 0x10) // high VRAM
484      if((misc_ctrl & 0x10) == 0) // high VRAM
484485         return WRAM_BASE + 0xf000;
485486
486487      return WRAM_BASE + 0xf000 + 0x10000;
r10078r10079
519520   ---- ---x (pbsy?)
520521   */
521522
522   vrtc = (space->machine->primary_screen->vpos() < 200) ? 1 : 0; // vblank
523   vrtc = (space->machine->primary_screen->vpos() < 200) ? 0 : 1; // vblank
523524
524525   return (vrtc << 5) | 0xc0;
525526}
r10078r10079
642643{
643644   misc_ctrl = data;
644645
646   bankr[1] = pc8801_bankswitch_1_r(space->machine);
647   bankr[3] = pc8801_bankswitch_3_r(space->machine);
648   bankr[4] = pc8801_bankswitch_4_r(space->machine);
649   bankw[3] = pc8801_bankswitch_3_w(space->machine);
650   bankw[4] = pc8801_bankswitch_4_w(space->machine);
651
645652   sound_irq_mask = ((data & 0x80) == 0);
646653
647654   if(data & 0x40)
r10078r10079
13381345   ext_rom_bank = 0xff;
13391346   gfx_ctrl = 0x31;
13401347   window_offset_bank = 0x80;
1341   misc_ctrl = 0x90;
1348   misc_ctrl = 0x80;
13421349   layer_mask = 0x00;
13431350   bankr[0] = pc8801_bankswitch_0_r(machine);
13441351   bankr[1] = pc8801_bankswitch_1_r(machine);
r10078r10079
14491456   MCFG_SCREEN_REFRESH_RATE(60)
14501457   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
14511458   MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
1452   MCFG_SCREEN_SIZE(640, 240)
1459   MCFG_SCREEN_SIZE(640, 220)
14531460   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
14541461   MCFG_GFXDECODE( pc8801 )
14551462   MCFG_PALETTE_LENGTH(0x10)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team