Previous 199869 Revisions Next

r18965 Wednesday 14th November, 2012 at 22:38:11 UTC by Angelo Salese
Reapplied dec8.c pixel clock changes ...
[src/mame/drivers]dec8.c
[src/mess/drivers]pc9801.c

trunk/src/mame/drivers/dec8.c
r18964r18965
501501   membank("bank1")->set_entry(data >> 4);
502502
503503   if ((data&1)==0) m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
504   if (data & 2) m_nmi_enable =1; else m_nmi_enable = 0;
504   m_nmi_enable = (data & 2) >> 1;
505505   flip_screen_set(data & 0x08);
506506}
507507
r18964r18965
576576/* Used by Shackled, Last Mission, Captain Silver */
577577WRITE8_MEMBER(dec8_state::shackled_int_w)
578578{
579#if 0
580/* This is correct, but the cpus in Shackled need an interleave of about 5000!
581    With lower interleave CPU 0 misses an interrupt at the start of the game
582    (The last interrupt has not finished and been ack'd when the new one occurs */
583579   switch (offset)
584580   {
585581   case 0: /* CPU 2 - IRQ acknowledge */
586      m_subcpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
587582      return;
588583   case 1: /* CPU 1 - IRQ acknowledge */
589      m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
590584      return;
591585   case 2: /* i8751 - FIRQ acknowledge */
592586      return;
593587   case 3: /* IRQ 1 */
594      m_maincpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
595      return;
596   case 4: /* IRQ 2 */
597      m_subcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
598      return;
599   }
600#endif
601
602   switch (offset)
603   {
604   case 0: /* CPU 2 - IRQ acknowledge */
605      return;
606   case 1: /* CPU 1 - IRQ acknowledge */
607      return;
608   case 2: /* i8751 - FIRQ acknowledge */
609      return;
610   case 3: /* IRQ 1 */
611588      m_maincpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE);
612589      return;
613590   case 4: /* IRQ 2 */
r18964r18965
20692046}
20702047
20712048
2049/* TODO: These are raw guesses, only to get ~57,41 Hz, assume to be the same as dec0 */
2050#define DEC8_PIXEL_CLOCK XTAL_20MHz/4
2051#define DEC8_HTOTAL 256+74
2052#define DEC8_HBEND 0
2053#define DEC8_HBSTART 256
2054#define DEC8_VTOTAL 264
2055#define DEC8_VBEND 8
2056#define DEC8_VBSTART 256-8
2057
20722058static MACHINE_CONFIG_START( lastmisn, dec8_state )
20732059
20742060   /* basic machine hardware */
r18964r18965
20912077   deco_karnovsprites_device::set_gfx_region(*device, 1);
20922078
20932079   MCFG_SCREEN_ADD("screen", RASTER)
2094   MCFG_SCREEN_REFRESH_RATE(58)
2095   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2096   MCFG_SCREEN_SIZE(32*8, 32*8)
2097   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2080//   MCFG_SCREEN_REFRESH_RATE(58)
2081//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2082//   MCFG_SCREEN_SIZE(32*8, 32*8)
2083//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2084   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
20982085   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn)
20992086
21002087   MCFG_GFXDECODE(shackled)
r18964r18965
21282115   MCFG_CPU_ADD("audiocpu", M6502, 1500000)
21292116   MCFG_CPU_PROGRAM_MAP(ym3526_s_map)
21302117                        /* NMIs are caused by the main CPU */
2131   MCFG_QUANTUM_TIME(attotime::from_hz(4800))
21322118
2119//   MCFG_QUANTUM_TIME(attotime::from_hz(100000))
2120   MCFG_QUANTUM_PERFECT_CPU("maincpu") // needs heavy sync, otherwise one of the two CPUs will miss an irq and makes the game to hang
21332121
21342122   /* video hardware */
21352123   MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
r18964r18965
21382126   deco_karnovsprites_device::set_gfx_region(*device, 1);
21392127
21402128   MCFG_SCREEN_ADD("screen", RASTER)
2141   MCFG_SCREEN_REFRESH_RATE(58)
2142   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2143   MCFG_SCREEN_SIZE(32*8, 32*8)
2144   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2129//   MCFG_SCREEN_REFRESH_RATE(58)
2130//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2131//   MCFG_SCREEN_SIZE(32*8, 32*8)
2132//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2133   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
21452134   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_shackled)
21462135
21472136   MCFG_GFXDECODE(shackled)
r18964r18965
21852174   deco_karnovsprites_device::set_gfx_region(*device, 1);
21862175
21872176   MCFG_SCREEN_ADD("screen", RASTER)
2188   MCFG_SCREEN_REFRESH_RATE(58)
2189   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2190   MCFG_SCREEN_SIZE(32*8, 32*8)
2191   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2177//   MCFG_SCREEN_REFRESH_RATE(58)
2178//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2179//   MCFG_SCREEN_SIZE(32*8, 32*8)
2180//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2181   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
21922182   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_gondo)
21932183   MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
21942184
r18964r18965
22332223   deco_karnovsprites_device::set_gfx_region(*device, 1);
22342224
22352225   MCFG_SCREEN_ADD("screen", RASTER)
2236   MCFG_SCREEN_REFRESH_RATE(58)
2237   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2238   MCFG_SCREEN_SIZE(32*8, 32*8)
2239   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2226//   MCFG_SCREEN_REFRESH_RATE(58)
2227//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2228//   MCFG_SCREEN_SIZE(32*8, 32*8)
2229//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2230   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
22402231   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_garyoret)
22412232   MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
22422233
r18964r18965
22842275   deco_karnovsprites_device::set_gfx_region(*device, 1);
22852276
22862277   MCFG_SCREEN_ADD("screen", RASTER)
2287   MCFG_SCREEN_REFRESH_RATE(58)
2288   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2289   MCFG_SCREEN_SIZE(32*8, 32*8)
2290   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2278//   MCFG_SCREEN_REFRESH_RATE(58)
2279//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2280//   MCFG_SCREEN_SIZE(32*8, 32*8)
2281//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2282   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
22912283   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_ghostb)
22922284   MCFG_SCREEN_VBLANK_DRIVER(dec8_state, screen_eof_dec8)
22932285
r18964r18965
23342326   deco_karnovsprites_device::set_gfx_region(*device, 1);
23352327
23362328   MCFG_SCREEN_ADD("screen", RASTER)
2337   MCFG_SCREEN_REFRESH_RATE(58)
2338   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2339   MCFG_SCREEN_SIZE(32*8, 32*8)
2340   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2329//   MCFG_SCREEN_REFRESH_RATE(58)
2330//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2331//   MCFG_SCREEN_SIZE(32*8, 32*8)
2332//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2333   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
23412334   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn)
23422335
23432336   MCFG_GFXDECODE(shackled)
r18964r18965
23892382   deco_mxc06_device::set_gfx_region(*device, 1);
23902383
23912384   MCFG_SCREEN_ADD("screen", RASTER)
2392   MCFG_SCREEN_REFRESH_RATE(58)
2393   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2394   MCFG_SCREEN_SIZE(32*8, 32*8)
2395   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2385//   MCFG_SCREEN_REFRESH_RATE(58)
2386//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */)
2387//   MCFG_SCREEN_SIZE(32*8, 32*8)
2388//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2389   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
23962390   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_oscar)
23972391
23982392   MCFG_GFXDECODE(oscar)
r18964r18965
24302424   MCFG_BUFFERED_SPRITERAM8_ADD("spriteram")
24312425
24322426   MCFG_SCREEN_ADD("screen", RASTER)
2433   MCFG_SCREEN_REFRESH_RATE(58)
2434   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2435   MCFG_SCREEN_SIZE(32*8, 32*8)
2436   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2427//   MCFG_SCREEN_REFRESH_RATE(58)
2428//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2429//   MCFG_SCREEN_SIZE(32*8, 32*8)
2430//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2431   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
24372432   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_srdarwin)
24382433
24392434   MCFG_GFXDECODE(srdarwin)
r18964r18965
24802475
24812476
24822477   MCFG_SCREEN_ADD("screen", RASTER)
2483   MCFG_SCREEN_REFRESH_RATE(58)
2484   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2485   MCFG_SCREEN_SIZE(32*8, 32*8)
2486   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2478//   MCFG_SCREEN_REFRESH_RATE(58)
2479//   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */)
2480//   MCFG_SCREEN_SIZE(32*8, 32*8)
2481//   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2482   MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART)
24872483   MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_cobracom)
24882484
24892485   MCFG_GFXDECODE(cobracom)
trunk/src/mess/drivers/pc9801.c
r18964r18965
22012201****************************************/
22022202
22032203/*
2204irq assignment is:
2204irq assignment:
22052205
220622068259 master:
22072207ir0 PIT

Previous 199869 Revisions Next


© 1997-2024 The MAME Team