devices/video: some private-ization (nw)

This commit is contained in:
Ivan Vangelista 2018-02-16 17:45:06 +01:00
parent 8c753984e1
commit b0bc2583cb
28 changed files with 174 additions and 157 deletions

View File

@ -181,15 +181,6 @@ public:
void map(address_map &map); void map(address_map &map);
DECLARE_READ8_MEMBER(address_lo_r);
DECLARE_WRITE8_MEMBER(address_lo_w);
DECLARE_READ8_MEMBER(address_hi_r);
DECLARE_WRITE8_MEMBER(address_hi_w);
DECLARE_READ8_MEMBER(register_r);
DECLARE_WRITE8_MEMBER(register_w);
DECLARE_READ8_MEMBER(palette_r);
DECLARE_WRITE8_MEMBER(palette_w);
void screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, u8 *pixel_data); void screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, u8 *pixel_data);
protected: protected:
@ -204,6 +195,15 @@ private:
void set_component(rgb_t *arr, int index, u8 data); void set_component(rgb_t *arr, int index, u8 data);
u32 get_rgb(u8 data, u8 mask) const { return m_palette_ram[data & mask]; } u32 get_rgb(u8 data, u8 mask) const { return m_palette_ram[data & mask]; }
DECLARE_READ8_MEMBER(address_lo_r);
DECLARE_WRITE8_MEMBER(address_lo_w);
DECLARE_READ8_MEMBER(address_hi_r);
DECLARE_WRITE8_MEMBER(address_hi_w);
DECLARE_READ8_MEMBER(register_r);
DECLARE_WRITE8_MEMBER(register_w);
DECLARE_READ8_MEMBER(palette_r);
DECLARE_WRITE8_MEMBER(palette_w);
// device state in memory map order // device state in memory map order
u16 m_address; u16 m_address;
int m_address_rgb; int m_address_rgb;

View File

@ -109,10 +109,11 @@ public:
DECLARE_READ8_MEMBER( read ); DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write ); DECLARE_WRITE8_MEMBER( write );
DECLARE_WRITE_LINE_MEMBER( ack_w );
DECLARE_WRITE_LINE_MEMBER( lpstb_w );
void set_character_width(int value); void set_character_width(int value);
private:
DECLARE_WRITE_LINE_MEMBER( ack_w );
DECLARE_WRITE_LINE_MEMBER( lpstb_w );
void crt9007(address_map &map); void crt9007(address_map &map);
protected: protected:

View File

