Previous 199869 Revisions Next

r24048 Tuesday 2nd July, 2013 at 23:21:35 UTC by Barry Rodewald
decodmd1: added low intensity dots. (no whatsnew)
[src/mame/video]decodmd1.c decodmd1.h

trunk/src/mame/video/decodmd1.c
r24047r24048
153153      {
154154         m_pixels[ptr] = m_pxdata2_latched;
155155         m_pixels[ptr+1] = m_pxdata1_latched;
156         if(m_prevrow != m_rowselect)
157         {
158            m_pixels[ptr+2] = m_pixels[ptr];
159            m_pixels[ptr+3] = m_pixels[ptr+1];
160         }
156161      }
157      ptr += 2;
162      ptr += 4;
158163      row >>= 1;
159164   }
165   m_prevrow = m_rowselect;
160166}
161167
162168void decodmd_type1_device::set_busy(UINT8 input, UINT8 val)
r24047r24048
276282{
277283   UINT8 ptr = 0;
278284   UINT8 x,y,dot;
279   UINT32 data1,data2;
285   UINT32 data1,data2,data3,data4;
286   UINT32 col;
280287
281288   if(m_frameswap)
282289      ptr = 0x80;
r24047r24048
287294      {
288295         data1 = m_pixels[ptr];
289296         data2 = m_pixels[ptr+1];
297         data3 = m_pixels[ptr+2];
298         data4 = m_pixels[ptr+3];
290299         for(dot=0;dot<64;dot+=2)
291300         {
292            bitmap.pix32(y,x+dot) = (data1 & 0x01) ? MAKE_RGB(0xff,0xaa,0x00) : RGB_BLACK;
293            bitmap.pix32(y,x+dot+1) = (data2 & 0x01) ? MAKE_RGB(0xff,0xaa,0x00) : RGB_BLACK;
301            if((data1 & 0x01) != (data3 & 0x01))
302               col = MAKE_RGB(0x7f,0x55,0x00);
303            else if (data1 & 0x01) // both are the same, so either high intensity or none at all
304               col = MAKE_RGB(0xff,0xaa,0x00);
305            else
306               col = RGB_BLACK;
307            bitmap.pix32(y,x+dot) = col;
308            if((data2 & 0x01) != (data4 & 0x01))
309               col = MAKE_RGB(0x7f,0x55,0x00);
310            else if (data2 & 0x01) // both are the same, so either high intensity or none at all
311               col = MAKE_RGB(0xff,0xaa,0x00);
312            else
313               col = RGB_BLACK;
314            bitmap.pix32(y,x+dot+1) = col;
294315            data1 >>= 1;
295316            data2 >>= 1;
317            data3 >>= 1;
318            data4 >>= 1;
296319         }
297         ptr+=2;
320         ptr+=4;
298321      }
299322   }
300323
trunk/src/mame/video/decodmd1.h
r24047r24048
7171   bool m_frameswap;
7272   UINT32 m_pixels[0x100];
7373   UINT8 m_busy_lines;
74   UINT32 m_prevrow;
7475
7576   void output_data();
7677   void set_busy(UINT8 input, UINT8 val);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team