summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatarGravatar Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-01-04 19:38:56 +0000
committerGravatarGravatar Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-01-04 19:38:56 +0000
commit0e990081610130a9d26c2a36d1fcec83d1c9e9a6 (patch)
treed7b65bac35f2dcc441394a914be0486fa6efd85f /src
parentf2d192bac1d24bbf4b603dcba38af7cfbc8a1d4e (diff)
added screen visarea adjustment to mc6845 config interface
Diffstat (limited to 'src')
-rw-r--r--src/emu/bus/a2bus/a2videoterm.c1
-rw-r--r--src/emu/bus/c64/xl80.c1
-rw-r--r--src/emu/bus/comx35/clm.c1
-rw-r--r--src/emu/bus/ecbbus/grip.c2
-rw-r--r--src/emu/bus/wangpc/lvc.c1
-rw-r--r--src/emu/bus/wangpc/mvc.c1
-rw-r--r--src/emu/video/mc6845.c10
-rw-r--r--src/emu/video/mc6845.h7
-rw-r--r--src/emu/video/pc_cga.c1
-rw-r--r--src/mame/drivers/4roses.c1
-rw-r--r--src/mame/drivers/5clown.c1
-rw-r--r--src/mame/drivers/albazg.c1
-rw-r--r--src/mame/drivers/amaticmg.c1
-rw-r--r--src/mame/drivers/aristmk4.c1
-rw-r--r--src/mame/drivers/avt.c1
-rw-r--r--src/mame/drivers/blitz.c1
-rw-r--r--src/mame/drivers/blitz68k.c3
-rw-r--r--src/mame/drivers/buster.c1
-rw-r--r--src/mame/drivers/calomega.c1
-rw-r--r--src/mame/drivers/carrera.c1
-rw-r--r--src/mame/drivers/chance32.c1
-rw-r--r--src/mame/drivers/coinmstr.c1
-rw-r--r--src/mame/drivers/docastle.c30
-rw-r--r--src/mame/drivers/flipjack.c1
-rw-r--r--src/mame/drivers/fortecar.c1
-rw-r--r--src/mame/drivers/funworld.c1
-rw-r--r--src/mame/drivers/gluck2.c1
-rw-r--r--src/mame/drivers/goldnpkr.c1
-rw-r--r--src/mame/drivers/hitpoker.c1
-rw-r--r--src/mame/drivers/jokrwild.c1
-rw-r--r--src/mame/drivers/jubilee.c1
-rw-r--r--src/mame/drivers/kingdrby.c1
-rw-r--r--src/mame/drivers/laserbas.c1
-rw-r--r--src/mame/drivers/luckgrln.c1
-rw-r--r--src/mame/drivers/magicfly.c1
-rw-r--r--src/mame/drivers/majorpkr.c1
-rw-r--r--src/mame/drivers/merit.c1
-rw-r--r--src/mame/drivers/miniboy7.c1
-rw-r--r--src/mame/drivers/mpu12wbk.c1
-rw-r--r--src/mame/drivers/mpu4dealem.c1
-rw-r--r--src/mame/drivers/murogem.c1
-rw-r--r--src/mame/drivers/nyny.c1
-rw-r--r--src/mame/drivers/othello.c1
-rw-r--r--src/mame/drivers/peplus.c1
-rw-r--r--src/mame/drivers/progolf.c1
-rw-r--r--src/mame/drivers/r2dtank.c1
-rw-r--r--src/mame/drivers/rgum.c1
-rw-r--r--src/mame/drivers/sanremo.c1
-rw-r--r--src/mame/drivers/slotcarn.c1
-rw-r--r--src/mame/drivers/snk6502.c1
-rw-r--r--src/mame/drivers/speedatk.c1
-rw-r--r--src/mame/drivers/spiders.c1
-rw-r--r--src/mame/drivers/ssingles.c2
-rw-r--r--src/mame/drivers/supercrd.c1
-rw-r--r--src/mame/drivers/tapatune.c1
-rw-r--r--src/mame/drivers/tmspoker.c1
-rw-r--r--src/mame/drivers/truco.c1
-rw-r--r--src/mame/drivers/usgames.c1
-rw-r--r--src/mame/drivers/vcombat.c1
-rw-r--r--src/mame/drivers/vlc.c1
-rw-r--r--src/mame/video/decodmd2.c19
-rw-r--r--src/mame/video/decodmd3.c19
-rw-r--r--src/mame/video/madalien.c1
-rw-r--r--src/mame/video/qix.c1
-rw-r--r--src/mame/video/twincobr.c1
-rw-r--r--src/mess/drivers/a6809.c1
-rw-r--r--src/mess/drivers/alphatro.c1
-rw-r--r--src/mess/drivers/applix.c1
-rw-r--r--src/mess/drivers/apricot.c1
-rw-r--r--src/mess/drivers/apricotp.c1
-rw-r--r--src/mess/drivers/b16.c1
-rw-r--r--src/mess/drivers/bigbord2.c1
-rw-r--r--src/mess/drivers/bml3.c1
-rw-r--r--src/mess/drivers/bw12.c1
-rw-r--r--src/mess/drivers/c128.c1
-rw-r--r--src/mess/drivers/camplynx.c2
-rw-r--r--src/mess/drivers/cbm2.c1
-rw-r--r--src/mess/drivers/dim68k.c1
-rw-r--r--src/mess/drivers/ec65.c1
-rw-r--r--src/mess/drivers/einstein.c1
-rw-r--r--src/mess/drivers/fp1100.c1
-rw-r--r--src/mess/drivers/fp6000.c1
-rw-r--r--src/mess/drivers/h19.c1
-rw-r--r--src/mess/drivers/hp9k.c1
-rw-r--r--src/mess/drivers/kaypro.c1
-rw-r--r--src/mess/drivers/lola8a.c1
-rw-r--r--src/mess/drivers/m20.c1
-rw-r--r--src/mess/drivers/mbc200.c1
-rw-r--r--src/mess/drivers/mbee.c4
-rw-r--r--src/mess/drivers/multi16.c1
-rw-r--r--src/mess/drivers/multi8.c1
-rw-r--r--src/mess/drivers/myb3k.c6
-rw-r--r--src/mess/drivers/mycom.c1
-rw-r--r--src/mess/drivers/paso1600.c1
-rw-r--r--src/mess/drivers/pasopia.c1
-rw-r--r--src/mess/drivers/pasopia7.c1
-rw-r--r--src/mess/drivers/pet.c2
-rw-r--r--src/mess/drivers/pyl601.c2
-rw-r--r--src/mess/drivers/sapi1.c1
-rw-r--r--src/mess/drivers/smc777.c1
-rw-r--r--src/mess/drivers/super80.c1
-rw-r--r--src/mess/drivers/svi318.c1
-rw-r--r--src/mess/drivers/tavernie.c1
-rw-r--r--src/mess/drivers/trs80m2.c1
-rw-r--r--src/mess/drivers/tvc.c1
-rw-r--r--src/mess/drivers/v6809.c3
-rw-r--r--src/mess/drivers/victor9k.c1
-rw-r--r--src/mess/drivers/vk100.c1
-rw-r--r--src/mess/drivers/x1.c1
-rw-r--r--src/mess/drivers/x1twin.c1
-rw-r--r--src/mess/drivers/z100.c1
-rw-r--r--src/mess/drivers/zrt80.c1
-rw-r--r--src/mess/machine/amstrad.c2
-rw-r--r--src/mess/video/abc1600.c1
-rw-r--r--src/mess/video/abc800.c1
-rw-r--r--src/mess/video/abc802.c1
-rw-r--r--src/mess/video/abc806.c1
-rw-r--r--src/mess/video/bbc.c1
-rw-r--r--src/mess/video/dgn_beta.c1
-rw-r--r--src/mess/video/isa_cga.c5
-rw-r--r--src/mess/video/isa_mda.c6
-rw-r--r--src/mess/video/mbc55x.c1
-rw-r--r--src/mess/video/pc1512.c1
-rw-r--r--src/mess/video/pc8401a.c1
-rw-r--r--src/mess/video/pc_aga.c1
-rw-r--r--src/mess/video/pc_t1t.c10
-rw-r--r--src/mess/video/v1050.c1
127 files changed, 209 insertions, 34 deletions
diff --git a/src/emu/bus/a2bus/a2videoterm.c b/src/emu/bus/a2bus/a2videoterm.c
index 35b14f2c3c7..99cb3ea6ddd 100644
--- a/src/emu/bus/a2bus/a2videoterm.c
+++ b/src/emu/bus/a2bus/a2videoterm.c
@@ -51,6 +51,7 @@ static MC6845_UPDATE_ROW( videoterm_update_row );
static MC6845_INTERFACE( mc6845_mda_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* begin_update */
videoterm_update_row, /* update_row */
diff --git a/src/emu/bus/c64/xl80.c b/src/emu/bus/c64/xl80.c
index 5c1875cd59e..b136118d30d 100644
--- a/src/emu/bus/c64/xl80.c
+++ b/src/emu/bus/c64/xl80.c
@@ -115,6 +115,7 @@ static MC6845_UPDATE_ROW( c64_xl80_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
c64_xl80_update_row,
diff --git a/src/emu/bus/comx35/clm.c b/src/emu/bus/comx35/clm.c
index 29e016f8c53..da879d18216 100644
--- a/src/emu/bus/comx35/clm.c
+++ b/src/emu/bus/comx35/clm.c
@@ -134,6 +134,7 @@ static MC6845_UPDATE_ROW( comx_clm_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
comx_clm_update_row,
diff --git a/src/emu/bus/ecbbus/grip.c b/src/emu/bus/ecbbus/grip.c
index 4a5d54e2cc4..019799330fb 100644
--- a/src/emu/bus/ecbbus/grip.c
+++ b/src/emu/bus/ecbbus/grip.c
@@ -287,6 +287,7 @@ static const speaker_interface speaker_intf =
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
grip_update_row,
@@ -302,6 +303,7 @@ static MC6845_INTERFACE( crtc_intf )
static MC6845_INTERFACE( grip5_crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
grip5_update_row,
diff --git a/src/emu/bus/wangpc/lvc.c b/src/emu/bus/wangpc/lvc.c
index 8670875c25f..dc943a70e0d 100644
--- a/src/emu/bus/wangpc/lvc.c
+++ b/src/emu/bus/wangpc/lvc.c
@@ -122,6 +122,7 @@ WRITE_LINE_MEMBER( wangpc_lvc_device::vsync_w )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
wangpc_lvc_update_row,
diff --git a/src/emu/bus/wangpc/mvc.c b/src/emu/bus/wangpc/mvc.c
index 53d9e008a74..851c31958ac 100644
--- a/src/emu/bus/wangpc/mvc.c
+++ b/src/emu/bus/wangpc/mvc.c
@@ -142,6 +142,7 @@ WRITE_LINE_MEMBER( wangpc_mvc_device::vsync_w )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
10,
NULL,
wangpc_mvc_update_row,
diff --git a/src/emu/video/mc6845.c b/src/emu/video/mc6845.c
index a4a6fe92279..16811a956fe 100644
--- a/src/emu/video/mc6845.c
+++ b/src/emu/video/mc6845.c
@@ -100,6 +100,10 @@ void mc6845_device::device_config_complete()
else
{
m_show_border_area = false;
+ m_visarea_adjust_min_x = 0;
+ m_visarea_adjust_max_x = 0;
+ m_visarea_adjust_min_y = 0;
+ m_visarea_adjust_max_y = 0;
m_hpixels_per_column = 0;
m_begin_update = NULL;
m_update_row = NULL;
@@ -531,7 +535,7 @@ void mc6845_device::recompute_parameters(bool postload)
if(m_show_border_area)
visarea.set(0, horiz_pix_total+1, 0, vert_pix_total+1);
else
- visarea.set(0, max_visible_x, 0, max_visible_y);
+ visarea.set(0 + m_visarea_adjust_min_x, max_visible_x + m_visarea_adjust_max_x, 0 + m_visarea_adjust_min_y, max_visible_y + m_visarea_adjust_max_y);
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",
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));
@@ -1064,6 +1068,10 @@ void mc6845_device::device_start()
m_disp_start_addr = 0;
save_item(NAME(m_show_border_area));
+ save_item(NAME(m_visarea_adjust_min_x));
+ save_item(NAME(m_visarea_adjust_max_x));
+ save_item(NAME(m_visarea_adjust_min_y));
+ save_item(NAME(m_visarea_adjust_max_y));
save_item(NAME(m_hpixels_per_column));
save_item(NAME(m_register_address_latch));
save_item(NAME(m_horiz_char_total));
diff --git a/src/emu/video/mc6845.h b/src/emu/video/mc6845.h
index b9f765f03bb..0de372e3b3b 100644
--- a/src/emu/video/mc6845.h
+++ b/src/emu/video/mc6845.h
@@ -73,6 +73,13 @@ typedef void (*mc6845_on_update_addr_changed_func)(mc6845_device *device, int ad
struct mc6845_interface
{
bool m_show_border_area; /* visible screen area (false) active display (true) active display + blanking */
+
+ /* visible screen area adjustment */
+ int m_visarea_adjust_min_x;
+ int m_visarea_adjust_max_x;
+ int m_visarea_adjust_min_y;
+ int m_visarea_adjust_max_y;
+
int m_hpixels_per_column; /* number of pixels per video memory address */
/* if specified, this gets called before any pixel update,
diff --git a/src/emu/video/pc_cga.c b/src/emu/video/pc_cga.c
index 3ae176b7a09..d22b9177bf2 100644
--- a/src/emu/video/pc_cga.c
+++ b/src/emu/video/pc_cga.c
@@ -185,6 +185,7 @@ static VIDEO_START( cga_mc1502 );
static MC6845_INTERFACE( mc6845_cga_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
cga_update_row, /* update_row */
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index f612906ad37..2dfdb798143 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -365,6 +365,7 @@ static const ay8910_interface ay8910_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index cdd732ecffa..5d0c21e45d8 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -998,6 +998,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index 92a9de5ce88..6140046d62f 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -214,6 +214,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index db68248b904..8da8e869784 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -796,6 +796,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 426d9808a59..ab5603ff97f 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -1571,6 +1571,7 @@ static MC6845_INTERFACE( mc6845_intf )
that's why the big horizontal parameters */
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index b72dc942bfa..9572b65d89c 100644
--- a/src/mame/drivers/avt.c
+++ b/src/mame/drivers/avt.c
@@ -850,6 +850,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index fd5a83c74d8..72ce79eb1f1 100644
--- a/src/mame/drivers/blitz.c
+++ b/src/mame/drivers/blitz.c
@@ -743,6 +743,7 @@ static const pia6821_interface megadpkr_pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/blitz68k.c b/src/mame/drivers/blitz68k.c
index 3e5b9d81448..8c90bc6497e 100644
--- a/src/mame/drivers/blitz68k.c
+++ b/src/mame/drivers/blitz68k.c
@@ -1668,6 +1668,7 @@ WRITE_LINE_MEMBER(blitz68k_state::crtc_vsync_irq5)
static MC6845_INTERFACE( mc6845_intf_irq1 )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -1682,6 +1683,7 @@ static MC6845_INTERFACE( mc6845_intf_irq1 )
static MC6845_INTERFACE( mc6845_intf_irq3 )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
@@ -1696,6 +1698,7 @@ static MC6845_INTERFACE( mc6845_intf_irq3 )
static MC6845_INTERFACE( mc6845_intf_irq5 )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 460d25d7d73..7dd6bf9aa29 100644
--- a/src/mame/drivers/buster.c
+++ b/src/mame/drivers/buster.c
@@ -311,6 +311,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 5779b85cf3b..bd755dde4b4 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -2709,6 +2709,7 @@ static const ay8910_interface sys906_ay8912_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index 03ea4e2cca7..38eda57e81e 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -314,6 +314,7 @@ void carrera_state::palette_init()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/chance32.c b/src/mame/drivers/chance32.c
index eee025d3f72..812a054bfd4 100644
--- a/src/mame/drivers/chance32.c
+++ b/src/mame/drivers/chance32.c
@@ -449,6 +449,7 @@ void chance32_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 8cbfc61a701..f0076b47f7a 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -997,6 +997,7 @@ static const ay8910_interface ay8912_interface =
static MC6845_INTERFACE( h46505_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index b630cf53602..8b47fad076e 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -153,6 +153,7 @@ Dip locations verified with manual for docastle, dorunrun and dowild.
#include "emu.h"
#include "cpu/z80/z80.h"
+#include "video/mc6845.h"
#include "sound/msm5205.h"
#include "sound/sn76496.h"
#include "includes/docastle.h"
@@ -240,8 +241,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( docastle_io_map, AS_IO, 8, docastle_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITENOP //AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x02, 0x02) AM_WRITENOP //AM_DEVWRITE("crtc", mc6845_device, register_w)
+ AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_device, address_w)
+ AM_RANGE(0x02, 0x02) AM_DEVWRITE("crtc", mc6845_device, register_w)
ADDRESS_MAP_END
@@ -544,6 +545,29 @@ static GFXDECODE_START( docastle )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32*2 )
GFXDECODE_END
+
+/*************************************
+ *
+ * 6845 CRTC interface
+ *
+ *************************************/
+
+static MC6845_INTERFACE( mc6845_intf )
+{
+ false, /* show border area */
+ 8,-8,32,32, /* visarea adjustment */
+ 8, /* number of pixels per video memory address */
+ NULL, /* before pixel update callback */
+ NULL, /* row update callback */
+ NULL, /* after pixel update callback */
+ DEVCB_NULL, /* callback for display state changes */
+ DEVCB_NULL, /* callback for cursor state changes */
+ DEVCB_NULL, /* HSYNC callback */
+ DEVCB_NULL, /* VSYNC callback */
+ NULL /* update address callback */
+};
+
+
/* Sound Interfaces */
static const msm5205_interface msm5205_config =
@@ -607,7 +631,7 @@ static MACHINE_CONFIG_START( docastle, docastle_state )
MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse)
/* video hardware */
- //MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_9_828MHz / 16, mc6845_intf)
+ MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_9_828MHz / 16, mc6845_intf)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_9_828MHz/2, 0x138, 0+8, 0x110-24, 0x108, 0+32, 0xe0) // from crtc
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index 837a55e2420..70d7cbf97e5 100644
--- a/src/mame/drivers/flipjack.c
+++ b/src/mame/drivers/flipjack.c
@@ -432,6 +432,7 @@ static const ay8910_interface ay8910_config_2 =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index a3f9d5ffc7e..664a3dad8f2 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -538,6 +538,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index b694c621f95..4804f748576 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -2539,6 +2539,7 @@ static const ay8910_interface funquiz_ay8910_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/gluck2.c b/src/mame/drivers/gluck2.c
index 7a99a216a00..61d97da6bca 100644
--- a/src/mame/drivers/gluck2.c
+++ b/src/mame/drivers/gluck2.c
@@ -508,6 +508,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index b4a0de25b2e..946606bbb94 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -3643,6 +3643,7 @@ static const pia6821_interface bchancep_pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index 78f12116d2c..cf369061cc6 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -461,6 +461,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 124eff357c0..ea792fe661e 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -461,6 +461,7 @@ static const pia6821_interface pia1_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index 3dff37c1be7..5179b13166f 100644
--- a/src/mame/drivers/jubilee.c
+++ b/src/mame/drivers/jubilee.c
@@ -420,6 +420,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 45403d232eb..14ed5951007 100644
--- a/src/mame/drivers/kingdrby.c
+++ b/src/mame/drivers/kingdrby.c
@@ -919,6 +919,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/laserbas.c b/src/mame/drivers/laserbas.c
index 6ab66630890..4b07b604968 100644
--- a/src/mame/drivers/laserbas.c
+++ b/src/mame/drivers/laserbas.c
@@ -289,6 +289,7 @@ void laserbas_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index eb0b0074a1c..1107b6ea91e 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -978,6 +978,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index 2aa35b70fd5..01e179a57cb 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -922,6 +922,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index d8189fa943b..e7b6f510187 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -1004,6 +1004,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 9239877e26d..f956f1d148d 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -318,6 +318,7 @@ WRITE_LINE_MEMBER(merit_state::vsync_changed)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index fcba3c47193..275c72f3482 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -396,6 +396,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/mpu12wbk.c b/src/mame/drivers/mpu12wbk.c
index 562419a5279..0306d7f99da 100644
--- a/src/mame/drivers/mpu12wbk.c
+++ b/src/mame/drivers/mpu12wbk.c
@@ -496,6 +496,7 @@ static const ay8910_interface ay8910_config =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index 4bed52c15d4..a9c46b1c8ed 100644
--- a/src/mame/drivers/mpu4dealem.c
+++ b/src/mame/drivers/mpu4dealem.c
@@ -147,6 +147,7 @@ WRITE_LINE_MEMBER(mpu4dealem_state::dealem_vsync_changed)
static MC6845_INTERFACE( hd6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index 772db62e35f..8cfa98309bc 100644
--- a/src/mame/drivers/murogem.c
+++ b/src/mame/drivers/murogem.c
@@ -235,6 +235,7 @@ UINT32 murogem_state::screen_update_murogem(screen_device &screen, bitmap_ind16
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index 04a1f13693d..98d054e33fb 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -428,6 +428,7 @@ WRITE_LINE_MEMBER(nyny_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index 17ef1e16434..b23a5507d61 100644
--- a/src/mame/drivers/othello.c
+++ b/src/mame/drivers/othello.c
@@ -372,6 +372,7 @@ INPUT_PORTS_END
static MC6845_INTERFACE( h46505_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
TILE_WIDTH, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 1d7a4ad2e9c..749c48a776a 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -303,6 +303,7 @@ static MC6845_ON_UPDATE_ADDR_CHANGED(crtc_addr);
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index cfea9225575..73d06b1c69e 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -377,6 +377,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index 1f877aaf85f..4f0cedda5aa 100644
--- a/src/mame/drivers/r2dtank.c
+++ b/src/mame/drivers/r2dtank.c
@@ -399,6 +399,7 @@ WRITE_LINE_MEMBER(r2dtank_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index 16cc18afa9e..18312f2803e 100644
--- a/src/mame/drivers/rgum.c
+++ b/src/mame/drivers/rgum.c
@@ -233,6 +233,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/sanremo.c b/src/mame/drivers/sanremo.c
index 7a2f0a8724c..1919d4ac63e 100644
--- a/src/mame/drivers/sanremo.c
+++ b/src/mame/drivers/sanremo.c
@@ -346,6 +346,7 @@ static const mc6845_interface mc6845_intf =
*/
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index 795a3529a60..cfdf7e88f9f 100644
--- a/src/mame/drivers/slotcarn.c
+++ b/src/mame/drivers/slotcarn.c
@@ -171,6 +171,7 @@ WRITE_LINE_MEMBER(slotcarn_state::vsync_changed)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index a4c4e30893e..d924965979e 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -755,6 +755,7 @@ INTERRUPT_GEN_MEMBER(snk6502_state::snk6502_interrupt)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index ed3fded3007..3c70d9cb21d 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -288,6 +288,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index 5ed67c7a017..3c804eab1ec 100644
--- a/src/mame/drivers/spiders.c
+++ b/src/mame/drivers/spiders.c
@@ -508,6 +508,7 @@ WRITE_LINE_MEMBER(spiders_state::display_enable_changed)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c
index 8e6aab8d703..5e7cd95e53c 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -271,6 +271,7 @@ static MC6845_UPDATE_ROW( atamanot_update_row )
static MC6845_INTERFACE( ssingles_mc6845_intf )
{
false,
+ 0,0,0,0,
8,
NULL, /* before pixel update callback */
ssingles_update_row, /* row update callback */
@@ -285,6 +286,7 @@ static MC6845_INTERFACE( ssingles_mc6845_intf )
static MC6845_INTERFACE( atamanot_mc6845_intf )
{
false,
+ 0,0,0,0,
8,
NULL, /* before pixel update callback */
atamanot_update_row, /* row update callback */
diff --git a/src/mame/drivers/supercrd.c b/src/mame/drivers/supercrd.c
index 52f3f870ac8..2e4e053aa1e 100644
--- a/src/mame/drivers/supercrd.c
+++ b/src/mame/drivers/supercrd.c
@@ -409,6 +409,7 @@ GFXDECODE_END
//static MC6845_INTERFACE( mc6845_intf )
//{
// false,
+// 0,0,0,0, /* visarea adjustment */
// 4, /* number of pixels per video memory address */
// NULL, /* before pixel update callback */
// NULL, /* row update callback */
diff --git a/src/mame/drivers/tapatune.c b/src/mame/drivers/tapatune.c
index 47c76d6eaca..88f9bb7fcf4 100644
--- a/src/mame/drivers/tapatune.c
+++ b/src/mame/drivers/tapatune.c
@@ -514,6 +514,7 @@ INPUT_PORTS_END
static MC6845_INTERFACE( h46505_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
5, /* number of pixels per video memory address */
begin_update,/* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index c6d5dd97eb1..4edabb47a61 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -550,6 +550,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index f0cc18e69f5..48929cf9e5c 100644
--- a/src/mame/drivers/truco.c
+++ b/src/mame/drivers/truco.c
@@ -435,6 +435,7 @@ static const pia6821_interface pia0_intf =
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
4, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index e1f05faa185..722abeec3e6 100644
--- a/src/mame/drivers/usgames.c
+++ b/src/mame/drivers/usgames.c
@@ -215,6 +215,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index 23eb33c49e7..b1a82d5fa87 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -578,6 +578,7 @@ WRITE_LINE_MEMBER(vcombat_state::sound_update)
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/drivers/vlc.c b/src/mame/drivers/vlc.c
index b8a324cb7cc..81206ecdd6b 100644
--- a/src/mame/drivers/vlc.c
+++ b/src/mame/drivers/vlc.c
@@ -234,6 +234,7 @@ static const UINT8 pal35[256] = {
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/video/decodmd2.c b/src/mame/video/decodmd2.c
index 73f424579f3..03611361fb2 100644
--- a/src/mame/video/decodmd2.c
+++ b/src/mame/video/decodmd2.c
@@ -117,15 +117,16 @@ MC6845_UPDATE_ROW( dmd_update_row )
MC6845_INTERFACE( decodmd2_6845_intf )
{
- false, /* show border area */
- 8, /* number of pixels per video memory address */
- NULL, /* begin_update */
- dmd_update_row, /* update_row */
- NULL, /* end_update */
- DEVCB_NULL, /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
- DEVCB_NULL, /* on_hsync_changed */
- DEVCB_NULL, /* on_vsync_changed */
+ false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
+ 8, /* number of pixels per video memory address */
+ NULL, /* begin_update */
+ dmd_update_row, /* update_row */
+ NULL, /* end_update */
+ DEVCB_NULL, /* on_de_changed */
+ DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_hsync_changed */
+ DEVCB_NULL, /* on_vsync_changed */
NULL
};
diff --git a/src/mame/video/decodmd3.c b/src/mame/video/decodmd3.c
index 25c7a14b164..5632b08382f 100644
--- a/src/mame/video/decodmd3.c
+++ b/src/mame/video/decodmd3.c
@@ -121,15 +121,16 @@ MC6845_UPDATE_ROW( dmd64_update_row )
MC6845_INTERFACE( decodmd3_6845_intf )
{
- false, /* show border area */
- 16, /* number of pixels per video memory address */
- NULL, /* begin_update */
- dmd64_update_row, /* update_row */
- NULL, /* end_update */
- DEVCB_NULL, /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
- DEVCB_NULL, /* on_hsync_changed */
- DEVCB_NULL, /* on_vsync_changed */
+ false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
+ 16, /* number of pixels per video memory address */
+ NULL, /* begin_update */
+ dmd64_update_row, /* update_row */
+ NULL, /* end_update */
+ DEVCB_NULL, /* on_de_changed */
+ DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_hsync_changed */
+ DEVCB_NULL, /* on_vsync_changed */
NULL
};
diff --git a/src/mame/video/madalien.c b/src/mame/video/madalien.c
index 0788962f0f9..391f67c545a 100644
--- a/src/mame/video/madalien.c
+++ b/src/mame/video/madalien.c
@@ -377,6 +377,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mame/video/qix.c b/src/mame/video/qix.c
index 59b00c419fc..0694a2ba357 100644
--- a/src/mame/video/qix.c
+++ b/src/mame/video/qix.c
@@ -385,6 +385,7 @@ ADDRESS_MAP_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
begin_update, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c
index c8928e972f7..a0844c972e8 100644
--- a/src/mame/video/twincobr.c
+++ b/src/mame/video/twincobr.c
@@ -21,6 +21,7 @@
MC6845_INTERFACE( twincobr_mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
2, /* number of pixels per video memory address */ /* Horizontal Display programmed to 160 characters */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/a6809.c b/src/mess/drivers/a6809.c
index 44d3ff8a417..f24e3775718 100644
--- a/src/mess/drivers/a6809.c
+++ b/src/mess/drivers/a6809.c
@@ -132,6 +132,7 @@ static MC6845_UPDATE_ROW( a6809_update_row )
static MC6845_INTERFACE( a6809_crtc6845_interface )
{
false,
+ 0,0,0,0,
12,
NULL,
a6809_update_row,
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index cfbdfe3ae72..9ab1691af3b 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -398,6 +398,7 @@ void alphatro_state::palette_init()
static MC6845_INTERFACE( alphatro_crtc6845_interface )
{
false,
+ 0,0,0,0,
8,
NULL,
alphatro_update_row,
diff --git a/src/mess/drivers/applix.c b/src/mess/drivers/applix.c
index 86d23c54f67..bd03c82bf33 100644
--- a/src/mess/drivers/applix.c
+++ b/src/mess/drivers/applix.c
@@ -810,6 +810,7 @@ static MC6845_UPDATE_ROW( applix_update_row )
static MC6845_INTERFACE( applix_crtc )
{
false, // should show a border
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
applix_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/apricot.c b/src/mess/drivers/apricot.c
index e1889b4857f..3e3f3814da6 100644
--- a/src/mess/drivers/apricot.c
+++ b/src/mess/drivers/apricot.c
@@ -292,6 +292,7 @@ static MC6845_UPDATE_ROW( apricot_update_row )
static MC6845_INTERFACE( apricot_mc6845_intf )
{
false,
+ 0,0,0,0,
10,
NULL,
apricot_update_row,
diff --git a/src/mess/drivers/apricotp.c b/src/mess/drivers/apricotp.c
index adaab62ab87..4f498f7c941 100644
--- a/src/mess/drivers/apricotp.c
+++ b/src/mess/drivers/apricotp.c
@@ -62,6 +62,7 @@ static MC6845_UPDATE_ROW( fp_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
fp_update_row,
diff --git a/src/mess/drivers/b16.c b/src/mess/drivers/b16.c
index 17aca792dcc..9e8c1b207c5 100644
--- a/src/mess/drivers/b16.c
+++ b/src/mess/drivers/b16.c
@@ -256,6 +256,7 @@ void b16_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/bigbord2.c b/src/mess/drivers/bigbord2.c
index 2423eaab4f6..185102b30b6 100644
--- a/src/mess/drivers/bigbord2.c
+++ b/src/mess/drivers/bigbord2.c
@@ -613,6 +613,7 @@ MC6845_UPDATE_ROW( bigbord2_update_row )
static MC6845_INTERFACE( bigbord2_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
bigbord2_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/bml3.c b/src/mess/drivers/bml3.c
index a25e09f7edb..7c320d184f9 100644
--- a/src/mess/drivers/bml3.c
+++ b/src/mess/drivers/bml3.c
@@ -676,6 +676,7 @@ static MC6845_UPDATE_ROW( update_row )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mess/drivers/bw12.c b/src/mess/drivers/bw12.c
index 64ddd9000e3..e69a07963f9 100644
--- a/src/mess/drivers/bw12.c
+++ b/src/mess/drivers/bw12.c
@@ -356,6 +356,7 @@ static MC6845_UPDATE_ROW( bw12_update_row )
static MC6845_INTERFACE( bw12_mc6845_interface )
{
false,
+ 0,0,0,0,
8,
NULL,
bw12_update_row,
diff --git a/src/mess/drivers/c128.c b/src/mess/drivers/c128.c
index 4766bb9c391..693aee2f525 100644
--- a/src/mess/drivers/c128.c
+++ b/src/mess/drivers/c128.c
@@ -882,6 +882,7 @@ GFXDECODE_END
static MC6845_INTERFACE( vdc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
NULL,
diff --git a/src/mess/drivers/camplynx.c b/src/mess/drivers/camplynx.c
index 79183a321c4..99494bf6c30 100644
--- a/src/mess/drivers/camplynx.c
+++ b/src/mess/drivers/camplynx.c
@@ -436,6 +436,7 @@ void camplynx_state::video_start()
static MC6845_INTERFACE( lynx48k_crtc6845_interface )
{
false,
+ 0,0,0,0,
8,
NULL,
lynx48k_update_row,
@@ -451,6 +452,7 @@ static MC6845_INTERFACE( lynx48k_crtc6845_interface )
static MC6845_INTERFACE( lynx128k_crtc6845_interface )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* dots per character */
NULL,
lynx128k_update_row, /* callback to display one scanline */
diff --git a/src/mess/drivers/cbm2.c b/src/mess/drivers/cbm2.c
index 3cc379a0849..9417b003c16 100644
--- a/src/mess/drivers/cbm2.c
+++ b/src/mess/drivers/cbm2.c
@@ -1133,6 +1133,7 @@ static MC6845_UPDATE_ROW( crtc_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
9,
NULL,
crtc_update_row,
diff --git a/src/mess/drivers/dim68k.c b/src/mess/drivers/dim68k.c
index a83bef9eaea..90db7ddf189 100644
--- a/src/mess/drivers/dim68k.c
+++ b/src/mess/drivers/dim68k.c
@@ -295,6 +295,7 @@ GFXDECODE_END
static MC6845_INTERFACE( dim68k_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character - switchable 7 or 8 */
NULL,
dim68k_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/ec65.c b/src/mess/drivers/ec65.c
index eb8cc495679..e18843826b7 100644
--- a/src/mess/drivers/ec65.c
+++ b/src/mess/drivers/ec65.c
@@ -168,6 +168,7 @@ static MC6845_UPDATE_ROW( ec65_update_row )
static MC6845_INTERFACE( ec65_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
ec65_update_row,
diff --git a/src/mess/drivers/einstein.c b/src/mess/drivers/einstein.c
index a4fe2724291..ee21821c86a 100644
--- a/src/mess/drivers/einstein.c
+++ b/src/mess/drivers/einstein.c
@@ -697,6 +697,7 @@ static const centronics_interface einstein_centronics_config =
static MC6845_INTERFACE( einstein_crtc6845_interface )
{
false,
+ 0,0,0,0,
8,
NULL,
einstein_6845_update_row,
diff --git a/src/mess/drivers/fp1100.c b/src/mess/drivers/fp1100.c
index 5110b805808..9577c904c76 100644
--- a/src/mess/drivers/fp1100.c
+++ b/src/mess/drivers/fp1100.c
@@ -321,6 +321,7 @@ static const UPD7810_CONFIG fp1100_slave_cpu_config = { TYPE_7801, NULL };
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
fp1100_update_row, /* row update callback */
diff --git a/src/mess/drivers/fp6000.c b/src/mess/drivers/fp6000.c
index 68d07cd090b..6accf03f7df 100644
--- a/src/mess/drivers/fp6000.c
+++ b/src/mess/drivers/fp6000.c
@@ -287,6 +287,7 @@ void fp6000_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/h19.c b/src/mess/drivers/h19.c
index d55115f51bf..d75456ef797 100644
--- a/src/mess/drivers/h19.c
+++ b/src/mess/drivers/h19.c
@@ -371,6 +371,7 @@ static const ins8250_interface h19_ace_interface =
static MC6845_INTERFACE( h19_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
h19_update_row,
diff --git a/src/mess/drivers/hp9k.c b/src/mess/drivers/hp9k.c
index 86428c1deb7..360550218b3 100644
--- a/src/mess/drivers/hp9k.c
+++ b/src/mess/drivers/hp9k.c
@@ -389,6 +389,7 @@ WRITE8_MEMBER( hp9k_state::kbd_put )
static MC6845_INTERFACE( hp9k_mc6845_intf )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
NULL, /* handler to display a scanline */
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index a22f3248578..39d80dd94ab 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -151,6 +151,7 @@ static const z80_daisy_config kaypro2x_daisy_chain[] =
static MC6845_INTERFACE( kaypro2x_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
7, /* number of dots per character */
NULL,
kaypro2x_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/lola8a.c b/src/mess/drivers/lola8a.c
index 202512bf773..eb3231823be 100644
--- a/src/mess/drivers/lola8a.c
+++ b/src/mess/drivers/lola8a.c
@@ -257,6 +257,7 @@ WRITE_LINE_MEMBER(lola8a_state::crtc_vsync)
static MC6845_INTERFACE( hd46505sp_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
lola8a_update_row,
diff --git a/src/mess/drivers/m20.c b/src/mess/drivers/m20.c
index 8682e32a760..6826a7146f5 100644
--- a/src/mess/drivers/m20.c
+++ b/src/mess/drivers/m20.c
@@ -830,6 +830,7 @@ void m20_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/mbc200.c b/src/mess/drivers/mbc200.c
index 800194f61f7..0b594b3065c 100644
--- a/src/mess/drivers/mbc200.c
+++ b/src/mess/drivers/mbc200.c
@@ -140,6 +140,7 @@ MC6845_UPDATE_ROW( mbc200_update_row )
static MC6845_INTERFACE( mbc200_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
mbc200_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/mbee.c b/src/mess/drivers/mbee.c
index 276e1efbbce..950cbc9b42d 100644
--- a/src/mess/drivers/mbee.c
+++ b/src/mess/drivers/mbee.c
@@ -662,6 +662,7 @@ SLOT_INTERFACE_END
static MC6845_INTERFACE( mbee_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
mbee_update_row, /* handler to display a scanline */
@@ -677,6 +678,7 @@ static MC6845_INTERFACE( mbee_crtc )
static MC6845_INTERFACE( mbeeic_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
mbeeic_update_row, /* handler to display a scanline */
@@ -691,6 +693,7 @@ static MC6845_INTERFACE( mbeeic_crtc )
static MC6845_INTERFACE( mbeeppc_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
mbeeppc_update_row, /* handler to display a scanline */
@@ -705,6 +708,7 @@ static MC6845_INTERFACE( mbeeppc_crtc )
static MC6845_INTERFACE( mbee256_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
8, /* number of dots per character */
NULL,
mbeeppc_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/multi16.c b/src/mess/drivers/multi16.c
index 7766f965795..8df82838295 100644
--- a/src/mess/drivers/multi16.c
+++ b/src/mess/drivers/multi16.c
@@ -142,6 +142,7 @@ void multi16_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/multi8.c b/src/mess/drivers/multi8.c
index c8d1d8cfa6a..bf97e60fb84 100644
--- a/src/mess/drivers/multi8.c
+++ b/src/mess/drivers/multi8.c
@@ -563,6 +563,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c
index e55b43604e9..a60fb06d750 100644
--- a/src/mess/drivers/myb3k.c
+++ b/src/mess/drivers/myb3k.c
@@ -26,9 +26,8 @@ public:
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_fdc(*this, "fdc"),
- m_crtc(*this, "crtc")
- ,
- m_p_vram(*this, "p_vram"){ }
+ m_crtc(*this, "crtc"),
+ m_p_vram(*this, "p_vram"){ }
required_device<cpu_device> m_maincpu;
required_device<mb8877_device> m_fdc;
@@ -235,6 +234,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/mycom.c b/src/mess/drivers/mycom.c
index f7fd409e951..7fd0051d4c2 100644
--- a/src/mess/drivers/mycom.c
+++ b/src/mess/drivers/mycom.c
@@ -339,6 +339,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
mycom_update_row, /* row update callback */
diff --git a/src/mess/drivers/paso1600.c b/src/mess/drivers/paso1600.c
index 2aad38c1973..3567d2f6566 100644
--- a/src/mess/drivers/paso1600.c
+++ b/src/mess/drivers/paso1600.c
@@ -271,6 +271,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/pasopia.c b/src/mess/drivers/pasopia.c
index b39b9150547..810097267ad 100644
--- a/src/mess/drivers/pasopia.c
+++ b/src/mess/drivers/pasopia.c
@@ -303,6 +303,7 @@ static Z80PIO_INTERFACE( z80pio_intf )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
pasopia_update_row, /* row update callback */
diff --git a/src/mess/drivers/pasopia7.c b/src/mess/drivers/pasopia7.c
index 0294401c040..25d2f1a2977 100644
--- a/src/mess/drivers/pasopia7.c
+++ b/src/mess/drivers/pasopia7.c
@@ -729,6 +729,7 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/pet.c b/src/mess/drivers/pet.c
index fdd26d6d29a..4f8a9e5bba5 100644
--- a/src/mess/drivers/pet.c
+++ b/src/mess/drivers/pet.c
@@ -1173,6 +1173,7 @@ static MC6845_UPDATE_ROW( pet80_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
2*8,
NULL,
pet80_update_row,
@@ -1236,6 +1237,7 @@ static MC6845_UPDATE_ROW( cbm8296_update_row )
static MC6845_INTERFACE( cbm8296_crtc_intf )
{
false,
+ 0,0,0,0,
2*8,
NULL,
cbm8296_update_row,
diff --git a/src/mess/drivers/pyl601.c b/src/mess/drivers/pyl601.c
index dad242ee4c4..cd36765405f 100644
--- a/src/mess/drivers/pyl601.c
+++ b/src/mess/drivers/pyl601.c
@@ -471,6 +471,7 @@ static MC6845_UPDATE_ROW( pyl601a_update_row )
static MC6845_INTERFACE( pyl601_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
pyl601_update_row,
@@ -485,6 +486,7 @@ static MC6845_INTERFACE( pyl601_crtc6845_interface )
static MC6845_INTERFACE( pyl601a_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
pyl601a_update_row,
diff --git a/src/mess/drivers/sapi1.c b/src/mess/drivers/sapi1.c
index b2db7891511..b1621dc7f2a 100644
--- a/src/mess/drivers/sapi1.c
+++ b/src/mess/drivers/sapi1.c
@@ -432,6 +432,7 @@ static MC6845_UPDATE_ROW( update_row )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
6, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index 5d90393589f..0ab7e8887c8 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -1002,6 +1002,7 @@ void smc777_state::machine_reset()
static MC6845_INTERFACE( mc6845_intf )
{
true, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index fd4c331f464..71d20ceb8af 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -618,6 +618,7 @@ static const cassette_interface super80_cassette_interface =
static MC6845_INTERFACE( super80v_crtc )
{
false,
+ 0,0,0,0, /* visarea adjustment */
SUPER80V_DOTS, /* number of dots per character */
NULL,
super80v_update_row, /* handler to display a scanline */
diff --git a/src/mess/drivers/svi318.c b/src/mess/drivers/svi318.c
index 30679b36e6f..4c2fa75b112 100644
--- a/src/mess/drivers/svi318.c
+++ b/src/mess/drivers/svi318.c
@@ -388,6 +388,7 @@ MACHINE_CONFIG_END
static MC6845_INTERFACE( svi806_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
svi806_crtc6845_update_row,
diff --git a/src/mess/drivers/tavernie.c b/src/mess/drivers/tavernie.c
index 9d7331c18dc..a29cbd8e8b9 100644
--- a/src/mess/drivers/tavernie.c
+++ b/src/mess/drivers/tavernie.c
@@ -232,6 +232,7 @@ static MC6845_UPDATE_ROW( update_row )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
update_row, /* row update callback */
diff --git a/src/mess/drivers/trs80m2.c b/src/mess/drivers/trs80m2.c
index d6d52b0fbdb..109fd117506 100644
--- a/src/mess/drivers/trs80m2.c
+++ b/src/mess/drivers/trs80m2.c
@@ -428,6 +428,7 @@ WRITE_LINE_MEMBER( trs80m2_state::vsync_w )
static MC6845_INTERFACE( mc6845_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
trs80m2_update_row,
diff --git a/src/mess/drivers/tvc.c b/src/mess/drivers/tvc.c
index 1181027862e..6056d8ab14f 100644
--- a/src/mess/drivers/tvc.c
+++ b/src/mess/drivers/tvc.c
@@ -636,6 +636,7 @@ QUICKLOAD_LOAD_MEMBER( tvc_state,tvc64)
static MC6845_INTERFACE( tvc_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
tvc_update_row,
diff --git a/src/mess/drivers/v6809.c b/src/mess/drivers/v6809.c
index 81ad03deaae..ac8632e8802 100644
--- a/src/mess/drivers/v6809.c
+++ b/src/mess/drivers/v6809.c
@@ -192,7 +192,8 @@ MC6845_ON_UPDATE_ADDR_CHANGED( v6809_update_addr )
static MC6845_INTERFACE( v6809_crtc )
{
false,
- 8, /* number of dots per character */
+ 0,0,0,0, /* visarea adjustment */
+ 8, /* number of dots per character */
NULL,
v6809_update_row, /* handler to display a scanline */
NULL,
diff --git a/src/mess/drivers/victor9k.c b/src/mess/drivers/victor9k.c
index 9d8af38d863..020338ed995 100644
--- a/src/mess/drivers/victor9k.c
+++ b/src/mess/drivers/victor9k.c
@@ -308,6 +308,7 @@ WRITE_LINE_MEMBER(victor9k_state::vert_w)
static MC6845_INTERFACE( hd46505s_intf )
{
false,
+ 0,0,0,0,
10,
NULL,
victor9k_update_row,
diff --git a/src/mess/drivers/vk100.c b/src/mess/drivers/vk100.c
index 4042dd5fb6b..59f186d9828 100644
--- a/src/mess/drivers/vk100.c
+++ b/src/mess/drivers/vk100.c
@@ -996,6 +996,7 @@ static MC6845_UPDATE_ROW( vk100_update_row )
static MC6845_INTERFACE( mc6845_intf )
{
false,
+ 0,0,0,0,
12,
NULL,
vk100_update_row,
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index 993ddab55aa..bca3bed4c7b 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -1883,6 +1883,7 @@ static I8255A_INTERFACE( ppi8255_intf )
static MC6845_INTERFACE( mc6845_intf )
{
true, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/x1twin.c b/src/mess/drivers/x1twin.c
index 2c046ce6abd..f60463d4f14 100644
--- a/src/mess/drivers/x1twin.c
+++ b/src/mess/drivers/x1twin.c
@@ -93,6 +93,7 @@ static I8255A_INTERFACE( ppi8255_intf )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area*/
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c
index 7ef6a6d4020..ba150e11a66 100644
--- a/src/mess/drivers/z100.c
+++ b/src/mess/drivers/z100.c
@@ -617,6 +617,7 @@ READ8_MEMBER( z100_state::get_slave_ack )
static MC6845_INTERFACE( mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* number of pixels per video memory address */
NULL, /* before pixel update callback */
NULL, /* row update callback */
diff --git a/src/mess/drivers/zrt80.c b/src/mess/drivers/zrt80.c
index b2b78f22591..0b2b4f4def6 100644
--- a/src/mess/drivers/zrt80.c
+++ b/src/mess/drivers/zrt80.c
@@ -249,6 +249,7 @@ static MC6845_UPDATE_ROW( zrt80_update_row )
static MC6845_INTERFACE( zrt80_crtc6845_interface )
{
false,
+ 0,0,0,0,
8 /*?*/,
NULL,
zrt80_update_row,
diff --git a/src/mess/machine/amstrad.c b/src/mess/machine/amstrad.c
index 10217ea5d08..3c9448af7ff 100644
--- a/src/mess/machine/amstrad.c
+++ b/src/mess/machine/amstrad.c
@@ -1088,6 +1088,7 @@ UINT32 amstrad_state::screen_update_amstrad(screen_device &screen, bitmap_ind16
MC6845_INTERFACE( amstrad_mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* begin_update */
NULL, /* update_row */
@@ -1103,6 +1104,7 @@ MC6845_INTERFACE( amstrad_mc6845_intf )
MC6845_INTERFACE( amstrad_plus_mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
16, /* number of pixels per video memory address */
NULL, /* begin_update */
NULL, /* update_row */
diff --git a/src/mess/video/abc1600.c b/src/mess/video/abc1600.c
index a506b2463af..d6ca04f9fa5 100644
--- a/src/mess/video/abc1600.c
+++ b/src/mess/video/abc1600.c
@@ -207,6 +207,7 @@ static MC6845_ON_UPDATE_ADDR_CHANGED( crtc_update )
static MC6845_INTERFACE( crtc_intf )
{
true,
+ 0,0,0,0,
32,
NULL,
abc1600_update_row,
diff --git a/src/mess/video/abc800.c b/src/mess/video/abc800.c
index e6b34ffa2f9..ecf486bcc89 100644
--- a/src/mess/video/abc800.c
+++ b/src/mess/video/abc800.c
@@ -272,6 +272,7 @@ static MC6845_UPDATE_ROW( abc800m_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
ABC800_CHAR_WIDTH,
NULL,
abc800m_update_row,
diff --git a/src/mess/video/abc802.c b/src/mess/video/abc802.c
index 35a83b33fd2..53a1b9e0428 100644
--- a/src/mess/video/abc802.c
+++ b/src/mess/video/abc802.c
@@ -192,6 +192,7 @@ WRITE_LINE_MEMBER( abc802_state::vs_w )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
ABC800_CHAR_WIDTH,
NULL,
abc802_update_row,
diff --git a/src/mess/video/abc806.c b/src/mess/video/abc806.c
index 9a22f9d3fe9..05093fd5b6c 100644
--- a/src/mess/video/abc806.c
+++ b/src/mess/video/abc806.c
@@ -414,6 +414,7 @@ WRITE_LINE_MEMBER( abc806_state::vs_w )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
ABC800_CHAR_WIDTH,
NULL,
abc806_update_row,
diff --git a/src/mess/video/bbc.c b/src/mess/video/bbc.c
index 4771e3c80d9..b0d902363f1 100644
--- a/src/mess/video/bbc.c
+++ b/src/mess/video/bbc.c
@@ -255,6 +255,7 @@ WRITE_LINE_MEMBER(bbc_state::bbc_vsync)
MC6845_INTERFACE( bbc_mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
vid_update_row, /* update_row */
diff --git a/src/mess/video/dgn_beta.c b/src/mess/video/dgn_beta.c
index 77f7cbc78b8..96f6d58ff5b 100644
--- a/src/mess/video/dgn_beta.c
+++ b/src/mess/video/dgn_beta.c
@@ -259,6 +259,7 @@ WRITE_LINE_MEMBER(dgn_beta_state::dgnbeta_vsync_changed)
MC6845_INTERFACE( dgnbeta_crtc6845_interface )
{
false,
+ 0,0,0,0,
16 /*?*/,
NULL,
dgnbeta_update_row,
diff --git a/src/mess/video/isa_cga.c b/src/mess/video/isa_cga.c
index ea5030f90a7..2ab2f89a1af 100644
--- a/src/mess/video/isa_cga.c
+++ b/src/mess/video/isa_cga.c
@@ -607,12 +607,13 @@ static MC6845_UPDATE_ROW( cga_update_row )
static MC6845_INTERFACE( mc6845_cga_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
cga_update_row, /* update_row */
NULL, /* end_update */
- DEVCB_NULL, /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_de_changed */
+ DEVCB_NULL, /* on_cur_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_cga_device, hsync_changed), /* on_hsync_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_cga_device, vsync_changed), /* on_vsync_changed */
NULL
diff --git a/src/mess/video/isa_mda.c b/src/mess/video/isa_mda.c
index 35d484b6450..3728d938778 100644
--- a/src/mess/video/isa_mda.c
+++ b/src/mess/video/isa_mda.c
@@ -78,12 +78,13 @@ GFXDECODE_END
static MC6845_INTERFACE( mc6845_mda_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
9, /* number of pixels per video memory address */
NULL, /* begin_update */
mda_update_row, /* update_row */
NULL, /* end_update */
- DEVCB_NULL, /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_de_changed */
+ DEVCB_NULL, /* on_cur_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_mda_device, hsync_changed), /* on_hsync_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_mda_device, vsync_changed), /* on_vsync_changed */
NULL
@@ -498,6 +499,7 @@ The divder/pixels per 6845 clock is 9 for text mode and 16 for graphics mode.
static MC6845_INTERFACE( mc6845_hercules_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
9, /* number of pixels per video memory address */
NULL, /* begin_update */
mda_update_row, /* update_row */
diff --git a/src/mess/video/mbc55x.c b/src/mess/video/mbc55x.c
index 14a54106f1a..f8ba1646970 100644
--- a/src/mess/video/mbc55x.c
+++ b/src/mess/video/mbc55x.c
@@ -161,6 +161,7 @@ WRITE_LINE_MEMBER( mbc55x_state::vid_vsync_changed )
MC6845_INTERFACE( mb55x_mc6845_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
vid_update_row, /* update_row */
diff --git a/src/mess/video/pc1512.c b/src/mess/video/pc1512.c
index e3303b2772e..1c53e1d8760 100644
--- a/src/mess/video/pc1512.c
+++ b/src/mess/video/pc1512.c
@@ -531,6 +531,7 @@ static MC6845_UPDATE_ROW( pc1512_update_row )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
pc1512_update_row,
diff --git a/src/mess/video/pc8401a.c b/src/mess/video/pc8401a.c
index f8bee5742aa..919032a46e1 100644
--- a/src/mess/video/pc8401a.c
+++ b/src/mess/video/pc8401a.c
@@ -59,6 +59,7 @@ static MC6845_UPDATE_ROW( pc8441a_update_row )
static MC6845_INTERFACE( pc8441a_mc6845_interface )
{
false,
+ 0,0,0,0,
6,
NULL,
pc8441a_update_row,
diff --git a/src/mess/video/pc_aga.c b/src/mess/video/pc_aga.c
index 357ddcca39a..46baa88ad50 100644
--- a/src/mess/video/pc_aga.c
+++ b/src/mess/video/pc_aga.c
@@ -32,6 +32,7 @@ static VIDEO_START( pc200 );
static MC6845_INTERFACE( mc6845_aga_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
aga_update_row, /* update_row */
diff --git a/src/mess/video/pc_t1t.c b/src/mess/video/pc_t1t.c
index 15d9416ac7a..a3d65e8fdb8 100644
--- a/src/mess/video/pc_t1t.c
+++ b/src/mess/video/pc_t1t.c
@@ -88,13 +88,14 @@ static MC6845_UPDATE_ROW( t1000_update_row );
static MC6845_INTERFACE( mc6845_t1000_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
t1000_update_row, /* update_row */
NULL, /* end_update */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, pc_t1t_device, t1000_de_changed), /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
- DEVCB_NULL, /* on_hsync_changed */
+ DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_hsync_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, pcvideo_t1000_device, t1000_vsync_changed), /* on_vsync_changed */
NULL,
};
@@ -120,13 +121,14 @@ machine_config_constructor pcvideo_t1000_device::device_mconfig_additions() cons
static MC6845_INTERFACE( mc6845_pcjr_intf )
{
false, /* show border area */
+ 0,0,0,0, /* visarea adjustment */
8, /* numbers of pixels per video memory address */
NULL, /* begin_update */
t1000_update_row, /* update_row */
NULL, /* end_update */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, pc_t1t_device, t1000_de_changed), /* on_de_changed */
- DEVCB_NULL, /* on_cur_changed */
- DEVCB_NULL, /* on_hsync_changed */
+ DEVCB_NULL, /* on_cur_changed */
+ DEVCB_NULL, /* on_hsync_changed */
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, pcvideo_pcjr_device, pcjr_vsync_changed), /* on_vsync_changed */
NULL
};
diff --git a/src/mess/video/v1050.c b/src/mess/video/v1050.c
index 69bad98b8d0..bddeb890188 100644
--- a/src/mess/video/v1050.c
+++ b/src/mess/video/v1050.c
@@ -98,6 +98,7 @@ WRITE_LINE_MEMBER( v1050_state::crtc_vs_w )
static MC6845_INTERFACE( crtc_intf )
{
false,
+ 0,0,0,0,
8,
NULL,
v1050_update_row,