@ -40,7 +40,6 @@ public:
void update_scanline(uint16_t scanline); void update_scanline(uint16_t scanline);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void ef9345(address_map &map);
protected: protected:
enum class EF9345_MODE { enum class EF9345_MODE {
@ -88,6 +87,8 @@ private:
void makechar_12x80(uint16_t x, uint16_t y); void makechar_12x80(uint16_t x, uint16_t y);
void ef9345_exec(uint8_t cmd); void ef9345_exec(uint8_t cmd);
void ef9345(address_map &map);
// internal state // internal state
static const device_timer_id BUSY_TIMER = 0; static const device_timer_id BUSY_TIMER = 0;
static const device_timer_id BLINKING_TIMER = 1; static const device_timer_id BLINKING_TIMER = 1;

View File

@ -54,7 +54,6 @@ public:
void char_latch_w(uint8_t data); void char_latch_w(uint8_t data);
void command_w(uint8_t cmd); void command_w(uint8_t cmd);
void ef9364(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -72,6 +71,8 @@ private:
void set_video_mode(void); void set_video_mode(void);
void draw_border(uint16_t line); void draw_border(uint16_t line);
void ef9364(address_map &map);
// internal state // internal state
required_region_ptr<uint8_t> m_charset; required_region_ptr<uint8_t> m_charset;

View File

@ -66,7 +66,6 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void ef9365(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -98,6 +97,8 @@ private:
void dump_bitplanes_word(); void dump_bitplanes_word();
void update_interrupts(); void update_interrupts();
void ef9365(address_map &map);
// internal state // internal state
static constexpr device_timer_id BUSY_TIMER = 0; static constexpr device_timer_id BUSY_TIMER = 0;

View File

@ -47,7 +47,6 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hd61830(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual const tiny_rom_entry *device_rom_region() const override; virtual const tiny_rom_entry *device_rom_region() const override;
@ -86,6 +85,8 @@ private:
void draw_char(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t ma, int x, int y, uint8_t md); void draw_char(bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t ma, int x, int y, uint8_t md);
void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect); void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
void hd61830(address_map &map);
devcb_read8 m_read_rd; devcb_read8 m_read_rd;
emu_timer *m_busy_timer; emu_timer *m_busy_timer;

View File

@ -44,7 +44,6 @@ public:
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hd66421(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -66,6 +65,8 @@ private:
int m_x, m_y; int m_x, m_y;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
void hd66421(address_map &map);
DECLARE_PALETTE_INIT(hd66421); DECLARE_PALETTE_INIT(hd66421);
}; };

View File

@ -34,10 +34,9 @@ public:
huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); huc6271_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// I/O operations // I/O operations
void regs(address_map &map);
//void data_transfer(uint32_t offset, uint32_t data); //void data_transfer(uint32_t offset, uint32_t data);
void regs(address_map &map);
void data_map(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -46,6 +45,8 @@ protected:
private: private:
const address_space_config m_data_space_config; const address_space_config m_data_space_config;
void data_map(address_map &map);
}; };

View File

@ -50,8 +50,6 @@ public:
DECLARE_WRITE32_MEMBER( write ); DECLARE_WRITE32_MEMBER( write );
DECLARE_READ32_MEMBER( read ); DECLARE_READ32_MEMBER( read );
void kram_map(address_map &map);
void microprg_map(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_validity_check(validity_checker &valid) const override; virtual void device_validity_check(validity_checker &valid) const override;
@ -110,6 +108,9 @@ private:
uint32_t read_dword(offs_t address); uint32_t read_dword(offs_t address);
void write_dword(offs_t address, uint32_t data); void write_dword(offs_t address, uint32_t data);
void write_microprg_data(offs_t address, uint16_t data); void write_microprg_data(offs_t address, uint16_t data);
void kram_map(address_map &map);
void microprg_map(address_map &map);
}; };
// device type definition // device type definition

View File

