summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/emu/video/i8275.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/emu/video/i8275.h')
-rw-r--r--trunk/src/emu/video/i8275.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/trunk/src/emu/video/i8275.h b/trunk/src/emu/video/i8275.h
new file mode 100644
index 00000000000..689a7f6b046
--- /dev/null
+++ b/trunk/src/emu/video/i8275.h
@@ -0,0 +1,66 @@
+/***************************************************************************
+
+ INTEL 8275 Programmable CRT Controller implementation
+
+ 25-05-2008 Initial implementation [Miodrag Milanovic]
+
+ Copyright MESS team.
+ Visit http://mamedev.org for licensing and usage restrictions.
+
+***************************************************************************/
+
+#ifndef __I8275_VIDEO__
+#define __I8275_VIDEO__
+
+#include "devcb.h"
+
+/***************************************************************************
+ MACROS
+***************************************************************************/
+
+DECLARE_LEGACY_DEVICE(I8275, i8275);
+
+/***************************************************************************
+ TYPE DEFINITIONS
+***************************************************************************/
+
+typedef void (*i8275_display_pixels_func)(device_t *device, int x, int y, UINT8 linecount, UINT8 charcode, UINT8 lineattr, UINT8 lten, UINT8 rvv, UINT8 vsp, UINT8 gpa, UINT8 hlgt);
+#define I8275_DISPLAY_PIXELS(name) void name(device_t *device, int x, int y, UINT8 linecount, UINT8 charcode, UINT8 lineattr, UINT8 lten, UINT8 rvv, UINT8 vsp, UINT8 gpa, UINT8 hlgt)
+
+/* interface */
+typedef struct _i8275_interface i8275_interface;
+struct _i8275_interface
+{
+ const char *screen_tag; /* screen we are acting on */
+ int width; /* char width in pixels */
+ int char_delay; /* delay of display char */
+
+ devcb_write_line out_drq_func;
+
+ devcb_write_line out_irq_func;
+
+ i8275_display_pixels_func display_pixels;
+};
+
+/***************************************************************************
+ FUNCTION PROTOTYPES
+***************************************************************************/
+
+/* register access */
+READ8_DEVICE_HANDLER ( i8275_r );
+WRITE8_DEVICE_HANDLER ( i8275_w );
+
+/* updates the screen */
+void i8275_update(device_t *device, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+WRITE8_DEVICE_HANDLER( i8275_dack_w );
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+#define MCFG_I8275_ADD(_tag, _intrf) \
+ MCFG_DEVICE_ADD(_tag, I8275, 0) \
+ MCFG_DEVICE_CONFIG(_intrf)
+
+#endif