summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/ega.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/ega.h')
-rw-r--r--src/devices/bus/isa/ega.h165
1 files changed, 83 insertions, 82 deletions
diff --git a/src/devices/bus/isa/ega.h b/src/devices/bus/isa/ega.h
index e292c5d5e4f..38310580de4 100644
--- a/src/devices/bus/isa/ega.h
+++ b/src/devices/bus/isa/ega.h
@@ -1,9 +1,9 @@
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
-#pragma once
+#ifndef MAME_BUS_ISA_EGA_H
+#define MAME_BUS_ISA_EGA_H
-#ifndef __ISA_EGA_H__
-#define __ISA_EGA_H__
+#pragma once
#include "isa.h"
#include "video/crtc_ega.h"
@@ -19,92 +19,93 @@ class isa8_ega_device :
public device_isa8_card_interface
{
public:
- // construction/destruction
- isa8_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- isa8_ega_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
-
- // optional information overrides
- virtual machine_config_constructor device_mconfig_additions() const override;
- virtual const tiny_rom_entry *device_rom_region() const override;
- virtual ioport_constructor device_input_ports() const override;
-
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_READ8_MEMBER(pc_ega8_3b0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3b0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3c0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3c0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3d0_r);
- DECLARE_WRITE8_MEMBER(pc_ega8_3d0_w);
- DECLARE_WRITE_LINE_MEMBER(de_changed);
- DECLARE_WRITE_LINE_MEMBER(hsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vsync_changed);
- DECLARE_WRITE_LINE_MEMBER(vblank_changed);
-
- CRTC_EGA_ROW_UPDATE(ega_update_row);
- CRTC_EGA_ROW_UPDATE(pc_ega_graphics);
- CRTC_EGA_ROW_UPDATE(pc_ega_text);
+ // construction/destruction
+ isa8_ega_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ // optional information overrides
+ virtual machine_config_constructor device_mconfig_additions() const override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual ioport_constructor device_input_ports() const override;
+
+ DECLARE_READ8_MEMBER(read);
+ DECLARE_WRITE8_MEMBER(write);
+ DECLARE_READ8_MEMBER(pc_ega8_3b0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3b0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3c0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3c0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3d0_r);
+ DECLARE_WRITE8_MEMBER(pc_ega8_3d0_w);
+ DECLARE_WRITE_LINE_MEMBER(de_changed);
+ DECLARE_WRITE_LINE_MEMBER(hsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vsync_changed);
+ DECLARE_WRITE_LINE_MEMBER(vblank_changed);
+
+ CRTC_EGA_ROW_UPDATE(ega_update_row);
+ CRTC_EGA_ROW_UPDATE(pc_ega_graphics);
+ CRTC_EGA_ROW_UPDATE(pc_ega_text);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
+ isa8_ega_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
- uint8_t alu_op( uint8_t data, uint8_t latch_data );
+ uint8_t alu_op( uint8_t data, uint8_t latch_data );
public:
- crtc_ega_device *m_crtc_ega;
-
- void install_banks();
- void change_mode();
- DECLARE_WRITE8_MEMBER(pc_ega8_3X0_w);
- DECLARE_READ8_MEMBER(pc_ega8_3X0_r);
-
- /* Video memory and related variables */
- memory_region *m_vram;
- uint8_t *m_plane[4];
- uint8_t m_read_latch[4];
- uint8_t *m_videoram;
- uint8_t *m_charA;
- uint8_t *m_charB;
-
- /* Registers */
- uint8_t m_misc_output;
- uint8_t m_feature_control;
-
- /* Attribute registers AR00 - AR14
- */
- struct {
- uint8_t index;
- uint8_t data[32];
- uint8_t index_write;
- } m_attribute;
-
- /* Sequencer registers SR00 - SR04
- */
- struct {
- uint8_t index;
- uint8_t data[8];
- } m_sequencer;
-
- /* Graphics controller registers GR00 - GR08
- */
- struct {
- uint8_t index;
- uint8_t data[16];
- } m_graphics_controller;
-
- uint8_t m_frame_cnt;
- uint8_t m_hsync;
- uint8_t m_vsync;
- uint8_t m_vblank;
- uint8_t m_display_enable;
- int m_video_mode;
- required_device<palette_device> m_palette;
+ crtc_ega_device *m_crtc_ega;
+
+ void install_banks();
+ void change_mode();
+ DECLARE_WRITE8_MEMBER(pc_ega8_3X0_w);
+ DECLARE_READ8_MEMBER(pc_ega8_3X0_r);
+
+ /* Video memory and related variables */
+ memory_region *m_vram;
+ uint8_t *m_plane[4];
+ uint8_t m_read_latch[4];
+ uint8_t *m_videoram;
+ uint8_t *m_charA;
+ uint8_t *m_charB;
+
+ /* Registers */
+ uint8_t m_misc_output;
+ uint8_t m_feature_control;
+
+ /* Attribute registers AR00 - AR14
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[32];
+ uint8_t index_write;
+ } m_attribute;
+
+ /* Sequencer registers SR00 - SR04
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[8];
+ } m_sequencer;
+
+ /* Graphics controller registers GR00 - GR08
+ */
+ struct {
+ uint8_t index;
+ uint8_t data[16];
+ } m_graphics_controller;
+
+ uint8_t m_frame_cnt;
+ uint8_t m_hsync;
+ uint8_t m_vsync;
+ uint8_t m_vblank;
+ uint8_t m_display_enable;
+ int m_video_mode;
+ required_device<palette_device> m_palette;
};
// device type definition
-extern const device_type ISA8_EGA;
+DECLARE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device)
-#endif /* __ISA_EGA_H__ */
+#endif // MAME_BUS_ISA_EGA_H