@ -52,61 +52,6 @@ public:
template <class Object> static devcb_base &static_set_blitter_irq_callback(device_t &device, Object &&cb) { return downcast<imagetek_i4100_device &>(device).m_blit_irq_cb.set_callback(std::forward<Object>(cb)); } template <class Object> static devcb_base &static_set_blitter_irq_callback(device_t &device, Object &&cb) { return downcast<imagetek_i4100_device &>(device).m_blit_irq_cb.set_callback(std::forward<Object>(cb)); }
// I/O operations
DECLARE_READ16_MEMBER( vram_0_r );
DECLARE_READ16_MEMBER( vram_1_r );
DECLARE_READ16_MEMBER( vram_2_r );
DECLARE_WRITE16_MEMBER( vram_0_w );
DECLARE_WRITE16_MEMBER( vram_1_w );
DECLARE_WRITE16_MEMBER( vram_2_w );
DECLARE_READ16_MEMBER( rmw_vram_0_r );
DECLARE_READ16_MEMBER( rmw_vram_1_r );
DECLARE_READ16_MEMBER( rmw_vram_2_r );
DECLARE_WRITE16_MEMBER( rmw_vram_0_w );
DECLARE_WRITE16_MEMBER( rmw_vram_1_w );
DECLARE_WRITE16_MEMBER( rmw_vram_2_w );
DECLARE_READ16_MEMBER( scratchram_r );
DECLARE_WRITE16_MEMBER( scratchram_w );
DECLARE_READ16_MEMBER( spriteram_r );
DECLARE_WRITE16_MEMBER( spriteram_w );
DECLARE_READ16_MEMBER( tiletable_r );
DECLARE_WRITE16_MEMBER( tiletable_w );
DECLARE_READ16_MEMBER( sprite_count_r );
DECLARE_WRITE16_MEMBER( sprite_count_w );
DECLARE_READ16_MEMBER( sprite_priority_r );
DECLARE_WRITE16_MEMBER( sprite_priority_w );
DECLARE_READ16_MEMBER( sprite_xoffset_r );
DECLARE_WRITE16_MEMBER( sprite_xoffset_w );
DECLARE_READ16_MEMBER( sprite_yoffset_r );
DECLARE_WRITE16_MEMBER( sprite_yoffset_w );
DECLARE_READ16_MEMBER( sprite_color_code_r );
DECLARE_WRITE16_MEMBER( sprite_color_code_w );
DECLARE_READ16_MEMBER( layer_priority_r );
DECLARE_WRITE16_MEMBER( layer_priority_w );
DECLARE_READ16_MEMBER( background_color_r );
DECLARE_WRITE16_MEMBER( background_color_w );
DECLARE_READ16_MEMBER( screen_xoffset_r );
DECLARE_WRITE16_MEMBER( screen_xoffset_w );
DECLARE_READ16_MEMBER( screen_yoffset_r );
DECLARE_WRITE16_MEMBER( screen_yoffset_w );
DECLARE_READ16_MEMBER( window_r );
DECLARE_WRITE16_MEMBER( window_w );
DECLARE_READ16_MEMBER( scroll_r );
DECLARE_WRITE16_MEMBER( scroll_w );
DECLARE_READ16_MEMBER( gfxrom_r );
DECLARE_WRITE16_MEMBER( crtc_vert_w );
DECLARE_WRITE16_MEMBER( crtc_horz_w );
DECLARE_WRITE16_MEMBER( crtc_unlock_w );
DECLARE_WRITE16_MEMBER( blitter_w );
DECLARE_WRITE16_MEMBER( screen_ctrl_w );
DECLARE_WRITE16_MEMBER( rombank_w );
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
protected: protected:
@ -163,6 +108,59 @@ protected:
emu_timer *m_blit_done_timer; emu_timer *m_blit_done_timer;
// I/O operations
DECLARE_READ16_MEMBER( vram_0_r );
DECLARE_READ16_MEMBER( vram_1_r );
DECLARE_READ16_MEMBER( vram_2_r );
DECLARE_WRITE16_MEMBER( vram_0_w );
DECLARE_WRITE16_MEMBER( vram_1_w );
DECLARE_WRITE16_MEMBER( vram_2_w );
DECLARE_READ16_MEMBER( rmw_vram_0_r );
DECLARE_READ16_MEMBER( rmw_vram_1_r );
DECLARE_READ16_MEMBER( rmw_vram_2_r );
DECLARE_WRITE16_MEMBER( rmw_vram_0_w );
DECLARE_WRITE16_MEMBER( rmw_vram_1_w );
DECLARE_WRITE16_MEMBER( rmw_vram_2_w );
DECLARE_READ16_MEMBER( scratchram_r );
DECLARE_WRITE16_MEMBER( scratchram_w );
DECLARE_READ16_MEMBER( spriteram_r );
DECLARE_WRITE16_MEMBER( spriteram_w );
DECLARE_READ16_MEMBER( tiletable_r );
DECLARE_WRITE16_MEMBER( tiletable_w );
DECLARE_READ16_MEMBER( sprite_count_r );
DECLARE_WRITE16_MEMBER( sprite_count_w );
DECLARE_READ16_MEMBER( sprite_priority_r );
DECLARE_WRITE16_MEMBER( sprite_priority_w );
DECLARE_READ16_MEMBER( sprite_xoffset_r );
DECLARE_WRITE16_MEMBER( sprite_xoffset_w );
DECLARE_READ16_MEMBER( sprite_yoffset_r );
DECLARE_WRITE16_MEMBER( sprite_yoffset_w );
DECLARE_READ16_MEMBER( sprite_color_code_r );
DECLARE_WRITE16_MEMBER( sprite_color_code_w );
DECLARE_READ16_MEMBER( layer_priority_r );
DECLARE_WRITE16_MEMBER( layer_priority_w );
DECLARE_READ16_MEMBER( background_color_r );
DECLARE_WRITE16_MEMBER( background_color_w );
DECLARE_READ16_MEMBER( screen_xoffset_r );
DECLARE_WRITE16_MEMBER( screen_xoffset_w );
DECLARE_READ16_MEMBER( screen_yoffset_r );
DECLARE_WRITE16_MEMBER( screen_yoffset_w );
DECLARE_READ16_MEMBER( window_r );
DECLARE_WRITE16_MEMBER( window_w );
DECLARE_READ16_MEMBER( scroll_r );
DECLARE_WRITE16_MEMBER( scroll_w );
DECLARE_READ16_MEMBER( gfxrom_r );
DECLARE_WRITE16_MEMBER( crtc_vert_w );
DECLARE_WRITE16_MEMBER( crtc_horz_w );
DECLARE_WRITE16_MEMBER( crtc_unlock_w );
DECLARE_WRITE16_MEMBER( blitter_w );
DECLARE_WRITE16_MEMBER( screen_ctrl_w );
DECLARE_WRITE16_MEMBER( rombank_w );
void draw_layers( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri ); void draw_layers( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
inline uint8_t get_tile_pix( uint16_t code, uint8_t x, uint8_t y, bool big, uint16_t *pix ); inline uint8_t get_tile_pix( uint16_t code, uint8_t x, uint8_t y, bool big, uint16_t *pix );
void draw_tilemap( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t flags, uint32_t pcode, void draw_tilemap( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t flags, uint32_t pcode,
@ -187,14 +185,11 @@ public:
// construction/destruction // construction/destruction
imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); imagetek_i4220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void v2_map(address_map &map);
// needed by Blazing Tornado / Grand Striker 2 for mixing with PSAC // needed by Blazing Tornado / Grand Striker 2 for mixing with PSAC
// (it's unknown how the chip enables external sync) // (it's unknown how the chip enables external sync)
uint16_t get_background_pen() { return m_background_color; }; uint16_t get_background_pen() { return m_background_color; };
protected: void v2_map(address_map &map);
}; };
class imagetek_i4300_device : public imagetek_i4100_device class imagetek_i4300_device : public imagetek_i4100_device
@ -204,10 +199,6 @@ public:
imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); imagetek_i4300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void v3_map(address_map &map); void v3_map(address_map &map);
protected:
}; };
// device type definition // device type definition

