Previous 199869 Revisions Next

r40107 Saturday 1st August, 2015 at 11:05:52 UTC by Dirk Best
pc100: use palette device for palette ram
[src/mess/drivers]pc100.c

trunk/src/mess/drivers/pc100.c
r248618r248619
7272      m_beeper(*this, "beeper"),
7373      m_rtc(*this, "rtc"),
7474      m_palette(*this, "palette"),
75      m_palram(*this, "palram"),
7675      m_kanji_rom(*this, "kanji"),
7776      m_vram(*this, "vram"),
7877      m_rtc_portc(0)
r248618r248619
8382   required_device<beep_device> m_beeper;
8483   required_device<msm58321_device> m_rtc;
8584   required_device<palette_device> m_palette;
86   required_shared_ptr<UINT16> m_palram;
8785   required_region_ptr<UINT16> m_kanji_rom;
8886   required_region_ptr<UINT16> m_vram;
8987
r248618r248619
9492   DECLARE_READ8_MEMBER(pc100_key_r);
9593   DECLARE_WRITE8_MEMBER(pc100_output_w);
9694   DECLARE_WRITE8_MEMBER(pc100_tc_w);
97   DECLARE_WRITE16_MEMBER(pc100_paletteram_w);
9895   DECLARE_READ8_MEMBER(pc100_shift_r);
9996   DECLARE_WRITE8_MEMBER(pc100_shift_w);
10097   DECLARE_READ8_MEMBER(pc100_vs_vreg_r);
r248618r248619
246243   machine().device<upd765a_device>("upd765")->tc_w(data & 0x40);
247244}
248245
249WRITE16_MEMBER( pc100_state::pc100_paletteram_w )
250{
251   COMBINE_DATA(&m_palram[offset]);
252
253   {
254      int r,g,b;
255
256      r = (m_palram[offset] >> 0) & 7;
257      g = (m_palram[offset] >> 3) & 7;
258      b = (m_palram[offset] >> 6) & 7;
259
260      m_palette->set_pen_color(offset, pal3bit(r),pal3bit(g),pal3bit(b));
261   }
262}
263
264246READ8_MEMBER( pc100_state::pc100_shift_r )
265247{
266248   return m_crtc.shift;
267249}
268250
269
270251WRITE8_MEMBER( pc100_state::pc100_shift_w )
271252{
272253   m_crtc.shift = data & 0xf;
r248618r248619
316297   AM_RANGE(0x38, 0x39) AM_WRITE8(pc100_crtc_addr_w,0x00ff) //crtc address reg
317298   AM_RANGE(0x3a, 0x3b) AM_WRITE8(pc100_crtc_data_w,0x00ff) //crtc data reg
318299   AM_RANGE(0x3c, 0x3f) AM_READWRITE8(pc100_vs_vreg_r,pc100_vs_vreg_w,0x00ff) //crtc vertical start position
319   AM_RANGE(0x40, 0x5f) AM_RAM_WRITE(pc100_paletteram_w) AM_SHARE("palram")
300   AM_RANGE(0x40, 0x5f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
320301//  AM_RANGE(0x60, 0x61) crtc command (16-bit wide)
321302   AM_RANGE(0x80, 0x81) AM_READWRITE(pc100_kanji_r,pc100_kanji_w)
322303   AM_RANGE(0x82, 0x83) AM_WRITENOP //kanji-related?
r248618r248619
514495
515496   MCFG_GFXDECODE_ADD("gfxdecode", "palette", pc100)
516497   MCFG_PALETTE_ADD("palette", 16)
517//  MCFG_PALETTE_INIT(black_and_white)
498   MCFG_PALETTE_FORMAT(xxxxxxxBBBGGGRRR)
518499
519500   MCFG_SPEAKER_STANDARD_MONO("mono")
520501


Previous 199869 Revisions Next


© 1997-2024 The MAME Team