Previous 15994 Revisions Next

r9983 Monday 10th January, 2011 at 16:02:44 UTC by Curt Coder
[ST] Improved video performance.
[src/mess/video]atarist.c

src/mess/video/atarist.c
r9982r9983
22
33    TODO:
44
5    - double screen width to allow for medium resolution
5   - rewrite shifter
66    - STe pixelofs
77    - blitter hog
88    - high resolution
r9982r9983
235235      cpu_set_input_line(m_maincpu, M68K_IRQ_2, HOLD_LINE);
236236//      m_shifter_ofs += (m_shifter_lineofs * 2); // STe
237237   }
238
239   pen_t pen;
240
241   switch (m_shifter_mode)
242   {
243   case 0:
244      pen = shift_mode_0();
245      *BITMAP_ADDR32(machine->generic.tmpbitmap, y, x) = pen;
246      pen = shift_mode_0();
247      *BITMAP_ADDR32(machine->generic.tmpbitmap, y, x+1) = pen;
248      pen = shift_mode_0();
249      *BITMAP_ADDR32(machine->generic.tmpbitmap, y, x+2) = pen;
250      pen = shift_mode_0();
251      *BITMAP_ADDR32(machine->generic.tmpbitmap, y, x+3) = pen;
252      break;
253
254   case 1:
255      pen = shift_mode_1();
256      break;
257
258   case 2:
259      pen = shift_mode_2();
260      break;
261     
262   default:
263      pen = get_black_pen(machine);
264      break;
265   }
238266}
239267
240268
r9982r9983
904932   {
905933   case 0:
906934      m_blitter_src = (data & 0xff) | (m_blitter_src & 0xfffe);
935      break;
936
907937   case 1:
908938      m_blitter_src = (m_blitter_src & 0xff0000) | (data & 0xfffe);
939      break;
909940   }
910941}
911942
r9982r9983
920951   {
921952   case 0:
922953      m_blitter_endmask1 = data;
954      break;
955
923956   case 1:
924957      m_blitter_endmask2 = data;
958      break;
959
925960   case 2:
926961      m_blitter_endmask3 = data;
962      break;
927963   }
928964}
929965
r9982r9983
958994   {
959995   case 0:
960996      m_blitter_dst = (data & 0xff) | (m_blitter_dst & 0xfffe);
997      break;
998
961999   case 1:
9621000      m_blitter_dst = (m_blitter_dst & 0xff0000) | (data & 0xfffe);
1001      break;
9631002   }
9641003}
9651004
r9982r9983
10441083   m_shifter_timer = timer_alloc(machine, atarist_shifter_tick, NULL);
10451084   m_glue_timer = timer_alloc(machine, atarist_glue_tick, NULL);
10461085
1047   timer_adjust_periodic(m_shifter_timer, machine->primary_screen->time_until_pos(0,0), 0, ATTOTIME_IN_HZ(Y2/4)); // 125 ns
1086//   timer_adjust_periodic(m_shifter_timer, machine->primary_screen->time_until_pos(0,0), 0, ATTOTIME_IN_HZ(Y2/4)); // 125 ns
10481087   timer_adjust_periodic(m_glue_timer, machine->primary_screen->time_until_pos(0,0), 0, ATTOTIME_IN_HZ(Y2/16)); // 500 ns
10491088
10501089   /* register for state saving */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team