View File

@ -35,15 +35,6 @@ public:
DECLARE_WRITE8_MEMBER( bltflip_w ); DECLARE_WRITE8_MEMBER( bltflip_w );
DECLARE_READ_LINE_MEMBER( status_r ); DECLARE_READ_LINE_MEMBER( status_r );
// blitter write accessors
DECLARE_WRITE8_MEMBER( x_w );
DECLARE_WRITE8_MEMBER( y_w );
DECLARE_WRITE8_MEMBER( height_and_trigger_w );
DECLARE_WRITE8_MEMBER( width_w );
DECLARE_WRITE8_MEMBER( src_lo_address_w );
DECLARE_WRITE8_MEMBER( src_md_address_w );
DECLARE_WRITE8_MEMBER( src_hi_address_w );
const uint8_t &blit_buffer(unsigned y, unsigned x) const { return m_blit_buffer[(256 * y) + x]; } const uint8_t &blit_buffer(unsigned y, unsigned x) const { return m_blit_buffer[(256 * y) + x]; }
protected: protected:
@ -64,6 +55,15 @@ private:
uint8_t *m_gfxrom; uint8_t *m_gfxrom;
uint32_t m_gfxrommask; uint32_t m_gfxrommask;
bool m_bltflip; bool m_bltflip;
// blitter write accessors
DECLARE_WRITE8_MEMBER( x_w );
DECLARE_WRITE8_MEMBER( y_w );
DECLARE_WRITE8_MEMBER( height_and_trigger_w );
DECLARE_WRITE8_MEMBER( width_w );
DECLARE_WRITE8_MEMBER( src_lo_address_w );
DECLARE_WRITE8_MEMBER( src_md_address_w );
DECLARE_WRITE8_MEMBER( src_hi_address_w );
}; };

View File

