trunk/src/emu/video/m50458.c
| r17463 | r17464 | |
| 18 | 18 | |
| 19 | 19 | static ADDRESS_MAP_START( m50458_vram, AS_0, 16, m50458_device ) |
| 20 | 20 | AM_RANGE(0x0000, 0x023f) AM_RAM // vram |
| 21 | AM_RANGE(0x0240, 0x0241) AM_WRITE(vreg_120_w) |
| 21 | 22 | AM_RANGE(0x024e, 0x024f) AM_WRITE(vreg_127_w) |
| 22 | 23 | ADDRESS_MAP_END |
| 23 | 24 | |
| r17463 | r17464 | |
| 27 | 28 | ROM_LOAD("m50458_char.bin", 0x0000, 0x1200, BAD_DUMP CRC(011cc342) SHA1(d5b9f32d6e251b4b25945267d7c68c099bd83e96) ) |
| 28 | 29 | ROM_END |
| 29 | 30 | |
| 31 | WRITE16_MEMBER( m50458_device::vreg_120_w) |
| 32 | { |
| 33 | } |
| 34 | |
| 30 | 35 | WRITE16_MEMBER( m50458_device::vreg_127_w) |
| 31 | 36 | { |
| 32 | 37 | if(data & 0x20) // RAMERS, display RAM is erased |
| r17463 | r17464 | |
| 93 | 98 | device_memory_interface(mconfig, *this), |
| 94 | 99 | m_space_config("videoram", ENDIANNESS_LITTLE, 16, 16, 0, NULL, *ADDRESS_MAP_NAME(m50458_vram)) |
| 95 | 100 | { |
| 96 | | |
| 101 | m_shortname = "m50458"; |
| 97 | 102 | } |
| 98 | 103 | |
| 99 | 104 | |
| r17463 | r17464 | |
| 173 | 178 | m_osd_state = OSD_SET_DATA; |
| 174 | 179 | break; |
| 175 | 180 | case OSD_SET_DATA: |
| 181 | //if(m_osd_addr >= 0x120) |
| 176 | 182 | //printf("%04x %04x\n",m_osd_addr,m_current_cmd); |
| 177 | 183 | write_word(m_osd_addr,m_current_cmd); |
| 178 | 184 | m_osd_addr++; |
trunk/src/emu/video/m50458.h
| r17463 | r17464 | |
| 29 | 29 | OSD_SET_DATA |
| 30 | 30 | } m50458_state_t; |
| 31 | 31 | |
| 32 | typedef struct |
| 33 | { |
| 34 | UINT8 r,g,b; |
| 35 | } m50458_bg_t; |
| 32 | 36 | |
| 33 | 37 | // ======================> m50458_device |
| 34 | 38 | |
| r17463 | r17464 | |
| 43 | 47 | WRITE_LINE_MEMBER( write_bit ); |
| 44 | 48 | WRITE_LINE_MEMBER( set_cs_line ); |
| 45 | 49 | WRITE_LINE_MEMBER( set_clock_line ); |
| 50 | DECLARE_WRITE16_MEMBER(vreg_120_w); |
| 46 | 51 | DECLARE_WRITE16_MEMBER(vreg_127_w); |
| 47 | 52 | |
| 48 | 53 | UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| r17463 | r17464 | |
| 63 | 68 | UINT16 m_osd_addr; |
| 64 | 69 | |
| 65 | 70 | m50458_state_t m_osd_state; |
| 71 | m50458_bg_t m_m50458_bg; |
| 72 | |
| 66 | 73 | private: |
| 67 | 74 | inline UINT16 read_word(offs_t address); |
| 68 | 75 | inline void write_word(offs_t address, UINT16 data); |