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); |