@ -40,19 +40,9 @@ public:
DECLARE_WRITE_LINE_MEMBER( write_bit ); DECLARE_WRITE_LINE_MEMBER( write_bit );
DECLARE_WRITE_LINE_MEMBER( set_cs_line ); DECLARE_WRITE_LINE_MEMBER( set_cs_line );
DECLARE_WRITE_LINE_MEMBER( set_clock_line ); DECLARE_WRITE_LINE_MEMBER( set_clock_line );
DECLARE_WRITE16_MEMBER(vreg_120_w);
DECLARE_WRITE16_MEMBER(vreg_121_w);
DECLARE_WRITE16_MEMBER(vreg_122_w);
DECLARE_WRITE16_MEMBER(vreg_123_w);
DECLARE_WRITE16_MEMBER(vreg_124_w);
DECLARE_WRITE16_MEMBER(vreg_125_w);
DECLARE_WRITE16_MEMBER(vreg_126_w);
DECLARE_WRITE16_MEMBER(vreg_127_w);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual const tiny_rom_entry *device_rom_region() const override;
void m50458_vram(address_map &map);
protected: protected:
enum m50458_state_t enum m50458_state_t
{ {
@ -65,6 +55,24 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual space_config_vector memory_space_config() const override; virtual space_config_vector memory_space_config() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
private:
inline uint16_t read_word(offs_t address);
inline void write_word(offs_t address, uint16_t data);
DECLARE_WRITE16_MEMBER(vreg_120_w);
DECLARE_WRITE16_MEMBER(vreg_121_w);
DECLARE_WRITE16_MEMBER(vreg_122_w);
DECLARE_WRITE16_MEMBER(vreg_123_w);
DECLARE_WRITE16_MEMBER(vreg_124_w);
DECLARE_WRITE16_MEMBER(vreg_125_w);
DECLARE_WRITE16_MEMBER(vreg_126_w);
DECLARE_WRITE16_MEMBER(vreg_127_w);
void m50458_vram(address_map &map);
const address_space_config m_space_config;
int m_latch; int m_latch;
int m_reset_line; int m_reset_line;
@ -83,12 +91,6 @@ protected:
uint8_t m_blink; uint8_t m_blink;
m50458_state_t m_osd_state; m50458_state_t m_osd_state;
private:
inline uint16_t read_word(offs_t address);
inline void write_word(offs_t address, uint16_t data);
const address_space_config m_space_config;
}; };

View File

@ -39,15 +39,14 @@ public:
DECLARE_WRITE_LINE_MEMBER( set_cs_line ); DECLARE_WRITE_LINE_MEMBER( set_cs_line );
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual const tiny_rom_entry *device_rom_region() const override;
void mb90082_vram(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_validity_check(validity_checker &valid) const override; virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual space_config_vector memory_space_config() const override; virtual space_config_vector memory_space_config() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
private: private:
enum enum
@ -68,6 +67,8 @@ private:
inline uint16_t read_word(offs_t address); inline uint16_t read_word(offs_t address);
inline void write_word(offs_t address, uint16_t data); inline void write_word(offs_t address, uint16_t data);
void mb90082_vram(address_map &map);
const address_space_config m_space_config; const address_space_config m_space_config;
}; };

View File

@ -35,14 +35,10 @@ public:
DECLARE_READ8_MEMBER( status_r ); DECLARE_READ8_MEMBER( status_r );
DECLARE_WRITE8_MEMBER( vbank_w ); DECLARE_WRITE8_MEMBER( vbank_w );
DECLARE_WRITE8_MEMBER( vbank_clear_w ); DECLARE_WRITE8_MEMBER( vbank_clear_w );
DECLARE_READ8_MEMBER( mb_vcu_paletteram_r );
DECLARE_WRITE8_MEMBER( mb_vcu_paletteram_w );
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void screen_eof(void); void screen_eof(void);
void mb_vcu_pal_ram(address_map &map);
void mb_vcu_vram(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_validity_check(validity_checker &valid) const override; virtual void device_validity_check(validity_checker &valid) const override;
@ -56,6 +52,12 @@ private:
inline uint8_t read_io(offs_t address); inline uint8_t read_io(offs_t address);
inline void write_io(offs_t address, uint8_t data); inline void write_io(offs_t address, uint8_t data);
DECLARE_READ8_MEMBER( mb_vcu_paletteram_r );
DECLARE_WRITE8_MEMBER( mb_vcu_paletteram_w );
void mb_vcu_pal_ram(address_map &map);
void mb_vcu_vram(address_map &map);
const address_space_config m_videoram_space_config; const address_space_config m_videoram_space_config;
const address_space_config m_paletteram_space_config; const address_space_config m_paletteram_space_config;
uint8_t m_status; uint8_t m_status;

View File

@ -447,7 +447,6 @@ public:
MC6845_UPDATE_ROW( vdc_update_row ); MC6845_UPDATE_ROW( vdc_update_row );
void mos8563_videoram_map(address_map &map);
protected: protected:
mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); mos8563_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@ -493,6 +492,8 @@ protected:
emu_timer *m_block_copy_timer; emu_timer *m_block_copy_timer;
DECLARE_PALETTE_INIT(mos8563); DECLARE_PALETTE_INIT(mos8563);
void mos8563_videoram_map(address_map &map);
}; };
class mos8568_device : public mos8563_device class mos8568_device : public mos8563_device

