From 3d1b853486868d8b869be80cb841f471422cb811 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Thu, 19 Aug 2010 02:28:26 +0000 Subject: [PATCH] Added flyback --- src/mame/machine/archimds.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mame/machine/archimds.c b/src/mame/machine/archimds.c index 40e902ec0e4..8372e0041c2 100644 --- a/src/mame/machine/archimds.c +++ b/src/mame/machine/archimds.c @@ -367,10 +367,15 @@ static READ32_HANDLER( ioc_ctrl_r ) case CONTROL: { UINT8 i2c_data; + static UINT8 flyback; + int vert_pos; + + vert_pos = space->machine->primary_screen->vpos(); + flyback = (vert_pos <= vidc_regs[VIDC_VDSR] || vert_pos >= vidc_regs[VIDC_VDER]) ? 0x80 : 0x00; i2c_data = (i2cmem_sda_read(space->machine->device("i2cmem")) & 1); - return (ioc_regs[CONTROL] & 0xfc) | (i2c_clk<<1) | i2c_data; + return (flyback) | (ioc_regs[CONTROL] & 0x7c) | (i2c_clk<<1) | i2c_data; } case 1: // keyboard read @@ -705,6 +710,7 @@ WRITE32_HANDLER(archimedes_vidc_w) palette_set_color_rgb(space->machine, reg >> 2, pal4bit(r), pal4bit(g), pal4bit(b) ); /* handle 8bpp colors here */ + if(reg <= 0x3c) { int i;