Previous 199869 Revisions Next

r20272 Monday 14th January, 2013 at 22:02:06 UTC by Angelo Salese
Added a preliminary boolean flag to MC6845 interface structure: "show border area". If true, it will show the whole video area including border + blanking areas. [Angelo Salese]

Bulk replaced const mc6845_interface -> MC6845_INTERFACE, nw

(MESS)
SMC-777: enabled to show the border area in MC6845 interface, changed various video related function accordingly [Angelo Salese]
[src/emu/video]mc6845.c mc6845.h pc_cga.c
[src/mame/drivers]4roses.c 5clown.c albazg.c amaticmg.c aristmk4.c avt.c blitz.c blitz68k.c buster.c calomega.c carrera.c chance32.c coinmstr.c flipjack.c fortecar.c funworld.c goldnpkr.c hitpoker.c jokrwild.c jubilee.c kingdrby.c laserbas.c luckgrln.c magicfly.c majorpkr.c merit.c miniboy7.c mpu12wbk.c mpu4dealem.c murogem.c nyny.c othello.c peplus.c progolf.c r2dtank.c rgum.c slotcarn.c snk6502.c speedatk.c spiders.c ssingles.c supercrd.c tapatune.c tmspoker.c truco.c usgames.c vcombat.c vlc.c whitestar.c
[src/mame/video]madalien.c qix.c twincobr.c
[src/mess/drivers]a6809.c alphatro.c applix.c apricot.c apricotp.c b16.c bigbord2.c bml3.c bw12.c c128.c camplynx.c cbm2.c dim68k.c ec65.c einstein.c fp1100.c fp6000.c h19.c hp9k.c kaypro.c m20.c mbc200.c mbee.c multi16.c multi8.c myb3k.c mycom.c paso1600.c pasopia.c pasopia7.c pet.c pyl601.c smc777.c super80.c svi318.c trs80m2.c tvc.c v6809.c victor9k.c vk100.c x1.c x1twin.c z100.c zrt80.c
[src/mess/machine]a2videoterm.c amstrad.c c64_xl80.c comx_clm.c ecb_grip.c wangpc_lvc.c wangpc_mvc.c
[src/mess/video]abc1600.c abc800.c abc802.c abc806.c bbc.c dgn_beta.c isa_cga.c isa_mda.c mbc55x.c pc1512.c pc1640.c pc8401a.c pc_aga.c pc_t1t.c v1050.c