View File

@ -233,8 +233,6 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void mos6566_colorram_map(address_map &map);
void mos6566_videoram_map(address_map &map);
protected: protected:
enum enum
{ {
@ -283,6 +281,9 @@ protected:
void draw_graphics(); void draw_graphics();
void draw_sprites(); void draw_sprites();
void mos6566_colorram_map(address_map &map);
void mos6566_videoram_map(address_map &map);
int m_icount; int m_icount;
const int m_variant; const int m_variant;

View File

@ -29,15 +29,8 @@ public:
virtual void map(address_map &map); virtual void map(address_map &map);
DECLARE_READ8_MEMBER( ir_r );
DECLARE_WRITE8_MEMBER( ir_w );
DECLARE_READ8_MEMBER( dr_r );
DECLARE_WRITE8_MEMBER( dr_w );
uint32_t screen_update(screen_device &device, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &device, bitmap_ind16 &bitmap, const rectangle &cliprect);
void msm6255(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -68,6 +61,14 @@ private:
void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect); void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect);
void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect); void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_READ8_MEMBER( ir_r );
DECLARE_WRITE8_MEMBER( ir_w );
DECLARE_READ8_MEMBER( dr_r );
DECLARE_WRITE8_MEMBER( dr_w );
void msm6255(address_map &map);
const address_space_config m_space_config; const address_space_config m_space_config;
uint8_t m_ir; // instruction register uint8_t m_ir; // instruction register

View File

@ -60,17 +60,14 @@ public:
DECLARE_WRITE8_MEMBER( ramdac_rgb666_w ); DECLARE_WRITE8_MEMBER( ramdac_rgb666_w );
DECLARE_WRITE8_MEMBER( ramdac_rgb888_w ); DECLARE_WRITE8_MEMBER( ramdac_rgb888_w );
virtual space_config_vector memory_space_config() const override;
void ramdac_palram(address_map &map); void ramdac_palram(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_validity_check(validity_checker &valid) const override; virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
inline uint8_t readbyte(offs_t address); virtual space_config_vector memory_space_config() const override;
inline void writebyte(offs_t address, uint8_t data);
inline void reg_increment(uint8_t inc_type);
private: private:
uint8_t m_pal_index[2]; uint8_t m_pal_index[2];
@ -83,6 +80,10 @@ private:
uint32_t m_color_base; uint32_t m_color_base;
uint8_t m_split_read_reg; // read register index is separated, seen in rltennis uint8_t m_split_read_reg; // read register index is separated, seen in rltennis
inline uint8_t readbyte(offs_t address);
inline void writebyte(offs_t address, uint8_t data);
inline void reg_increment(uint8_t inc_type);
}; };

View File

@ -41,14 +41,14 @@ public:
DECLARE_WRITE8_MEMBER( buffer_w ) { m_buffer = data; } DECLARE_WRITE8_MEMBER( buffer_w ) { m_buffer = data; }
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual space_config_vector memory_space_config() const override;
void scn2674_vram(address_map &map);
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual space_config_vector memory_space_config() const override;
private: private:
bitmap_rgb32 m_bitmap; bitmap_rgb32 m_bitmap;
devcb_write_line m_intr_cb; devcb_write_line m_intr_cb;
@ -119,6 +119,8 @@ private:
void write_command(uint8_t data); void write_command(uint8_t data);
void recompute_parameters(); void recompute_parameters();
void scn2674_vram(address_map &map);
draw_character_delegate m_display_cb; draw_character_delegate m_display_cb;
emu_timer *m_scanline_timer; emu_timer *m_scanline_timer;
const address_space_config m_space_config; const address_space_config m_space_config;

