diff options
Diffstat (limited to 'src/mame/video/poly88.cpp')
-rw-r--r-- | src/mame/video/poly88.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/mame/video/poly88.cpp b/src/mame/video/poly88.cpp deleted file mode 100644 index 962edcf9b2a..00000000000 --- a/src/mame/video/poly88.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Miodrag Milanovic -/*************************************************************************** - - Poly-88 video by Miodrag Milanovic - - 18/05/2009 Initial implementation - -****************************************************************************/ - -#include "emu.h" -#include "includes/poly88.h" - -static const uint8_t mcm6571a_shift[] = -{ - 0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0, - 1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0, - 1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -}; - -void poly88_state::video_start() -{ - m_FNT = memregion("chargen")->base(); -} - -uint32_t poly88_state::screen_update_poly88(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - int x,y,j,b; - uint16_t addr; - int xpos; - uint8_t l,r; - - for(y = 0; y < 16; y++ ) - { - addr = y*64; - xpos = 0; - for(x = 0; x < 64; x++ ) - { - uint8_t code = m_video_ram[addr + x]; - if ((code & 0x80)==0) - { - for(j = 0; j < 15; j++ ) - { - l = j/5; - for(b = 0; b < 10; b++ ) - { - r = b/5; - if (l==0 && r==0) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,5) ? 0 : 1; - - if (l==0 && r==1) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,2) ? 0 : 1; - - if (l==1 && r==0) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,4) ? 0 : 1; - - if (l==1 && r==1) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,1) ? 0 : 1; - - if (l==2 && r==0) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,3) ? 0 : 1; - - if (l==2 && r==1) - bitmap.pix16(y*15+j, xpos+b ) = BIT(code,0) ? 0 : 1; - } - } - } - else - { - for(j = 0; j < 15; j++ ) - { - code &= 0x7f; - l = 0; - if (mcm6571a_shift[code]==0) - { - if (j < 9) - l = m_FNT[code*16 + j]; - } - else - { - if ((j > 2) && (j < 12)) - l = m_FNT[code*16 + j - 3]; - } - - for(b = 0; b < 7; b++ ) - bitmap.pix16(y*15+j, xpos+b ) = (l >> (6-b)) & 1; - - bitmap.pix16(y*15+j, xpos+7 ) = 0; - bitmap.pix16(y*15+j, xpos+8 ) = 0; - bitmap.pix16(y*15+j, xpos+9 ) = 0; - } - } - xpos += 10; - } - } - return 0; -} |