trunk/src/mame/video/madalien.c
r20271r20272
377377GFXDECODE_END
378378
379379
380static const mc6845_interface mc6845_intf =
380static MC6845_INTERFACE( mc6845_intf )
381381{
382382   "screen",   /* screen we are acting on */
383   false,      /* show border area */
383384   8,          /* number of pixels per video memory address */
384385   NULL,       /* before pixel update callback */
385386   NULL,       /* row update callback */
trunk/src/mame/video/qix.c
r20271r20272
382382 *
383383 *************************************/
384384
385static const mc6845_interface mc6845_intf =
385static MC6845_INTERFACE( mc6845_intf )
386386{
387387   "screen",                           /* screen we are acting on */
388   false,                        /* show border area */
388389   8,                                  /* number of pixels per video memory address */
389390   begin_update,                       /* before pixel update callback */
390391   update_row,                         /* row update callback */
trunk/src/mame/video/twincobr.c
r20271r20272
2020static void twincobr_restore_screen(running_machine &machine);
2121
2222/* 6845 used for video sync signals only */
23const mc6845_interface twincobr_mc6845_intf =
23MC6845_INTERFACE( twincobr_mc6845_intf )
2424{
2525   "screen",   /* screen we are acting on */
26   false,      /* show border area */
2627   2,          /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
2728   NULL,       /* before pixel update callback */
2829   NULL,       /* row update callback */
trunk/src/mame/drivers/carrera.c
r20271r20272
309309}
310310
311311
312static const mc6845_interface mc6845_intf =
312static MC6845_INTERFACE( mc6845_intf )
313313{
314314   "screen",   /* screen we are acting on */
315   false,      /* show border area */
315316   8,          /* number of pixels per video memory address */
316317   NULL,       /* before pixel update callback */
317318   NULL,       /* row update callback */
trunk/src/mame/drivers/truco.c
r20271r20272
432432*              CRTC Interface              *
433433*******************************************/
434434
435static const mc6845_interface mc6845_intf =
435static MC6845_INTERFACE( mc6845_intf )
436436{
437437   "screen",   /* screen we are acting on */
438   false,      /* show border area */
438439   4,          /* number of pixels per video memory address */
439440   NULL,       /* before pixel update callback */
440441   NULL,       /* row update callback */
trunk/src/mame/drivers/vcombat.c
r20271r20272
564564   machine().device("soundcpu")->execute().set_input_line(M68K_IRQ_1, state ? ASSERT_LINE : CLEAR_LINE);
565565}
566566
567static const mc6845_interface mc6845_intf =
567static MC6845_INTERFACE( mc6845_intf )
568568{
569569   "screen",                   /* screen we are acting on */
570   false,                  /* show border area */
570571   16,                         /* number of pixels per video memory address */
571572   NULL,                       /* before pixel update callback */
572573   NULL,                       /* row update callback */
trunk/src/mame/drivers/whitestar.c
r20271r20272
244244   }
245245}
246246
247static const mc6845_interface whitestar_crtc6845_interface =
247static MC6845_INTERFACE( whitestar_crtc6845_interface )
248248{
249249   NULL,
250   false,      /* show border area */
250251   1,
251252   NULL,
252253   whitestar_update_row,
trunk/src/mame/drivers/hitpoker.c
r20271r20272
455455   GFXDECODE_ENTRY( "gfx1", 0, hitpoker_layout_8bpp,   0, 8  )
456456GFXDECODE_END
457457
458static const mc6845_interface mc6845_intf =
458static MC6845_INTERFACE( mc6845_intf )
459459{
460460   "screen",   /* screen we are acting on */
461   false,      /* show border area */
461462   8,          /* number of pixels per video memory address */
462463   NULL,       /* before pixel update callback */
463464   NULL,       /* row update callback */
trunk/src/mame/drivers/avt.c
r20271r20272
847847*              CRTC Interface              *
848848*******************************************/
849849
850static const mc6845_interface mc6845_intf =
850static MC6845_INTERFACE( mc6845_intf )
851851{
852852   "screen",   /* screen we are acting on */
853   false,      /* show border area */
853854   8,          /* number of pixels per video memory address */
854855   NULL,       /* before pixel update callback */
855856   NULL,       /* row update callback */
trunk/src/mame/drivers/aristmk4.c
r20271r20272
15451545   DEVCB_NULL  // IRQB
15461546};
15471547
1548static const mc6845_interface mc6845_intf =
1548static MC6845_INTERFACE( mc6845_intf )
15491549{
15501550   /* in fact is a mc6845 driving 4 pixels by memory address.
15511551   that's why the big horizontal parameters */
15521552
15531553   "screen",   /* screen we are acting on */
1554   4,      /* number of pixels per video memory address */
1554   false,      /* show border area */
1555   4,         /* number of pixels per video memory address */
15551556   NULL,       /* before pixel update callback */
15561557   NULL,       /* row update callback */
15571558   NULL,       /* after pixel update callback */
trunk/src/mame/drivers/kingdrby.c
r20271r20272
912912*
913913***********************************************************************************************************/
914914
915static const mc6845_interface mc6845_intf =
915static MC6845_INTERFACE( mc6845_intf )
916916{
917917   "screen",   /* screen we are acting on */
918   false,      /* show border area */
918919   8,          /* number of pixels per video memory address */
919920   NULL,       /* before pixel update callback */
920921   NULL,       /* row update callback */
trunk/src/mame/drivers/goldnpkr.c
r20271r20272
33993399*              CRTC Interface              *
34003400*******************************************/
34013401
3402static const mc6845_interface mc6845_intf =
3402static MC6845_INTERFACE( mc6845_intf )
34033403{
34043404   "screen",   /* screen we are acting on */
3405   false,      /* show border area */
34053406   8,          /* number of pixels per video memory address */
34063407   NULL,       /* before pixel update callback */
34073408   NULL,       /* row update callback */
trunk/src/mame/drivers/fortecar.c
r20271r20272
535535};
536536
537537
538static const mc6845_interface mc6845_intf =
538static MC6845_INTERFACE( mc6845_intf )
539539{
540540   "screen",   /* screen we are acting on */
541   false,      /* show border area */
541542   8,          /* number of pixels per video memory address */
542543   NULL,       /* before pixel update callback */
543544   NULL,       /* row update callback */
trunk/src/mame/drivers/blitz.c
r20271r20272
738738*               CRTC Interface              *
739739********************************************/
740740
741static const mc6845_interface mc6845_intf =
741static MC6845_INTERFACE( mc6845_intf )
742742{
743743   "screen",   /* screen we are acting on */
744   false,      /* show border area */
744745   8,          /* number of pixels per video memory address */
745746   NULL,       /* before pixel update callback */
746747   NULL,       /* row update callback */
trunk/src/mame/drivers/buster.c
r20271r20272
306306   GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 1 )
307307GFXDECODE_END
308308
309static const mc6845_interface mc6845_intf =
309static MC6845_INTERFACE( mc6845_intf )
310310{
311311   "screen",   /* screen we are acting on */
312   false,      /* show border area */
312313   8,          /* number of pixels per video memory address */
313314   NULL,       /* before pixel update callback */
314315   NULL,       /* row update callback */
trunk/src/mame/drivers/spiders.c
r20271r20272
505505}
506506
507507
508static const mc6845_interface mc6845_intf =
508static MC6845_INTERFACE( mc6845_intf )
509509{
510510   "screen",               /* screen we are acting on */
511   false,               /* show border area */
511512   8,                      /* number of pixels per video memory address */
512513   begin_update,           /* before pixel update callback */
513514   update_row,             /* row update callback */
trunk/src/mame/drivers/rgum.c
r20271r20272
228228GFXDECODE_END
229229
230230
231static const mc6845_interface mc6845_intf =
231static MC6845_INTERFACE( mc6845_intf )
232232{
233233   "screen",   /* screen we are acting on */
234   false,      /* show border area */
234235   8,          /* number of pixels per video memory address */
235236   NULL,       /* before pixel update callback */
236237   NULL,       /* row update callback */
trunk/src/mame/drivers/jubilee.c
r20271r20272
392392*    CRTC Interface    *
393393************************/
394394
395static const mc6845_interface mc6845_intf =
395static MC6845_INTERFACE( mc6845_intf )
396396{
397397   "screen",   /* screen we are acting on */
398   false,      /* show border area */
398399   8,          /* number of pixels per video memory address */
399400   NULL,       /* before pixel update callback */
400401   NULL,       /* row update callback */
trunk/src/mame/drivers/luckgrln.c
r20271r20272
973973   GFXDECODE_ENTRY( "reels", 0, tiles8x32_layout, 0, 64 )
974974GFXDECODE_END
975975
976static const mc6845_interface mc6845_intf =
976static MC6845_INTERFACE( mc6845_intf )
977977{
978978   "screen",   /* screen we are acting on */
979   false,      /* show border area */
979980   8,          /* number of pixels per video memory address */
980981   NULL,       /* before pixel update callback */
981982   NULL,       /* row update callback */
trunk/src/mame/drivers/usgames.c
r20271r20272
214214GFXDECODE_END
215215
216216
217static const mc6845_interface mc6845_intf =
217static MC6845_INTERFACE( mc6845_intf )
218218{
219219   "screen",   /* screen we are acting on */
220   false,      /* show border area */
220221   8,          /* number of pixels per video memory address */
221222   NULL,       /* before pixel update callback */
222223   NULL,       /* row update callback */
trunk/src/mame/drivers/progolf.c
r20271r20272
8686   virtual void video_start();
8787   virtual void palette_init();
8888   UINT32 screen_update_progolf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
89   INTERRUPT_GEN_MEMBER(progolf_interrupt);
9089};
9190
9291
r20271r20272
369368GFXDECODE_END
370369
371370
372//#ifdef UNUSED_FUNCTION
373INTERRUPT_GEN_MEMBER(progolf_state::progolf_interrupt)
371static MC6845_INTERFACE( mc6845_intf )
374372{
375}
376//#endif
377
378static const mc6845_interface mc6845_intf =
379{
380373   "screen",   /* screen we are acting on */
374   false,      /* show border area */
381375   8,          /* number of pixels per video memory address */
382376   NULL,       /* before pixel update callback */
383377   NULL,       /* row update callback */
r20271r20272
423417   /* basic machine hardware */
424418   MCFG_CPU_ADD("maincpu", DECO_222, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
425419   MCFG_CPU_PROGRAM_MAP(main_cpu)
426   MCFG_CPU_VBLANK_INT_DRIVER("screen", progolf_state,  progolf_interrupt)
427420
428421   MCFG_CPU_ADD("audiocpu", M6502, 500000)
429422   MCFG_CPU_PROGRAM_MAP(sound_cpu)
r20271r20272
457450   MCFG_DEVICE_REMOVE("maincpu") /* different encrypted cpu to progolf */
458451   MCFG_CPU_ADD("maincpu", DECO_CPU6, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
459452   MCFG_CPU_PROGRAM_MAP(main_cpu)
460   MCFG_CPU_VBLANK_INT_DRIVER("screen", progolf_state,  progolf_interrupt)
461453MACHINE_CONFIG_END
462454
463455
trunk/src/mame/drivers/albazg.c
r20271r20272
207207   DEVCB_NULL
208208};
209209
210static const mc6845_interface mc6845_intf =
210static MC6845_INTERFACE( mc6845_intf )
211211{
212212   "screen",   /* screen we are acting on */
213   false,      /* show border area */
213214   8,          /* number of pixels per video memory address */
214215   NULL,       /* before pixel update callback */
215216   NULL,       /* row update callback */
trunk/src/mame/drivers/calomega.c
r20271r20272
27142714*                CRTC Interface                  *
27152715*************************************************/
27162716
2717static const mc6845_interface mc6845_intf =
2717static MC6845_INTERFACE( mc6845_intf )
27182718{
27192719   "screen",   /* screen we are acting on */
2720   false,      /* show border area */
27202721   8,          /* number of pixels per video memory address */
27212722   NULL,       /* before pixel update callback */
27222723   NULL,       /* row update callback */
trunk/src/mame/drivers/mpu12wbk.c
r20271r20272
491491*    CRTC Interface    *
492492************************/
493493
494static const mc6845_interface mc6845_intf =
494static MC6845_INTERFACE( mc6845_intf )
495495{
496496   "screen",   /* screen we are acting on */
497   false,      /* show border area */
497498   4,          /* number of pixels per video memory address */
498499   NULL,       /* before pixel update callback */
499500   NULL,       /* row update callback */
trunk/src/mame/drivers/blitz68k.c
r20271r20272
16621662   machine().device("maincpu")->execute().set_input_line(5, state ? ASSERT_LINE : CLEAR_LINE);
16631663}
16641664
1665const mc6845_interface mc6845_intf_irq1 =
1665
1666static MC6845_INTERFACE( mc6845_intf_irq1 )
16661667{
16671668   "screen",   /* screen we are acting on */
1669   false,      /* show border area */
16681670   4,          /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
16691671   NULL,       /* before pixel update callback */
16701672   NULL,       /* row update callback */
r20271r20272
16761678   crtc_addr               /* update address callback */
16771679};
16781680
1679const mc6845_interface mc6845_intf_irq3 =
1681static MC6845_INTERFACE( mc6845_intf_irq3 )
16801682{
16811683   "screen",   /* screen we are acting on */
1684   false,      /* show border area */
16821685   4,          /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
16831686   NULL,       /* before pixel update callback */
16841687   NULL,       /* row update callback */
r20271r20272
16901693   crtc_addr               /* update address callback */
16911694};
16921695
1693const mc6845_interface mc6845_intf_irq5 =
1696static MC6845_INTERFACE( mc6845_intf_irq5 )
16941697{
16951698   "screen",   /* screen we are acting on */
1699   false,      /* show border area */
16961700   4,          /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
16971701   NULL,       /* before pixel update callback */
16981702   NULL,       /* row update callback */
trunk/src/mame/drivers/tapatune.c
r20271r20272
359359   machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
360360}
361361
362static const mc6845_interface h46505_intf =
362static MC6845_INTERFACE( h46505_intf )
363363{
364364   "screen",   /* screen we are acting on */
365   false,      /* show border area */
365366   5,          /* number of pixels per video memory address */
366367   begin_update,/* before pixel update callback */
367368   update_row, /* row update callback */
trunk/src/mame/drivers/laserbas.c
r20271r20272
236236   m_count = 0;
237237}
238238
239static const mc6845_interface mc6845_intf =
239static MC6845_INTERFACE( mc6845_intf )
240240{
241241   "screen",   /* screen we are acting on */
242   false,      /* show border area */
242243   8,          /* number of pixels per video memory address */
243244   NULL,       /* before pixel update callback */
244245   NULL,       /* row update callback */
trunk/src/mame/drivers/supercrd.c
r20271r20272
399399*    CRTC Interface    *
400400************************/
401401
402//static const mc6845_interface mc6845_intf =
402//static MC6845_INTERFACE( mc6845_intf )
403403//{
404404//  "screen",   /* screen we are acting on */
405//   false,
405406//  4,          /* number of pixels per video memory address */
406407//  NULL,       /* before pixel update callback */
407408//  NULL,       /* row update callback */
trunk/src/mame/drivers/4roses.c
r20271r20272
362362*    CRTC Interface    *
363363************************/
364364
365static const mc6845_interface mc6845_intf =
365static MC6845_INTERFACE( mc6845_intf )
366366{
367367   "screen",   /* screen we are acting on */
368   false,      /* show border area */
368369   8,          /* number of pixels per video memory address */
369370   NULL,       /* before pixel update callback */
370371   NULL,       /* row update callback */
trunk/src/mame/drivers/merit.c
r20271r20272
313313   machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
314314}
315315
316static const mc6845_interface mc6845_intf =
316static MC6845_INTERFACE( mc6845_intf )
317317{
318318   "screen",                   /* screen we are acting on */
319   false,                  /* show border area */
319320   8,                          /* number of pixels per video memory address */
320321   begin_update,               /* before pixel update callback */
321322   update_row,                 /* row update callback */
trunk/src/mame/drivers/murogem.c
r20271r20272
228228   return 0;
229229}
230230
231static const mc6845_interface mc6845_intf =
231static MC6845_INTERFACE( mc6845_intf )
232232{
233233   "screen",   /* screen we are acting on */
234   false,      /* show border area */
234235   8,          /* number of pixels per video memory address */
235236   NULL,       /* before pixel update callback */
236237   NULL,       /* row update callback */
trunk/src/mame/drivers/flipjack.c
r20271r20272
430430static MC6845_INTERFACE( mc6845_intf )
431431{
432432   "screen",   /* screen we are acting on */
433   false,      /* show border area */
433434   8,          /* number of pixels per video memory address */
434435   NULL,       /* before pixel update callback */
435436   NULL,       /* row update callback */
trunk/src/mame/drivers/funworld.c
r20271r20272
24572457*    CRTC Interface    *
24582458************************/
24592459
2460static const mc6845_interface mc6845_intf =
2460static MC6845_INTERFACE( mc6845_intf )
24612461{
24622462   "screen",   /* screen we are acting on */
2463   false,      /* show border area */
24632464   4,          /* number of pixels per video memory address */
24642465   NULL,       /* before pixel update callback */
24652466   NULL,       /* row update callback */
trunk/src/mame/drivers/tmspoker.c
r20271r20272
544544*    CRTC Interface    *
545545************************/
546546
547static const mc6845_interface mc6845_intf =
547static MC6845_INTERFACE( mc6845_intf )
548548{
549549   "screen",   /* screen we are acting on */
550   false,      /* show border area */
550551   8,          /* number of pixels per video memory address */
551552   NULL,       /* before pixel update callback */
552553   NULL,       /* row update callback */
trunk/src/mame/drivers/nyny.c
r20271r20272
422422}
423423
424424
425static const mc6845_interface mc6845_intf =
425static MC6845_INTERFACE( mc6845_intf )
426426{
427427   "screen",               /* screen we are acting on */
428   false,               /* show border area */
428429   8,                      /* number of pixels per video memory address */
429430   begin_update,           /* before pixel update callback */
430431   update_row,             /* row update callback */
trunk/src/mame/drivers/jokrwild.c
r20271r20272
456456*    CRTC Interface    *
457457************************/
458458
459static const mc6845_interface mc6845_intf =
459static MC6845_INTERFACE( mc6845_intf )
460460{
461461   "screen",   /* screen we are acting on */
462   false,      /* show border area */
462463   8,          /* number of pixels per video memory address */
463464   NULL,       /* before pixel update callback */
464465   NULL,       /* row update callback */
trunk/src/mame/drivers/othello.c
r20271r20272
364364
365365INPUT_PORTS_END
366366
367static const mc6845_interface h46505_intf =
367static MC6845_INTERFACE( h46505_intf )
368368{
369369   "screen",   /* screen we are acting on */
370   false,      /* show border area */
370371   TILE_WIDTH, /* number of pixels per video memory address */
371372   NULL,       /* before pixel update callback */
372373   update_row, /* row update callback */
trunk/src/mame/drivers/slotcarn.c
r20271r20272
166166   machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
167167}
168168
169static const mc6845_interface mc6845_intf =
169static MC6845_INTERFACE( mc6845_intf )
170170{
171171   "screen",                   /* screen we are acting on */
172   false,                  /* show border area */
172173   8,                          /* number of pixels per video memory address */
173174   begin_update,               /* before pixel update callback */
174175   update_row,                 /* row update callback */
trunk/src/mame/drivers/chance32.c
r20271r20272
446446}
447447
448448
449static const mc6845_interface mc6845_intf =
449static MC6845_INTERFACE( mc6845_intf )
450450{
451451   "screen",   /* screen we are acting on */
452   false,      /* show border area */
452453   16,         /* number of pixels per video memory address */
453454   NULL,       /* before pixel update callback */
454455   NULL,       /* row update callback */
trunk/src/mame/drivers/miniboy7.c
r20271r20272
391391*         CRTC Interface          *
392392**********************************/
393393
394static const mc6845_interface mc6845_intf =
394static MC6845_INTERFACE( mc6845_intf )
395395{
396396   "screen",   /* screen we are acting on */
397   false,      /* show border area */
397398   8,          /* number of pixels per video memory address */
398399   NULL,       /* before pixel update callback */
399400   NULL,       /* row update callback */
trunk/src/mame/drivers/coinmstr.c
r20271r20272
992992   DEVCB_NULL
993993};
994994
995static const mc6845_interface h46505_intf =
995static MC6845_INTERFACE( h46505_intf )
996996{
997997   "screen",   /* screen we are acting on */
998   false,      /* show border area */
998999   8,          /* number of pixels per video memory address */
9991000   NULL,       /* before pixel update callback */
10001001   NULL,       /* row update callback */
trunk/src/mame/drivers/speedatk.c
r20271r20272
283283   GFXDECODE_ENTRY( "gfx2", 0, charlayout_3bpp,   0, 32 )
284284GFXDECODE_END
285285
286static const mc6845_interface mc6845_intf =
286static MC6845_INTERFACE( mc6845_intf )
287287{
288288   "screen",   /* screen we are acting on */
289   false,      /* show border area */
289290   8,          /* number of pixels per video memory address */
290291   NULL,       /* before pixel update callback */
291292   NULL,       /* row update callback */
trunk/src/mame/drivers/peplus.c
r20271r20272
291291
292292static MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
293293
294static const mc6845_interface mc6845_intf =
294static MC6845_INTERFACE( mc6845_intf )
295295{
296296   "screen",               /* screen we are acting on */
297   false,               /* show border area */
297298   8,                      /* number of pixels per video memory address */
298299   NULL,                   /* before pixel update callback */
299300   NULL,                   /* row update callback */
trunk/src/mame/drivers/vlc.c
r20271r20272
215215/********************   VIDEO SECTION   ************************************/
216216/***************************************************************************/
217217
218static const mc6845_interface mc6845_intf =
218static MC6845_INTERFACE( mc6845_intf )
219219{
220   "screen",       /* screen we are acting on */
221   8,      /* number of pixels per video memory address */
220   "screen",   /* screen we are acting on */
221   false,      /* show border area */
222   8,         /* number of pixels per video memory address */
222223   NULL,       /* before pixel update callback */
223224   NULL,       /* row update callback */
224225   NULL,       /* after pixel update callback */
trunk/src/mame/drivers/majorpkr.c
r20271r20272
999999*    CRTC Interface    *
10001000***********************/
10011001
1002static const mc6845_interface mc6845_intf =
1002static MC6845_INTERFACE( mc6845_intf )
10031003{
10041004   "screen",       /* screen we are acting on */
1005   false,         /* show border area */
10051006   16,             /* number of pixels per video memory address */
10061007   NULL,           /* before pixel update callback */
10071008   NULL,           /* row update callback */
trunk/src/mame/drivers/snk6502.c
r20271r20272
755755 *
756756 *************************************/
757757
758static const mc6845_interface mc6845_intf =
758static MC6845_INTERFACE( mc6845_intf )
759759{
760760   "screen",   /* screen we are acting on */
761   false,      /* show border area */
761762   8,          /* number of pixels per video memory address */
762763   NULL,       /* before pixel update callback */
763764   NULL,       /* row update callback */
trunk/src/mame/drivers/amaticmg.c
r20271r20272
799799*          CRTC Interface           *
800800************************************/
801801
802static const mc6845_interface mc6845_intf =
802static MC6845_INTERFACE( mc6845_intf )
803803{
804804   "screen",   /* screen we are acting on */
805   false,      /* show border area */
805806   4,          /* number of pixels per video memory address */
806807   NULL,       /* before pixel update callback */
807808   NULL,       /* row update callback */
trunk/src/mame/drivers/r2dtank.c
r20271r20272
392392}
393393
394394
395static const mc6845_interface mc6845_intf =
395static MC6845_INTERFACE( mc6845_intf )
396396{
397397   "screen",               /* screen we are acting on */
398   false,               /* show border area */
398399   8,                      /* number of pixels per video memory address */
399400   begin_update,           /* before pixel update callback */
400401   update_row,             /* row update callback */
trunk/src/mame/drivers/ssingles.c
r20271r20272
265265   }
266266}
267267
268static const mc6845_interface ssingles_mc6845_intf =
268
269static MC6845_INTERFACE( ssingles_mc6845_intf )
269270{
270271   "screen",
272   false,
271273   8,
272274   NULL,                       /* before pixel update callback */
273275   ssingles_update_row,        /* row update callback */
r20271r20272
279281   NULL                        /* update address callback */
280282};
281283
282static const mc6845_interface atamanot_mc6845_intf =
284static MC6845_INTERFACE( atamanot_mc6845_intf )
283285{
284286   "screen",
287   false,
285288   8,
286289   NULL,                       /* before pixel update callback */
287290   atamanot_update_row,        /* row update callback */
trunk/src/mame/drivers/mpu4dealem.c
r20271r20272
144144 *
145145 *************************************/
146146
147static const mc6845_interface hd6845_intf =
147static MC6845_INTERFACE( hd6845_intf )
148148{
149149   "screen",                           /* screen we are acting on */
150   false,                        /* show border area */
150151   8,                                  /* number of pixels per video memory address */
151152   NULL,                               /* before pixel update callback */
152153   NULL,                               /* row update callback */
trunk/src/mame/drivers/5clown.c
r20271r20272
988988*    CRTC Interface    *
989989***********************/
990990
991static const mc6845_interface mc6845_intf =
991static MC6845_INTERFACE( mc6845_intf )
992992{
993993   "screen",   /* screen we are acting on */
994   false,      /* show border area */
994995   8,          /* number of pixels per video memory address */
995996   NULL,       /* before pixel update callback */
996997   NULL,       /* row update callback */
trunk/src/mame/drivers/magicfly.c
r20271r20272
780780*    CRTC Interface    *
781781************************/
782782
783static const mc6845_interface mc6845_intf =
783static MC6845_INTERFACE( mc6845_intf )
784784{
785785   "screen",   /* screen we are acting on */
786   false,      /* show border area */
786787   8,          /* number of pixels per video memory address */
787788   NULL,       /* before pixel update callback */
788789   NULL,       /* row update callback */
trunk/src/emu/video/mc6845.c
r20271r20272
2626
2727    TODO:
2828
29    - Change device video emulation x/y offsets when "show border color"
30      is true
31
2932    - mos8563
3033
3134        - horizontal scroll
r20271r20272
9598   else
9699   {
97100      m_screen_tag = NULL;
101      m_show_border_area = false;
98102      m_hpixels_per_column = 0;
99103      m_begin_update = NULL;
100104      m_update_row = NULL;
r20271r20272
506510
507511         attoseconds_t refresh = HZ_TO_ATTOSECONDS(m_clock) * (m_horiz_char_total + 1) * vert_pix_total;
508512
509         visarea.set(0, max_visible_x, 0, max_visible_y);
513         if(m_show_border_area)
514            visarea.set(0, horiz_pix_total+1, 0, vert_pix_total+1);
515         else
516            visarea.set(0, max_visible_x, 0, max_visible_y);
510517
511518         if (LOG) logerror("M6845 config screen: HTOTAL: 0x%x  VTOTAL: 0x%x  MAX_X: 0x%x  MAX_Y: 0x%x  HSYNC: 0x%x-0x%x  VSYNC: 0x%x-0x%x  Freq: %ffps\n",
512519                        horiz_pix_total, vert_pix_total, max_visible_x, max_visible_y, hsync_on_pos, hsync_off_pos - 1, vsync_on_pos, vsync_off_pos - 1, 1 / ATTOSECONDS_TO_DOUBLE(refresh));
r20271r20272
10411048   m_line_address = 0;
10421049   m_current_disp_addr = 0;
10431050
1051   save_item(NAME(m_show_border_area));
10441052   save_item(NAME(m_hpixels_per_column));
10451053   save_item(NAME(m_register_address_latch));
10461054   save_item(NAME(m_horiz_char_total));
trunk/src/emu/video/mc6845.h
r20271r20272
7070struct mc6845_interface
7171{
7272   const char *m_screen_tag;       /* screen we are acting on */
73   bool m_show_border_area;      /* visible screen area (false) active display (true) active display + blanking */
7374   int m_hpixels_per_column;       /* number of pixels per video memory address */
7475
7576   /* if specified, this gets called before any pixel update,
trunk/src/emu/video/pc_cga.c
r20271r20272
180180static SCREEN_UPDATE_RGB32( cga_poisk2 );
181181static VIDEO_START( cga_mc1502 );
182182
183static const mc6845_interface mc6845_cga_intf =
183static MC6845_INTERFACE( mc6845_cga_intf )
184184{
185   CGA_SCREEN_NAME,    /* screen number */
186   8,                  /* numbers of pixels per video memory address */
187   NULL,               /* begin_update */
188   cga_update_row,     /* update_row */
189   NULL,               /* end_update */
190   DEVCB_NULL,             /* on_de_changed */
191   DEVCB_NULL,             /* on_cur_changed */
192   DEVCB_LINE(cga_hsync_changed),  /* on_hsync_changed */
193   DEVCB_LINE(cga_vsync_changed),  /* on_vsync_changed */
185   CGA_SCREEN_NAME,            /* screen number */
186   false,                     /* show border area */
187   8,                        /* numbers of pixels per video memory address */
188   NULL,                     /* begin_update */
189   cga_update_row,               /* update_row */
190   NULL,                        /* end_update */
191   DEVCB_NULL,                   /* on_de_changed */
192   DEVCB_NULL,                   /* on_cur_changed */
193   DEVCB_LINE(cga_hsync_changed),   /* on_hsync_changed */
194   DEVCB_LINE(cga_vsync_changed),   /* on_vsync_changed */
194195   NULL
195196};
196197
trunk/src/mess/machine/c64_xl80.c
r20271r20272
110110   xl80->crtc_update_row(device,bitmap,cliprect,ma,ra,y,x_count,cursor_x,param);
111111}
112112
113static const mc6845_interface crtc_intf =
113static MC6845_INTERFACE( crtc_intf )
114114{
115115   MC6845_SCREEN_TAG,
116   false,
116117   8,
117118   NULL,
118119   c64_xl80_update_row,
trunk/src/mess/machine/a2videoterm.c
r20271r20272
4848
4949static MC6845_UPDATE_ROW( videoterm_update_row );
5050
51static const mc6845_interface mc6845_mda_intf =
51static MC6845_INTERFACE( mc6845_mda_intf )
5252{
5353   VIDEOTERM_SCREEN_NAME, /* screen number */
54   false,            /* show border area */
5455   8,                  /* number of pixels per video memory address */
5556   NULL,               /* begin_update */
5657   videoterm_update_row,       /* update_row */
trunk/src/mess/machine/wangpc_lvc.c
r20271r20272
117117   }
118118}
119119
120static const mc6845_interface crtc_intf =
120static MC6845_INTERFACE( crtc_intf )
121121{
122122   SCREEN_TAG,
123   false,
123124   8,
124125   NULL,
125126   wangpc_lvc_update_row,
trunk/src/mess/machine/comx_clm.c
r20271r20272
129129   clm->crtc_update_row(device,bitmap,cliprect,ma,ra,y,x_count,cursor_x,param);
130130}
131131
132static const mc6845_interface crtc_intf =
132static MC6845_INTERFACE( crtc_intf )
133133{
134134   MC6845_SCREEN_TAG,
135   false,
135136   8,
136137   NULL,
137138   comx_clm_update_row,
trunk/src/mess/machine/amstrad.c
r20271r20272
10691069}
10701070
10711071
1072const mc6845_interface amstrad_mc6845_intf =
1072MC6845_INTERFACE( amstrad_mc6845_intf )
10731073{
10741074   NULL,                                   /* screen name */
1075   false,                           /* show border area */
10751076   16,                                     /* number of pixels per video memory address */
10761077   NULL,                                   /* begin_update */
10771078   NULL,                                   /* update_row */
r20271r20272
10841085};
10851086
10861087
1087const mc6845_interface amstrad_plus_mc6845_intf =
1088MC6845_INTERFACE( amstrad_plus_mc6845_intf )
10881089{
10891090   NULL,                                       /* screen name */
1091   false,                              /* show border area */
10901092   16,                                         /* number of pixels per video memory address */
10911093   NULL,                                       /* begin_update */
10921094   NULL,                                       /* update_row */
trunk/src/mess/machine/wangpc_mvc.c
r20271r20272
137137   }
138138}
139139
140static const mc6845_interface crtc_intf =
140static MC6845_INTERFACE( crtc_intf )
141141{
142142   SCREEN_TAG,
143   false,
143144   10,
144145   NULL,
145146   wangpc_mvc_update_row,
trunk/src/mess/machine/ecb_grip.c
r20271r20272
282282   speaker_levels
283283};
284284
285static const mc6845_interface crtc_intf =
285static MC6845_INTERFACE( crtc_intf )
286286{
287287   SCREEN_TAG,
288   false,
288289   8,
289290   NULL,
290291   grip_update_row,
r20271r20272
296297   NULL
297298};
298299/*
299static const mc6845_interface grip5_crtc_intf =
300
301static MC6845_INTERFACE( grip5_crtc_intf )
300302{
301303    SCREEN_TAG,
304   false,
302305    8,
303306    NULL,
304307    grip5_update_row,
trunk/src/mess/video/pc_aga.c
r20271r20272
2828static VIDEO_START( pc200 );
2929
3030
31static const mc6845_interface mc6845_aga_intf = {
31static MC6845_INTERFACE( mc6845_aga_intf )
32{
3233   AGA_SCREEN_NAME,    /* screen number */
34   false,            /* show border area */
3335   8,                  /* numbers of pixels per video memory address */
3436   NULL,               /* begin_update */
3537   aga_update_row,     /* update_row */
trunk/src/mess/video/pc8401a.c
r20271r20272
5555{
5656}
5757
58static const mc6845_interface pc8441a_mc6845_interface =
58
59static MC6845_INTERFACE( pc8441a_mc6845_interface )
5960{
6061   CRT_SCREEN_TAG,
62   false,
6163   6,
6264   NULL,
6365   pc8441a_update_row,
trunk/src/mess/video/isa_mda.c
r20271r20272
7474   GFXDECODE_ENTRY( "mda:gfx1", 0x1000, pc_8_charlayout, 1, 1 )
7575GFXDECODE_END
7676
77static const mc6845_interface mc6845_mda_intf =
77
78static MC6845_INTERFACE( mc6845_mda_intf )
7879{
7980   MDA_SCREEN_NAME, /* screen number */
81   false,            /* show border area */
8082   9,                  /* number of pixels per video memory address */
8183   NULL,               /* begin_update */
8284   mda_update_row,     /* update_row */
r20271r20272
496498The divder/pixels per 6845 clock is 9 for text mode and 16 for graphics mode.
497499*/
498500
499static const mc6845_interface mc6845_hercules_intf =
501static MC6845_INTERFACE( mc6845_hercules_intf )
500502{
501503   HERCULES_SCREEN_NAME,   /* screen number */
504   false,               /* show border area */
502505   9,                      /* number of pixels per video memory address */
503506   NULL,                   /* begin_update */
504507   mda_update_row,         /* update_row */
trunk/src/mess/video/abc802.c
r20271r20272
187187//  mc6845_interface crtc_intf
188188//-------------------------------------------------
189189
190static const mc6845_interface crtc_intf =
190static MC6845_INTERFACE( crtc_intf )
191191{
192192   SCREEN_TAG,
193   false,
193194   ABC800_CHAR_WIDTH,
194195   NULL,
195196   abc802_update_row,
trunk/src/mess/video/abc806.c
r20271r20272
409409//  mc6845_interface crtc_intf
410410//-------------------------------------------------
411411
412static const mc6845_interface crtc_intf =
412static MC6845_INTERFACE( crtc_intf )
413413{
414414   SCREEN_TAG,
415   false,
415416   ABC800_CHAR_WIDTH,
416417   NULL,
417418   abc806_update_row,
trunk/src/mess/video/isa_cga.c
r20271r20272
604604}
605605
606606
607static const mc6845_interface mc6845_cga_intf =
607static MC6845_INTERFACE( mc6845_cga_intf )
608608{
609609   CGA_SCREEN_NAME,    /* screen number */
610   false,            /* show border area */
610611   8,                  /* numbers of pixels per video memory address */
611612   NULL,               /* begin_update */
612613   cga_update_row,     /* update_row */
trunk/src/mess/video/v1050.c
r20271r20272
9393   set_interrupt(INT_VSYNC, state);
9494}
9595
96static const mc6845_interface crtc_intf =
96static MC6845_INTERFACE( crtc_intf )
9797{
9898   SCREEN_TAG,
99   false,
99100   8,
100101   NULL,
101102   v1050_update_row,
trunk/src/mess/video/bbc.c
r20271r20272
281281}
282282
283283
284const mc6845_interface bbc_mc6845_intf =
284MC6845_INTERFACE( bbc_mc6845_intf )
285285{
286286   "screen",                       /* screen number */
287   false,                     /* show border area */
287288   8,                              /* numbers of pixels per video memory address */
288289   NULL,                           /* begin_update */
289290   vid_update_row,                 /* update_row */
trunk/src/mess/video/pc1512.c
r20271r20272
526526   }
527527}
528528
529static const mc6845_interface crtc_intf =
529static MC6845_INTERFACE( crtc_intf )
530530{
531531   SCREEN_TAG,
532   false,
532533   8,
533534   NULL,
534535   pc1512_update_row,
trunk/src/mess/video/dgn_beta.c
r20271r20272
256256   dgn_beta_frame_interrupt(machine(), state);
257257}
258258
259const mc6845_interface dgnbeta_crtc6845_interface =
259MC6845_INTERFACE( dgnbeta_crtc6845_interface )
260260{
261261   "screen",
262   false,
262263   16 /*?*/,
263264   NULL,
264265   dgnbeta_update_row,
trunk/src/mess/video/abc800.c
r20271r20272
275275//  mc6845_interface crtc_intf
276276//-------------------------------------------------
277277
278static const mc6845_interface crtc_intf =
278static MC6845_INTERFACE( crtc_intf )
279279{
280280   SCREEN_TAG,
281   false,
281282   ABC800_CHAR_WIDTH,
282283   NULL,
283284   abc800m_update_row,
trunk/src/mess/video/pc1640.c
r20271r20272
347347{
348348}
349349
350static const mc6845_interface crtc_intf =
350static MC6845_INTERFACE( crtc_intf )
351351{
352352   SCREEN_TAG,
353   false,
353354   8,
354355   NULL,
355356   pc1640_update_row,
trunk/src/mess/video/abc1600.c
r20271r20272
10241024{
10251025}
10261026
1027static const mc6845_interface crtc_intf =
1027static MC6845_INTERFACE( crtc_intf )
10281028{
10291029   SCREEN_TAG,
1030   false,
10301031   32,
10311032   NULL,
10321033   abc1600_update_row,
trunk/src/mess/video/mbc55x.c
r20271r20272
158158{
159159}
160160
161const mc6845_interface mb55x_mc6845_intf =
161MC6845_INTERFACE( mb55x_mc6845_intf )
162162{
163163   SCREEN_TAG,                     /* screen number */
164   false,                     /* show border area */
164165   8,                              /* numbers of pixels per video memory address */
165166   NULL,                           /* begin_update */
166167   vid_update_row,                 /* update_row */
trunk/src/mess/video/pc_t1t.c
r20271r20272
2929static WRITE_LINE_DEVICE_HANDLER( pcjr_vsync_changed );
3030
3131
32static const mc6845_interface mc6845_t1000_intf = {
32static MC6845_INTERFACE( mc6845_t1000_intf )
33{
3334   T1000_SCREEN_NAME,      /* screen number */
35   false,               /* show border area */
3436   8,                      /* numbers of pixels per video memory address */
3537   NULL,                   /* begin_update */
3638   t1000_update_row,       /* update_row */
r20271r20272
5759MACHINE_CONFIG_END
5860
5961
60static const mc6845_interface mc6845_pcjr_intf = {
62static MC6845_INTERFACE( mc6845_pcjr_intf )
63{
6164   T1000_SCREEN_NAME,      /* screen number */
65   false,               /* show border area */
6266   8,                      /* numbers of pixels per video memory address */
6367   NULL,                   /* begin_update */
6468   t1000_update_row,       /* update_row */
trunk/src/mess/drivers/fp1100.c
r20271r20272
381381static const UPD7810_CONFIG fp1100_slave_cpu_config = { TYPE_7801, NULL };
382382//static const upd1771_interface scv_upd1771c_config = { DEVCB_LINE( scv_upd1771_ack_w ) };
383383
384static const mc6845_interface mc6845_intf =
384
385static MC6845_INTERFACE( mc6845_intf )
385386{
386387   "screen",   /* screen we are acting on */
388   false,      /* show border area */
387389   8,          /* number of pixels per video memory address */
388390   NULL,       /* before pixel update callback */
389391   fp1100_update_row,      /* row update callback */
trunk/src/mess/drivers/smc777.c
r20271r20272
2727#include "formats/basicdsk.h"
2828#include "imagedev/flopdrv.h"
2929
30#define mc6845_h_char_total     (m_crtc_vreg[0]+1)
31#define mc6845_h_display        (m_crtc_vreg[1])
32#define mc6845_h_sync_pos       (m_crtc_vreg[2])
33#define mc6845_sync_width       (m_crtc_vreg[3])
34#define mc6845_v_char_total     (m_crtc_vreg[4]+1)
35#define mc6845_v_total_adj      (m_crtc_vreg[5])
36#define mc6845_v_display        (m_crtc_vreg[6])
37#define mc6845_v_sync_pos       (m_crtc_vreg[7])
38#define mc6845_mode_ctrl        (m_crtc_vreg[8])
39#define mc6845_tile_height      (m_crtc_vreg[9]+1)
40#define mc6845_cursor_y_start   (m_crtc_vreg[0x0a])
41#define mc6845_cursor_y_end     (m_crtc_vreg[0x0b])
42#define mc6845_start_addr       (((m_crtc_vreg[0x0c]<<8) & 0x3f00) | (m_crtc_vreg[0x0d] & 0xff))
43#define mc6845_cursor_addr      (((m_crtc_vreg[0x0e]<<8) & 0x3f00) | (m_crtc_vreg[0x0f] & 0xff))
44#define mc6845_light_pen_addr   (((m_crtc_vreg[0x10]<<8) & 0x3f00) | (m_crtc_vreg[0x11] & 0xff))
45#define mc6845_update_addr      (((m_crtc_vreg[0x12]<<8) & 0x3f00) | (m_crtc_vreg[0x13] & 0xff))
46
3047class smc777_state : public driver_device
3148{
3249public:
r20271r20272
5067   UINT8 *m_gvram;
5168   UINT8 *m_pcg;
5269
53   UINT16 m_cursor_addr;
54   UINT16 m_cursor_raster;
5570   UINT8 m_keyb_press;
5671   UINT8 m_keyb_press_flag;
5772   UINT8 m_shift_press_flag;
5873   UINT8 m_backdrop_pen;
5974   UINT8 m_display_reg;
60   int m_addr_latch;
6175   UINT8 m_fdc_irq_flag;
6276   UINT8 m_fdc_drq_flag;
6377   UINT8 m_system_data;
r20271r20272
6882   UINT8 m_keyb_direct;
6983   UINT8 m_pal_mode;
7084   UINT8 m_keyb_cmd;
85   UINT8 m_crtc_vreg[0x20];
86   UINT8 m_crtc_addr;
7187   DECLARE_WRITE8_MEMBER(smc777_6845_w);
7288   DECLARE_READ8_MEMBER(smc777_vram_r);
7389   DECLARE_READ8_MEMBER(smc777_attr_r);
r20271r20272
107123};
108124
109125
126/* TODO: correct numbers, calculable thru mc6845 regs */
127#define CRTC_MIN_X 24*8
128#define CRTC_MIN_Y 4*8
110129
111#define CRTC_MIN_X 10
112#define CRTC_MIN_Y 10
113
114130void smc777_state::video_start()
115131{
116132}
r20271r20272
121137   UINT16 count;
122138   int x_width;
123139
140//   popmessage("%d %d %d %d",mc6845_v_char_total,mc6845_v_total_adj,mc6845_v_display,mc6845_v_sync_pos);
141
124142   bitmap.fill(machine().pens[m_backdrop_pen], cliprect);
125143
126   x_width = (m_display_reg & 0x80) ? 2 : 4;
144   x_width = ((m_display_reg & 0x80) >> 7);
127145
128146   count = 0x0000;
129147
r20271r20272
137155
138156            color = (m_gvram[count] & 0xf0) >> 4;
139157            /* todo: clean this up! */
140            if(x_width == 2)
158            //if(x_width)
141159            {
142               bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = machine().pens[color];
143            }
144            else
145            {
146160               bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+0+CRTC_MIN_X) = machine().pens[color];
147161               bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+1+CRTC_MIN_X) = machine().pens[color];
148162            }
163            //else
164            //{
165            //   bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+0+CRTC_MIN_X) = machine().pens[color];
166            //}
149167
150168            color = (m_gvram[count] & 0x0f) >> 0;
151            if(x_width == 2)
169            //if(x_width)
152170            {
153               bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = machine().pens[color];
154            }
155            else
156            {
157171               bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+2+CRTC_MIN_X) = machine().pens[color];
158172               bitmap.pix16(y+yi+CRTC_MIN_Y, x*4+3+CRTC_MIN_X) = machine().pens[color];
159173            }
174            //else
175            //{
176            //   bitmap.pix16(y+yi+CRTC_MIN_Y, x*2+1+CRTC_MIN_X) = machine().pens[color];
177            //}
160178
161179            count++;
162180
r20271r20272
167185
168186   count = 0x0000;
169187
170   x_width = (m_display_reg & 0x80) ? 40 : 80;
171
172188   for(y=0;y<25;y++)
173189   {
174      for(x=0;x<x_width;x++)
190      for(x=0;x<80/(x_width+1);x++)
175191      {
176192         /*
177193         -x-- ---- blink
r20271r20272
207223               pen = ((m_pcg[tile*8+yi]>>(7-xi)) & 1) ? (color+m_pal_mode) : bk_pen;
208224
209225               if (pen != -1)
210                  bitmap.pix16(y*8+CRTC_MIN_Y+yi, x*8+CRTC_MIN_X+xi) = machine().pens[pen];
226               {
227                  if(x_width)
228                  {
229                     bitmap.pix16(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+0+CRTC_MIN_X) = machine().pens[pen];
230                     bitmap.pix16(y*8+CRTC_MIN_Y+yi, (x*8+xi)*2+1+CRTC_MIN_X) = machine().pens[pen];
231                  }
232                  else
233                     bitmap.pix16(y*8+CRTC_MIN_Y+yi, x*8+CRTC_MIN_X+xi) = machine().pens[pen];
234               }
211235            }
212236         }
213237
214238         // draw cursor
215         if(m_cursor_addr == count)
239         if(mc6845_cursor_addr == count)
216240         {
217241            int xc,yc,cursor_on;
218242
219243            cursor_on = 0;
220            switch(m_cursor_raster & 0x60)
244            switch(mc6845_cursor_y_start & 0x60)
221245            {
222246               case 0x00: cursor_on = 1; break; //always on
223247               case 0x20: cursor_on = 0; break; //always off
r20271r20272
227251
228252            if(cursor_on)
229253            {
230               for(yc=0;yc<(8-(m_cursor_raster & 7));yc++)
254               for(yc=0;yc<(8-(mc6845_cursor_y_start & 7));yc++)
231255               {
232256                  for(xc=0;xc<8;xc++)
233257                  {
234                     bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, x*8+CRTC_MIN_X+xc) = machine().pens[0x7];
258                     if(x_width)
259                     {
260                        bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+0+CRTC_MIN_X) = machine().pens[0x7];
261                        bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, (x*8+xc)*2+1+CRTC_MIN_X) = machine().pens[0x7];
262                     }
263                     else
264                        bitmap.pix16(y*8+CRTC_MIN_Y-yc+7, x*8+CRTC_MIN_X+xc) = machine().pens[0x7];
235265                  }
236266               }
237267            }
r20271r20272
248278{
249279   if(offset == 0)
250280   {
251      m_addr_latch = data;
252      //mc6845_address_w(m_crtc, 0,data);
281      m_crtc_addr = data;
282      m_crtc->address_w(space, 0,data);
253283   }
254284   else
255285   {
256      if(m_addr_latch == 0x0a)
257         m_cursor_raster = data;
258      else if(m_addr_latch == 0x0e)
259         m_cursor_addr = ((data<<8) & 0x3f00) | (m_cursor_addr & 0xff);
260      else if(m_addr_latch == 0x0f)
261         m_cursor_addr = (m_cursor_addr & 0x3f00) | (data & 0xff);
262
263      //mc6845_register_w(m_crtc, 0,data);
286      m_crtc_vreg[m_crtc_addr] = data;
287      m_crtc->register_w(space, 0,data);
264288   }
265289}
266290
r20271r20272
553577   ---- -x-- mode select?
554578   */
555579
556   {
557      if((m_display_reg & 0x80) != (data & 0x80))
558      {
559         rectangle visarea = machine().primary_screen->visible_area();
560         int x_width;
561
562         x_width = (data & 0x80) ? 320 : 640;
563
564         visarea.set(0, (x_width+(CRTC_MIN_X*2)) - 1, 0, (200+(CRTC_MIN_Y*2)) - 1);
565
566         machine().primary_screen->configure(660, 220, visarea, machine().primary_screen->frame_period().attoseconds);
567      }
568   }
569
570580   m_display_reg = data;
571581}
572582
r20271r20272
984994}
985995
986996
987static const mc6845_interface mc6845_intf =
997static MC6845_INTERFACE( mc6845_intf )
988998{
989999   "screen",   /* screen we are acting on */
1000   true,      /* show border area */
9901001   8,          /* number of pixels per video memory address */
9911002   NULL,       /* before pixel update callback */
9921003   NULL,       /* row update callback */
trunk/src/mess/drivers/bw12.c
r20271r20272
355355   }
356356}
357357
358static const mc6845_interface bw12_mc6845_interface =
358
359static MC6845_INTERFACE( bw12_mc6845_interface )
359360{
360361   SCREEN_TAG,
362   false,
361363   8,
362364   NULL,
363365   bw12_update_row,
trunk/src/mess/drivers/multi8.c
r20271r20272
556556   GFXDECODE_ENTRY( "kanji",   0x0000, multi8_kanjilayout, 0, 1 )
557557GFXDECODE_END
558558
559static const mc6845_interface mc6845_intf =
559
560static MC6845_INTERFACE( mc6845_intf )
560561{
561562   "screen",   /* screen we are acting on */
563   false,      /* show border area */
562564   8,          /* number of pixels per video memory address */
563565   NULL,       /* before pixel update callback */
564566   NULL,       /* row update callback */
trunk/src/mess/drivers/x1.c
r20271r20272
18971897   DEVCB_DRIVER_MEMBER(x1_state, x1_portc_w)                       /* Port C write */
18981898};
18991899
1900static const mc6845_interface mc6845_intf =
1900static MC6845_INTERFACE( mc6845_intf )
19011901{
19021902   "screen",   /* screen we are acting on */
1903   false,      /* show border area */
19031904   8,          /* number of pixels per video memory address */
19041905   NULL,       /* before pixel update callback */
19051906   NULL,       /* row update callback */
trunk/src/mess/drivers/apricotp.c
r20271r20272
5656{
5757}
5858
59static const mc6845_interface crtc_intf =
59
60static MC6845_INTERFACE( crtc_intf )
6061{
6162   SCREEN_CRT_TAG,
63   false,
6264   8,
6365   NULL,
6466   fp_update_row,
trunk/src/mess/drivers/applix.c
r20271r20272
189189#endif
190190}
191191
192static const mc6845_interface applix_crtc = {
192static MC6845_INTERFACE( applix_crtc )
193{
193194   "screen",           /* name of screen */
195   false,
194196   8,          /* number of dots per character */
195197   NULL,
196198   applix_update_row,      /* handler to display a scanline */
trunk/src/mess/drivers/cbm2.c
r20271r20272
11031103   }
11041104}
11051105
1106static const mc6845_interface crtc_intf =
1106static MC6845_INTERFACE( crtc_intf )
11071107{
11081108   SCREEN_TAG,
1109   false,
11091110   9,
11101111   NULL,
11111112   crtc_update_row,
trunk/src/mess/drivers/vk100.c
r20271r20272
947947}
948948
949949
950static const mc6845_interface mc6845_intf =
950static MC6845_INTERFACE( mc6845_intf )
951951{
952952   "screen",
953   false,
953954   12,
954955   NULL,
955956   vk100_update_row,
trunk/src/mess/drivers/pet.c
r20271r20272
597597   GFXDECODE_ENTRY( "gfx1", 0x3000, pet80_charlayout, 0, 1 )
598598GFXDECODE_END
599599
600static const mc6845_interface crtc_pet40 = {
600
601static MC6845_INTERFACE( crtc_pet40 )
602{
601603   "screen",
604   false,
602605   8,
603606   NULL,
604607   pet40_update_row,
r20271r20272
610613   NULL
611614};
612615
613static const mc6845_interface crtc_pet80 = {
616static MC6845_INTERFACE( crtc_pet80 )
617{
614618   "screen",
619   false,
615620   16,
616621   NULL,
617622   pet80_update_row,
trunk/src/mess/drivers/mbee.c
r20271r20272
614614   NULL
615615};
616616
617static const mc6845_interface mbee_crtc = {
617
618static MC6845_INTERFACE( mbee_crtc )
619{
618620   "screen",           /* name of screen */
621   false,
619622   8,          /* number of dots per character */
620623   NULL,
621624   mbee_update_row,        /* handler to display a scanline */
r20271r20272
627630   mbee_update_addr        /* handler to process transparent mode */
628631};
629632
630static const mc6845_interface mbeeic_crtc = {
633
634static MC6845_INTERFACE( mbeeic_crtc )
635{
631636   "screen",           /* name of screen */
637   false,
632638   8,          /* number of dots per character */
633639   NULL,
634640   mbeeic_update_row,      /* handler to display a scanline */
r20271r20272
640646   mbee_update_addr        /* handler to process transparent mode */
641647};
642648
643static const mc6845_interface mbeeppc_crtc = {
649static MC6845_INTERFACE( mbeeppc_crtc )
650{
644651   "screen",           /* name of screen */
652   false,
645653   8,          /* number of dots per character */
646654   NULL,
647655   mbeeppc_update_row,     /* handler to display a scanline */
r20271r20272
653661   mbee_update_addr        /* handler to process transparent mode */
654662};
655663
656static const mc6845_interface mbee256_crtc = {
664static MC6845_INTERFACE( mbee256_crtc )
665{
657666   "screen",           /* name of screen */
667   false,
658668   8,          /* number of dots per character */
659669   NULL,
660670   mbeeppc_update_row,     /* handler to display a scanline */
trunk/src/mess/drivers/zrt80.c
r20271r20272
226226   }
227227}
228228
229static const mc6845_interface zrt80_crtc6845_interface =
229
230static MC6845_INTERFACE( zrt80_crtc6845_interface )
230231{
231232   "screen",
233   false,
232234   8 /*?*/,
233235   NULL,
234236   zrt80_update_row,
trunk/src/mess/drivers/tvc.c
r20271r20272
631631   }
632632}
633633
634static const mc6845_interface tvc_crtc6845_interface =
634
635static MC6845_INTERFACE( tvc_crtc6845_interface )
635636{
636637   "screen",
638   false,
637639   8 /*?*/,
638640   NULL,
639641   tvc_update_row,
trunk/src/mess/drivers/pasopia.c
r20271r20272
301301   DEVCB_NULL
302302};
303303
304static const mc6845_interface mc6845_intf =
304static MC6845_INTERFACE( mc6845_intf )
305305{
306   "screen",   /* screen we are acting on */
307   8,      /* number of pixels per video memory address */
308   NULL,       /* before pixel update callback */
306   "screen",            /* screen we are acting on */
307   false,               /* show border area */
308   8,                   /* number of pixels per video memory address */
309   NULL,                /* before pixel update callback */
309310   pasopia_update_row,     /* row update callback */
310   NULL,       /* after pixel update callback */
311   DEVCB_NULL, /* callback for display state changes */
312   DEVCB_NULL, /* callback for cursor state changes */
313   DEVCB_NULL, /* HSYNC callback */
314   DEVCB_NULL, /* VSYNC callback */
315   NULL        /* update address callback */
311   NULL,                /* after pixel update callback */
312   DEVCB_NULL,          /* callback for display state changes */
313   DEVCB_NULL,          /* callback for cursor state changes */
314   DEVCB_NULL,          /* HSYNC callback */
315   DEVCB_NULL,          /* VSYNC callback */
316   NULL                 /* update address callback */
316317};
317318
318319static const gfx_layout p7_chars_8x8 =
trunk/src/mess/drivers/v6809.c
r20271r20272
173173   m_p_videoram = memregion("videoram")->base();
174174}
175175
176static const mc6845_interface v6809_crtc = {
176
177static MC6845_INTERFACE( v6809_crtc )
178{
177179   "screen",           /* name of screen */
180   false,
178181   8,              /* number of dots per character */
179182   NULL,
180183   v6809_update_row,       /* handler to display a scanline */
trunk/src/mess/drivers/a6809.c
r20271r20272
6666{
6767}
6868
69static const mc6845_interface a6809_crtc6845_interface =
69
70static MC6845_INTERFACE( a6809_crtc6845_interface )
7071{
7172   "screen",
73   false,
7274   12 /*?*/,
7375   NULL,
7476   a6809_update_row,
trunk/src/mess/drivers/bml3.c
r20271r20272
564564   PORT_BIT(0xffe00000,IP_ACTIVE_HIGH,IPT_UNKNOWN)
565565INPUT_PORTS_END
566566
567static const mc6845_interface mc6845_intf =
567
568static MC6845_INTERFACE( mc6845_intf )
568569{
569570   "screen",   /* screen we are acting on */
571   false,      /* show border area */
570572   8,          /* number of pixels per video memory address */
571573   NULL,       /* before pixel update callback */
572574   NULL,       /* row update callback */
trunk/src/mess/drivers/paso1600.c
r20271r20272
259259GFXDECODE_END
260260
261261
262static const mc6845_interface mc6845_intf =
262static MC6845_INTERFACE( mc6845_intf )
263263{
264264   "screen",   /* screen we are acting on */
265   false,      /* show border area */
265266   8,          /* number of pixels per video memory address */
266267   NULL,       /* before pixel update callback */
267268   NULL,       /* row update callback */
trunk/src/mess/drivers/victor9k.c
r20271r20272
107107   }
108108}
109109
110static const mc6845_interface hd46505s_intf =
110
111static MC6845_INTERFACE( hd46505s_intf )
111112{
112113   SCREEN_TAG,
114   false,
113115   10,
114116   NULL,
115117   victor9k_update_row,
trunk/src/mess/drivers/hp9k.c
r20271r20272
385385   kbdBit=data;
386386}
387387
388static const mc6845_interface hp9k_mc6845_intf = {
388
389static MC6845_INTERFACE( hp9k_mc6845_intf )
390{
389391   "screen",           /* name of screen */
392   false,
390393   8,          /* number of dots per character */
391394   NULL,
392395   NULL,       /* handler to display a scanline */
trunk/src/mess/drivers/multi16.c
r20271r20272
144144{
145145}
146146
147static const mc6845_interface mc6845_intf =
147
148static MC6845_INTERFACE( mc6845_intf )
148149{
149150   "screen",   /* screen we are acting on */
151   false,      /* show border area */
150152   8,          /* number of pixels per video memory address */
151153   NULL,       /* before pixel update callback */
152154   NULL,       /* row update callback */
trunk/src/mess/drivers/h19.c
r20271r20272
350350   DEVCB_NULL
351351};
352352
353static const mc6845_interface h19_crtc6845_interface =
353
354static MC6845_INTERFACE( h19_crtc6845_interface )
354355{
355356   "screen",
357   false,
356358   8 /*?*/,
357359   NULL,
358360   h19_update_row,
trunk/src/mess/drivers/alphatro.c
r20271r20272
379379   palette_set_color_rgb(machine(), 8, 0xf7, 0xaa, 0x00);
380380}
381381
382static const mc6845_interface alphatro_crtc6845_interface =
382
383static MC6845_INTERFACE( alphatro_crtc6845_interface )
383384{
384385   "screen",
386   false,
385387   8,
386388   NULL,
387389   alphatro_update_row,
trunk/src/mess/drivers/b16.c
r20271r20272
247247
248248
249249
250static const mc6845_interface mc6845_intf =
250static MC6845_INTERFACE( mc6845_intf )
251251{
252252   "screen",   /* screen we are acting on */
253   false,      /* show border area */
253254   8,          /* number of pixels per video memory address */
254255   NULL,       /* before pixel update callback */
255256   NULL,       /* row update callback */
trunk/src/mess/drivers/svi318.c
r20271r20272
386386   MCFG_RAM_EXTRA_OPTIONS("96K,160K")
387387MACHINE_CONFIG_END
388388
389static const mc6845_interface svi806_crtc6845_interface =
389
390static MC6845_INTERFACE( svi806_crtc6845_interface )
390391{
391392   "svi806",
393   false,
392394   8 /*?*/,
393395   NULL,
394396   svi806_crtc6845_update_row,
trunk/src/mess/drivers/ec65.c
r20271r20272
211211   }
212212}
213213
214static const mc6845_interface ec65_crtc6845_interface =
214
215static MC6845_INTERFACE( ec65_crtc6845_interface )
215216{
216217   "screen",
218   false,
217219   8 /*?*/,
218220   NULL,
219221   ec65_update_row,
trunk/src/mess/drivers/fp6000.c
r20271r20272
280280{
281281}
282282
283static const mc6845_interface mc6845_intf =
283static MC6845_INTERFACE( mc6845_intf )
284284{
285285   "screen",   /* screen we are acting on */
286   false,      /* show border area */
286287   8,          /* number of pixels per video memory address */
287288   NULL,       /* before pixel update callback */
288289   NULL,       /* row update callback */
trunk/src/mess/drivers/m20.c
r20271r20272
831831   m_maincpu->reset();     // reset the CPU to ensure it picks up the new vector
832832}
833833
834static const mc6845_interface mc6845_intf =
834
835static MC6845_INTERFACE( mc6845_intf )
835836{
836837   "screen",   /* screen we are acting on */
838   false,      /* show border area */
837839   16,         /* number of pixels per video memory address */
838840   NULL,       /* before pixel update callback */
839841   NULL,       /* row update callback */
trunk/src/mess/drivers/bigbord2.c
r20271r20272
662662   }
663663}
664664
665static const mc6845_interface bigbord2_crtc = {
665static MC6845_INTERFACE( bigbord2_crtc )
666{
666667   SCREEN_TAG,         /* name of screen */
668   false,
667669   8,          /* number of dots per character */
668670   NULL,
669671   bigbord2_update_row,        /* handler to display a scanline */
trunk/src/mess/drivers/x1twin.c
r20271r20272
8888   DEVCB_DRIVER_MEMBER(x1_state, x1_portc_w)                       /* Port C write */
8989};
9090
91static const mc6845_interface mc6845_intf =
91static MC6845_INTERFACE( mc6845_intf )
9292{
9393   "x1_screen",    /* screen we are acting on */
94   8,          /* number of pixels per video memory address */
95   NULL,       /* before pixel update callback */
96   NULL,       /* row update callback */
97   NULL,       /* after pixel update callback */
98   DEVCB_NULL, /* callback for display state changes */
99   DEVCB_NULL, /* callback for cursor state changes */
100   DEVCB_NULL, /* HSYNC callback */
101   DEVCB_NULL, /* VSYNC callback */
102   NULL        /* update address callback */
94   false,         /* show border area*/
95   8,               /* number of pixels per video memory address */
96   NULL,          /* before pixel update callback */
97   NULL,          /* row update callback */
98   NULL,          /* after pixel update callback */
99   DEVCB_NULL,    /* callback for display state changes */
100   DEVCB_NULL,    /* callback for cursor state changes */
101   DEVCB_NULL,    /* HSYNC callback */
102   DEVCB_NULL,    /* VSYNC callback */
103   NULL           /* update address callback */
103104};
104105
105106/*************************************
trunk/src/mess/drivers/z100.c
r20271r20272
627627   DEVCB_NULL
628628};
629629
630static const mc6845_interface mc6845_intf =
630
631static MC6845_INTERFACE( mc6845_intf )
631632{
632633   "screen",   /* screen we are acting on */
634   false,      /* show border area */
633635   8,          /* number of pixels per video memory address */
634636   NULL,       /* before pixel update callback */
635637   NULL,       /* row update callback */
trunk/src/mess/drivers/kaypro.c
r20271r20272
147147   { NULL }
148148};
149149
150static const mc6845_interface kaypro2x_crtc = {
150
151
152static MC6845_INTERFACE( kaypro2x_crtc )
153{
151154   "screen",           /* name of screen */
155   false,
152156   7,              /* number of dots per character */
153157   NULL,
154158   kaypro2x_update_row,        /* handler to display a scanline */
trunk/src/mess/drivers/einstein.c
r20271r20272
713713   DEVCB_NULL
714714};
715715
716static const mc6845_interface einstein_crtc6845_interface =
716static MC6845_INTERFACE( einstein_crtc6845_interface )
717717{
718718   "80column",
719   false,
719720   8,
720721   NULL,
721722   einstein_6845_update_row,
trunk/src/mess/drivers/trs80m2.c
r20271r20272
616616   }
617617}
618618
619static const mc6845_interface mc6845_intf =
619static MC6845_INTERFACE( mc6845_intf )
620620{
621621   SCREEN_TAG,
622   false,
622623   8,
623624   NULL,
624625   trs80m2_update_row,
trunk/src/mess/drivers/camplynx.c
r20271r20272
432432{
433433}
434434
435static const mc6845_interface lynx48k_crtc6845_interface = {
435static MC6845_INTERFACE( lynx48k_crtc6845_interface )
436{
436437   "screen",
438   false,
437439   8,
438440   NULL,
439441   lynx48k_update_row,
r20271r20272
445447   NULL
446448};
447449
448static const mc6845_interface lynx128k_crtc6845_interface = {
450
451static MC6845_INTERFACE( lynx128k_crtc6845_interface )
452{
449453   "screen",           /* screen name */
454   false,
450455   8,              /* dots per character */
451456   NULL,
452457   lynx128k_update_row,        /* callback to display one scanline */
trunk/src/mess/drivers/dim68k.c
r20271r20272
283283   GFXDECODE_ENTRY( "chargen", 0x0000, dim68k_charlayout, 0, 1 )
284284GFXDECODE_END
285285
286static const mc6845_interface dim68k_crtc = {
286static MC6845_INTERFACE( dim68k_crtc )
287{
287288   "screen",           /* name of screen */
289   false,
288290   8,          /* number of dots per character - switchable 7 or 8 */
289291   NULL,
290292   dim68k_update_row,      /* handler to display a scanline */
trunk/src/mess/drivers/c128.c
r20271r20272
788788   GFXDECODE_ENTRY( "charom", 0x0000, gfx_8x8x1, 0, 1 )
789789GFXDECODE_END
790790
791static const mc6845_interface vdc_intf =
791
792static MC6845_INTERFACE( vdc_intf )
792793{
793794   SCREEN_VDC_TAG,
795   false,
794796   8,
795797   NULL,
796798   NULL,
trunk/src/mess/drivers/pasopia7.c
r20271r20272
723723   GFXDECODE_ENTRY( "kanji",  0x00000, p7_chars_16x16,  0, 0x10 )
724724GFXDECODE_END
725725
726static const mc6845_interface mc6845_intf =
726static MC6845_INTERFACE( mc6845_intf )
727727{
728728   "screen",   /* screen we are acting on */
729   false,      /* show border area */
729730   8,          /* number of pixels per video memory address */
730731   NULL,       /* before pixel update callback */
731732   NULL,       /* row update callback */
trunk/src/mess/drivers/pyl601.c
r20271r20272
463463}
464464
465465
466static const mc6845_interface pyl601_crtc6845_interface =
466
467static MC6845_INTERFACE( pyl601_crtc6845_interface )
467468{
468469   "screen",
470   false,
469471   8 /*?*/,
470472   NULL,
471473   pyl601_update_row,
r20271r20272
477479   NULL
478480};
479481
480static const mc6845_interface pyl601a_crtc6845_interface =
482static MC6845_INTERFACE( pyl601a_crtc6845_interface )
481483{
482484   "screen",
485   false,
483486   8 /*?*/,
484487   NULL,
485488   pyl601a_update_row,
trunk/src/mess/drivers/super80.c
r20271r20272
616616};
617617
618618
619static const mc6845_interface super80v_crtc = {
619static MC6845_INTERFACE( super80v_crtc )
620{
620621   "screen",           /* name of screen */
622   false,
621623   SUPER80V_DOTS,          /* number of dots per character */
622624   NULL,
623625   super80v_update_row,        /* handler to display a scanline */
trunk/src/mess/drivers/mbc200.c
r20271r20272
134134{
135135}
136136
137static const mc6845_interface mbc200_crtc = {
137
138static MC6845_INTERFACE( mbc200_crtc )
139{
138140   "screen",           /* name of screen */
141   false,
139142   8,          /* number of dots per character */
140143   NULL,
141144   mbc200_update_row,      /* handler to display a scanline */
trunk/src/mess/drivers/mycom.c
r20271r20272
331331   GFXDECODE_ENTRY( "chargen", 0x0000, mycom_charlayout, 0, 1 )
332332GFXDECODE_END
333333
334static const mc6845_interface mc6845_intf =
334static MC6845_INTERFACE( mc6845_intf )
335335{
336   "screen",   /* screen we are acting on */
337   8,      /* number of pixels per video memory address */
338   NULL,       /* before pixel update callback */
339   mycom_update_row,       /* row update callback */
340   NULL,       /* after pixel update callback */
341   DEVCB_NULL, /* callback for display state changes */
342   DEVCB_NULL, /* callback for cursor state changes */
343   DEVCB_NULL, /* HSYNC callback */
344   DEVCB_NULL, /* VSYNC callback */
345   NULL        /* update address callback */
336   "screen",         /* screen we are acting on */
337   false,            /* show border area */
338   8,               /* number of pixels per video memory address */
339   NULL,               /* before pixel update callback */
340   mycom_update_row,   /* row update callback */
341   NULL,             /* after pixel update callback */
342   DEVCB_NULL,       /* callback for display state changes */
343   DEVCB_NULL,       /* callback for cursor state changes */
344   DEVCB_NULL,       /* HSYNC callback */
345   DEVCB_NULL,       /* VSYNC callback */
346   NULL              /* update address callback */
346347};
347348
348349WRITE8_MEMBER( mycom_state::mycom_04_w )
trunk/src/mess/drivers/apricot.c
r20271r20272
235235   m_display_enabled = state;
236236}
237237
238static const mc6845_interface apricot_mc6845_intf =
238
239static MC6845_INTERFACE( apricot_mc6845_intf )
239240{
240241   "screen",
242   false,
241243   10,
242244   NULL,
243245   apricot_update_row,
trunk/src/mess/drivers/myb3k.c
r20271r20272
230230   GFXDECODE_ENTRY( "ipl", 0x0000, myb3k_charlayout, 0, 1 )
231231GFXDECODE_END
232232
233static const mc6845_interface mc6845_intf =
233static MC6845_INTERFACE( mc6845_intf )
234234{
235235   "screen",   /* screen we are acting on */
236   false,      /* show border area */
236237   8,          /* number of pixels per video memory address */
237238   NULL,       /* before pixel update callback */
238239   NULL,       /* row update callback */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team