View File

@ -39,9 +39,6 @@ public:
// construction/destruction // construction/destruction
sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); sed1330_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
DECLARE_READ8_MEMBER( status_r ); DECLARE_READ8_MEMBER( status_r );
DECLARE_WRITE8_MEMBER( command_w ); DECLARE_WRITE8_MEMBER( command_w );
@ -50,7 +47,6 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void sed1330(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -59,14 +55,8 @@ protected:
// device_memory_interface overrides // device_memory_interface overrides
virtual space_config_vector memory_space_config() const override; virtual space_config_vector memory_space_config() const override;
inline uint8_t readbyte(offs_t address); // optional information overrides
inline void writebyte(offs_t address, uint8_t m_data); virtual const tiny_rom_entry *device_rom_region() const override;
inline void increment_csr();
void draw_text_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, uint16_t va);
void draw_graphics_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, uint16_t va);
void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect);
void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
private: private:
int m_bf; // busy flag int m_bf; // busy flag
@ -115,6 +105,17 @@ private:
// address space configurations // address space configurations
const address_space_config m_space_config; const address_space_config m_space_config;
inline uint8_t readbyte(offs_t address);
inline void writebyte(offs_t address, uint8_t m_data);
inline void increment_csr();
void draw_text_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, uint16_t va);
void draw_graphics_scanline(bitmap_ind16 &bitmap, const rectangle &cliprect, int y, uint16_t va);
void update_graphics(bitmap_ind16 &bitmap, const rectangle &cliprect);
void update_text(bitmap_ind16 &bitmap, const rectangle &cliprect);
void sed1330(address_map &map);
}; };

View File

