diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp index c4bcf950061..b68c191cdf4 100644 --- a/src/devices/bus/compis/hrg.cpp +++ b/src/devices/bus/compis/hrg.cpp @@ -42,7 +42,7 @@ ADDRESS_MAP_END //------------------------------------------------- -// UPD7220_INTERFACE( hgdc_intf ) +// UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels ) //------------------------------------------------- UPD7220_DISPLAY_PIXELS_MEMBER( compis_hrg_t::display_pixels ) @@ -55,6 +55,20 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_hrg_t::display_pixels ) } +//------------------------------------------------- +// UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels ) +//------------------------------------------------- + +UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_t::display_pixels ) +{ + UINT16 i,gfx = m_video_ram[(address & 0x1ffff) >> 1]; + const pen_t *pen = m_palette->pens(); + + for(i=0; i<16; i++) + bitmap.pix32(y, x + i) = pen[BIT(gfx, i)]; +} + + //------------------------------------------------- // MACHINE_CONFIG_FRAGMENT( hrg ) //------------------------------------------------- @@ -103,7 +117,7 @@ static MACHINE_CONFIG_FRAGMENT( uhrg ) MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, XTAL_4_433619MHz/2) // unknown clock MCFG_DEVICE_ADDRESS_MAP(AS_0, uhrg_map) - MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_hrg_t, display_pixels) + MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_uhrg_t, display_pixels) MCFG_VIDEO_SET_SCREEN(SCREEN_TAG) MCFG_PALETTE_ADD_MONOCHROME("palette") diff --git a/src/devices/bus/compis/hrg.h b/src/devices/bus/compis/hrg.h index e62679f3d69..c5443d2df1e 100644 --- a/src/devices/bus/compis/hrg.h +++ b/src/devices/bus/compis/hrg.h @@ -45,7 +45,6 @@ protected: virtual UINT8 pcs6_6_r(address_space &space, offs_t offset) override; virtual void pcs6_6_w(address_space &space, offs_t offset, UINT8 data) override; -private: required_device m_crtc; required_device m_palette; required_shared_ptr m_video_ram; @@ -64,6 +63,8 @@ public: // optional information overrides virtual machine_config_constructor device_mconfig_additions() const override; + + UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels ); }; diff --git a/src/mame/drivers/compis.cpp b/src/mame/drivers/compis.cpp index c919817719e..8c11ae56203 100644 --- a/src/mame/drivers/compis.cpp +++ b/src/mame/drivers/compis.cpp @@ -40,14 +40,6 @@ ******************************************************************************/ -/* - - TODO: - - - cannot detect UHRG card (writes 0x1234 to 0x8000 in VRAM but does not read it back?) - -*/ - #include "emu.h" #include "softlist.h" #include "bus/centronics/ctronics.h"