Previous 199869 Revisions Next

r29171 Wednesday 2nd April, 2014 at 03:56:19 UTC by Angelo Salese
Added preliminary cursor drawing, disabled as default, nw
[src/mame/includes]archimds.h
[src/mame/machine]archimds.c
[src/mame/video]archimds.c

trunk/src/mame/machine/archimds.c
r29170r29171
116116   address_space &space = m_maincpu->space(AS_PROGRAM);
117117   static UINT8 *vram = m_region_vram->base();
118118   UINT32 size;
119   UINT32 m_vidc_ccur;
119120
120121   size = m_vidc_vidend-m_vidc_vidstart+0x10;
121122
122123   for(m_vidc_vidcur = 0;m_vidc_vidcur < size;m_vidc_vidcur++)
123124      vram[m_vidc_vidcur] = (space.read_byte(m_vidc_vidstart+m_vidc_vidcur));
124125
126   size = m_vidc_vidend-m_vidc_vidstart+0x10;
127
128   for(m_vidc_ccur = 0;m_vidc_ccur < 0x200;m_vidc_ccur++)
129      m_cursor_vram[m_vidc_ccur] = (space.read_byte(m_vidc_cinit+m_vidc_ccur));
130
125131   if(m_video_dma_on)
126132      m_vid_timer->adjust(m_screen->time_until_pos(m_vidc_regs[0xb4]));
127133   else
r29170r29171
943949            //printf("MEMC: VIDEND %08x\n",m_vidc_vidend);
944950            break;
945951
952         case 3: /* cursor init */
953            m_vidc_cinit = 0x2000000 | (((data>>2)&0x7fff)*16);
954            //printf("MEMC: CURSOR %08x\n",((data>>2)&0x7fff)*16);
955            break;
956
946957         case 4: /* sound start */
947958            //logerror("MEMC: SNDSTART %08x\n",data);
948959            archimedes_clear_irq_b(ARCHIMEDES_IRQB_SOUND_EMPTY);
trunk/src/mame/includes/archimds.h
r29170r29171
8181   UINT8 m_i2c_clk;
8282   INT16 m_memc_pages[0x2000]; // the logical RAM area is 32 megs, and the smallest page size is 4k
8383   UINT32 m_vidc_regs[256];
84   UINT8 m_cursor_vram[0x200];
8485   UINT8 m_ioc_regs[0x80/4];
8586   UINT8 m_vidc_bpp_mode;
8687   UINT8 m_vidc_interlace;
r29170r29171
120121   UINT32 m_memc_pagesize;
121122   int m_memc_latchrom;
122123   UINT32 m_ioc_timercnt[4], m_ioc_timerout[4];
123   UINT32 m_vidc_vidstart, m_vidc_vidend, m_vidc_vidinit, m_vidc_vidcur;
124   UINT32 m_vidc_vidstart, m_vidc_vidend, m_vidc_vidinit, m_vidc_vidcur,m_vidc_cinit;
124125   UINT32 m_vidc_sndstart, m_vidc_sndend, m_vidc_sndcur;
125126   UINT8 m_video_dma_on,m_audio_dma_on;
126127   UINT8 m_vidc_pixel_clk;
trunk/src/mame/video/archimds.c
r29170r29171
8585               {
8686                  pen = vram[count];
8787
88                  res_x = x+xstart;
89                  res_y = (y+ystart)*(m_vidc_interlace+1);
90
9188                  for(xi=0;xi<2;xi++)
9289                  {
9390                     res_x = x+xi+xstart;
r29170r29171
145142            popmessage("Unemulated bpp mode %02x, contact MAME/MESSdev",m_vidc_bpp_mode);
146143            break;
147144      }
145
146
147      if(0)
148      {
149         count = 0;
150         for(y=0;y<16;y++)
151         {
152            for(x=0;x<32;x+=4)
153            {
154               for(xi=0;xi<4;xi++)
155               {
156                  UINT8 cursor_dot;
157                  pen = m_cursor_vram[count];
158
159                  res_x = x+xi+xstart;
160                  res_y = (y+ystart)*(m_vidc_interlace+1);
161
162                  cursor_dot = ((pen>>(xi*2))&0x3);
163
164                  if(cursor_dot)
165                  {
166                     if(m_vidc_interlace)
167                     {
168                        if (cliprect.contains(res_x, res_y) && (res_x) <= xend && (res_y) <= yend)
169                           bitmap.pix32(res_y, res_x) = m_palette->pen(cursor_dot+0x10);
170                        if (cliprect.contains(res_x, res_y) && (res_x) <= xend && (res_y+1) <= yend)
171                           bitmap.pix32(res_y+1, res_x) = m_palette->pen(cursor_dot+0x10);
172                     }
173                     else
174                     {
175                        if (cliprect.contains(res_x, res_y) && (res_x) <= xend && (res_y) <= yend)
176                           bitmap.pix32(res_y, res_x) = m_palette->pen(cursor_dot+0x10);
177                     }
178                  }
179               }
180
181               count++;
182            }
183         }
184      }
148185   }
149186
187
188
150189   return 0;
151190}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team