@ -664,7 +664,7 @@ void tms3556_device::interrupt_start_vblank(void)
// interrupt - scanline handler // interrupt - scanline handler
//------------------------------------------------- //-------------------------------------------------
void tms3556_device::interrupt(running_machine &machine) void tms3556_device::interrupt()
{ {
/* check for start of vblank */ /* check for start of vblank */
if (m_scanline == 310) /*no idea what the real value is*/ if (m_scanline == 310) /*no idea what the real value is*/

View File

@ -53,11 +53,10 @@ public:
DECLARE_WRITE8_MEMBER( reg_w ); DECLARE_WRITE8_MEMBER( reg_w );
DECLARE_READ8_MEMBER( initptr_r ); DECLARE_READ8_MEMBER( initptr_r );
void interrupt(running_machine &machine); void interrupt();
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void tms3556(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -65,6 +64,7 @@ protected:
// device_config_memory_interface overrides // device_config_memory_interface overrides
virtual space_config_vector memory_space_config() const override; virtual space_config_vector memory_space_config() const override;
private:
// address space configurations // address space configurations
const address_space_config m_space_config; const address_space_config m_space_config;
@ -80,7 +80,8 @@ protected:
void draw_line(bitmap_ind16 &bmp, int line); void draw_line(bitmap_ind16 &bmp, int line);
void interrupt_start_vblank(void); void interrupt_start_vblank(void);
private: void tms3556(address_map &map);
enum dma_mode_tt : u8 { dma_read, dma_write }; enum dma_mode_tt : u8 { dma_read, dma_write };
static constexpr uint8_t MODE_OFF = 0; static constexpr uint8_t MODE_OFF = 0;

View File

@ -112,7 +112,6 @@ public:
/* RESET pin */ /* RESET pin */
void reset_line(int state) { if (state==ASSERT_LINE) device_reset(); } void reset_line(int state) { if (state==ASSERT_LINE) device_reset(); }
void memmap(address_map &map);
protected: protected:
tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_50hz, bool is_reva, bool is_99); tms9928a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_50hz, bool is_reva, bool is_99);
@ -131,6 +130,8 @@ private:
void update_table_masks(); void update_table_masks();
void set_palette(); void set_palette();
void memmap(address_map &map);
static const device_timer_id TIMER_LINE = 0; static const device_timer_id TIMER_LINE = 0;
static const device_timer_id GROMCLK = 1; static const device_timer_id GROMCLK = 1;

View File

@ -100,16 +100,16 @@ public:
DECLARE_WRITE_LINE_MEMBER( lpen_w ); DECLARE_WRITE_LINE_MEMBER( lpen_w );
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual const tiny_rom_entry *device_rom_region() const override;
virtual space_config_vector memory_space_config() const override;
void upd7220_vram(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual space_config_vector memory_space_config() const override;
private: private:
enum enum
{ {
@ -149,6 +149,8 @@ private:
void draw_graphics_line(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd, int pitch); void draw_graphics_line(bitmap_rgb32 &bitmap, uint32_t addr, int y, int wd, int pitch);
void update_graphics(bitmap_rgb32 &bitmap, const rectangle &cliprect, int force_bitmap); void update_graphics(bitmap_rgb32 &bitmap, const rectangle &cliprect, int force_bitmap);
void upd7220_vram(address_map &map);
display_pixels_delegate m_display_cb; display_pixels_delegate m_display_cb;
draw_text_delegate m_draw_text_cb; draw_text_delegate m_draw_text_cb;

View File

@ -47,7 +47,6 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void upd7227_map(address_map &map);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
@ -83,6 +82,8 @@ private:
int m_sck; int m_sck;
int m_si; int m_si;
int m_so; int m_so;
void upd7227_map(address_map &map);
}; };

View File

@ -110,7 +110,6 @@ public:
static constexpr int TOP_ERASE = 13; static constexpr int TOP_ERASE = 13;
static constexpr int VERTICAL_SYNC = 3; static constexpr int VERTICAL_SYNC = 3;
void memmap(address_map &map);
protected: protected:
// construction/destruction // construction/destruction
v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int model); v99x8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int model);
@ -215,6 +214,8 @@ private:
uint8_t command_unit_w(uint8_t Op); uint8_t command_unit_w(uint8_t Op);
void update_command(); void update_command();
void memmap(address_map &map);
// general // general
int m_offset_x, m_offset_y, m_visible_y, m_mode; int m_offset_x, m_offset_y, m_visible_y, m_mode;
// palette // palette

View File

@ -36,9 +36,6 @@ public:
void set_fbmem(const int fbmem) {m_fbmem = fbmem;} void set_fbmem(const int fbmem) {m_fbmem = fbmem;}
void set_tmumem(const int tmumem0, const int tmumem1) {m_tmumem0 = tmumem0; m_tmumem1 = tmumem1;} void set_tmumem(const int tmumem0, const int tmumem1) {m_tmumem0 = tmumem0; m_tmumem1 = tmumem1;}
DECLARE_READ32_MEMBER(pcictrl_r);
DECLARE_WRITE32_MEMBER(pcictrl_w);
DECLARE_READ32_MEMBER(vga_r); DECLARE_READ32_MEMBER(vga_r);
DECLARE_WRITE32_MEMBER(vga_w); DECLARE_WRITE32_MEMBER(vga_w);
@ -58,6 +55,9 @@ private:
void banshee_reg_map(address_map &map); void banshee_reg_map(address_map &map);
void lfb_map(address_map &map); void lfb_map(address_map &map);
void io_map(address_map &map); void io_map(address_map &map);
DECLARE_READ32_MEMBER(pcictrl_r);
DECLARE_WRITE32_MEMBER(pcictrl_w);
}; };
DECLARE_DEVICE_TYPE(VOODOO_PCI, voodoo_pci_device) DECLARE_DEVICE_TYPE(VOODOO_PCI, voodoo_pci_device)

View File

@ -124,7 +124,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(exelv_state::exelv_hblank_interrupt) TIMER_DEVICE_CALLBACK_MEMBER(exelv_state::exelv_hblank_interrupt)
{ {
m_tms3556->interrupt(machine()); m_tms3556->interrupt();
} }