trunk/src/mess/drivers/fp6000.c
| r26757 | r26758 | |
| 30 | 30 | : driver_device(mconfig, type, tag), |
| 31 | 31 | m_gvram(*this, "gvram"), |
| 32 | 32 | m_vram(*this, "vram"), |
| 33 | | m_maincpu(*this, "maincpu") { } |
| 33 | m_maincpu(*this, "maincpu") |
| 34 | , m_crtc(*this, "crtc") |
| 35 | { } |
| 34 | 36 | |
| 35 | 37 | UINT8 *m_char_rom; |
| 36 | 38 | required_shared_ptr<UINT16> m_gvram; |
| 37 | 39 | required_shared_ptr<UINT16> m_vram; |
| 38 | 40 | UINT8 m_crtc_vreg[0x100],m_crtc_index; |
| 39 | 41 | |
| 40 | | mc6845_device *m_mc6845; |
| 41 | | |
| 42 | 42 | struct { |
| 43 | 43 | UINT16 cmd; |
| 44 | 44 | }m_key; |
| r26757 | r26758 | |
| 56 | 56 | virtual void video_start(); |
| 57 | 57 | UINT32 screen_update_fp6000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 58 | 58 | required_device<cpu_device> m_maincpu; |
| 59 | required_device<mc6845_device>m_crtc; |
| 59 | 60 | }; |
| 60 | 61 | |
| 61 | 62 | void fp6000_state::video_start() |
| r26757 | r26758 | |
| 158 | 159 | WRITE8_MEMBER(fp6000_state::fp6000_6845_address_w) |
| 159 | 160 | { |
| 160 | 161 | m_crtc_index = data; |
| 161 | | m_mc6845->address_w(space, offset, data); |
| 162 | m_crtc->address_w(space, offset, data); |
| 162 | 163 | } |
| 163 | 164 | |
| 164 | 165 | WRITE8_MEMBER(fp6000_state::fp6000_6845_data_w) |
| 165 | 166 | { |
| 166 | 167 | m_crtc_vreg[m_crtc_index] = data; |
| 167 | | m_mc6845->register_w(space, offset, data); |
| 168 | m_crtc->register_w(space, offset, data); |
| 168 | 169 | } |
| 169 | 170 | |
| 170 | 171 | static ADDRESS_MAP_START(fp6000_map, AS_PROGRAM, 16, fp6000_state ) |
| r26757 | r26758 | |
| 277 | 278 | void fp6000_state::machine_start() |
| 278 | 279 | { |
| 279 | 280 | m_char_rom = memregion("pcg")->base(); |
| 280 | | m_mc6845 = machine().device<mc6845_device>("crtc"); |
| 281 | 281 | } |
| 282 | 282 | |
| 283 | 283 | void fp6000_state::machine_reset() |