diff options
Diffstat (limited to 'src/devices/video/upd7220.h')
-rw-r--r-- | src/devices/video/upd7220.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/devices/video/upd7220.h b/src/devices/video/upd7220.h index d1f8806c6ac..77011958ec5 100644 --- a/src/devices/video/upd7220.h +++ b/src/devices/video/upd7220.h @@ -90,6 +90,8 @@ protected: virtual const tiny_rom_entry *device_rom_region() const override; virtual space_config_vector memory_space_config() const override; + void start_dma(); + void stop_dma(); private: enum { @@ -112,8 +114,10 @@ private: inline void update_blank_timer(int state); inline void recompute_parameters(); inline void reset_figs_param(); - inline void read_vram(uint8_t type, uint8_t mod); - inline void write_vram(uint8_t type, uint8_t mod); + inline void rdat(uint8_t type, uint8_t mod); + inline uint16_t read_vram(); + inline void wdat(uint8_t type, uint8_t mod); + inline void write_vram(uint8_t type, uint8_t mod, uint16_t data); inline void get_text_partition(int index, uint32_t *sad, uint16_t *len, int *im, int *wd); inline void get_graphics_partition(int index, uint32_t *sad, uint16_t *len, int *im, int *wd); @@ -139,6 +143,11 @@ private: devcb_write_line m_write_vsync; devcb_write_line m_write_blank; + uint8_t m_dma_type; // DMA transfer type + uint8_t m_dma_mod; // DMA transfer mode + uint16_t m_dma_data; // current word transferred via DMA + uint32_t m_dma_transfer_length; // DMA transfer length in bytes + uint16_t m_mask; // mask register uint8_t m_pitch; // number of word addresses in display memory in the horizontal direction uint32_t m_ead; // execute word address |