Previous 15994 Revisions Next

r2001 Monday 17th March, 2008 at 00:25:18 UTC by Firewave
Changed more video calls that were changed in 0.123u5
[src/mess/drivers]a2600.c lynx.c x68k.c
[src/mess/includes]lynx.h
[src/mess/machine]amigakbd.c apple2.c apple2gs.c apple3.c c64.c genesis.c lynx.c pc8801.c wswan.c
[src/mess/video]astrocde.c bbc.c odyssey2.c pc_video.c smsvdp.c thomson.c trs80.c vic4567.c x68k.c

src/mess/includes/lynx.h
r2000r2001
2222
2323extern UINT32 lynx_palette[0x10];
2424
25void lynx_draw_lines(int newline);
25void lynx_draw_lines(running_machine *machine, int newline);
2626
2727
2828#define PAD_UP 0x80
src/mess/video/thomson.c
r2000r2001
8080   if ( ( visarea->max_x != new_w ) || ( visarea->max_y != new_h ) )
8181   {
8282      changed = 1;
83      video_screen_set_visarea( 0, 0, new_w, 0, new_h );
83      video_screen_set_visarea( machine->primary_screen, 0, new_w, 0, new_h );
8484   }
8585
8686   return changed;
src/mess/video/x68k.c
r2000r2001
274274   sys.mfp.gpio &= ~0x40;  // GPIP6
275275   if((readinputportbytag("options") & 0x01))
276276   {
277      video_screen_update_partial(0,scan);
277      video_screen_update_partial(machine->primary_screen,scan);
278278   }
279279
280280   irq_time = video_screen_get_time_until_pos(machine->primary_screen,scan,2);
src/mess/video/astrocde.c
r2000r2001
206206      visarea.min_y = 0;
207207      visarea.max_y = 255;
208208
209      video_screen_configure(0, 455, 268, &visarea, HZ_TO_ATTOSECONDS(XTAL_Y1/2) * 268 * 455);
209      video_screen_configure(machine->primary_screen, 455, 268, &visarea, HZ_TO_ATTOSECONDS(XTAL_Y1/2) * 268 * 455);
210210   }
211211   else
212212   {
r2000r2001
216216      visarea.min_y = 0;
217217      visarea.max_y = 127;
218218
219      video_screen_configure(0, 455, 134, &visarea, HZ_TO_ATTOSECONDS(XTAL_Y1/4) * 134 * 455);
219      video_screen_configure(machine->primary_screen, 455, 134, &visarea, HZ_TO_ATTOSECONDS(XTAL_Y1/4) * 134 * 455);
220220   }
221221}
222222
src/mess/video/pc_video.c
r2000r2001
102102            pc_current_height = height;
103103
104104         if ((pc_current_width > 100) && (pc_current_height > 100))
105            video_screen_set_visarea(0, 0, pc_current_width-1, 0, pc_current_height-1);
105            video_screen_set_visarea(screen, 0, pc_current_width-1, 0, pc_current_height-1);
106106
107107         fillbitmap(bitmap, 0, cliprect);
108108      }
src/mess/video/vic4567.c
r2000r2001
778778      if ((new_columns!=columns)||(new_raws!=raws)) {
779779         raws=new_raws;
780780         columns=new_columns;
781         video_screen_set_visarea(0, 0,columns+16-1,0, raws+16-1);
781         video_screen_set_visarea(machine->primary_screen, 0,columns+16-1,0, raws+16-1);
782782      }
783783      if (VIC3_BITPLANES) {
784784         if (!video_skip_this_frame ()) vic3_draw_bitplanes(machine);
src/mess/video/smsvdp.c
r2000r2001
217217   set_display_settings( machine );
218218
219219   smsvdp.smsvdp_display_timer = timer_alloc( smsvdp_display_callback , NULL);
220   timer_adjust_periodic(smsvdp.smsvdp_display_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0 ), 0, video_screen_get_scan_period( 0 ));
220   timer_adjust_periodic(smsvdp.smsvdp_display_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0 ), 0, video_screen_get_scan_period( machine->primary_screen ));
221221   return 0;
222222}
223223
src/mess/video/trs80.c
r2000r2001
2626   if (width != width_store)
2727   {
2828      width_store = width;
29      video_screen_set_visarea(0, 0, width*FW-1, 0, 16*FH-1);
29      video_screen_set_visarea(screen, 0, width*FW-1, 0, 16*FH-1);
3030   }
3131
3232   for (y = 0; y < 16; y++)
src/mess/video/odyssey2.c
r2000r2001
44
55***************************************************************************/
66
7#include <assert.h>
87#include "driver.h"
98#include "deprecat.h"
109#include "cpu/i8039/i8039.h"
r2000r2001
192191         iff = 0;
193192         cpunum_set_input_line(machine, 0, 0, CLEAR_LINE);
194193         control_status &= ~ 0x08;
195         if ( video_screen_get_hpos( 0 ) < I824X_START_ACTIVE_SCAN || video_screen_get_hpos( 0 ) > I824X_END_ACTIVE_SCAN ) {
194         if ( video_screen_get_hpos( machine->primary_screen ) < I824X_START_ACTIVE_SCAN || video_screen_get_hpos( machine->primary_screen ) > I824X_END_ACTIVE_SCAN ) {
196195            data |= 1;
197196         }
198197
r2000r2001
207206        case 0xa4:
208207
209208            if ((o2_vdc.s.control & VDC_CONTROL_REG_STROBE_XY))
210                y_beam_pos = video_screen_get_vpos( 0 ) - start_vpos;
209                y_beam_pos = video_screen_get_vpos( machine->primary_screen ) - start_vpos;
211210
212211            data = y_beam_pos;
213212
r2000r2001
217216        case 0xa5:
218217
219218            if ((o2_vdc.s.control & VDC_CONTROL_REG_STROBE_XY)) {
220                x_beam_pos = video_screen_get_hpos( 0 );
219                x_beam_pos = video_screen_get_hpos( machine->primary_screen );
221220            if ( x_beam_pos < I824X_START_ACTIVE_SCAN ) {
222221               x_beam_pos = x_beam_pos - I824X_START_ACTIVE_SCAN + I824X_LINE_CLOCKS;
223222            } else {
r2000r2001
248247             && !(data & VDC_CONTROL_REG_STROBE_XY))
249248        {
250249            /* Toggling strobe bit, tuck away values */
251            x_beam_pos = video_screen_get_hpos( 0 );
250            x_beam_pos = video_screen_get_hpos( machine->primary_screen );
252251         if ( x_beam_pos < I824X_START_ACTIVE_SCAN ) {
253252            x_beam_pos = x_beam_pos - I824X_START_ACTIVE_SCAN + 228;
254253         } else {
255254            x_beam_pos = x_beam_pos - I824X_START_ACTIVE_SCAN;
256255         }
257256
258            y_beam_pos = video_screen_get_vpos( 0 ) - start_vpos;
257            y_beam_pos = video_screen_get_vpos( machine->primary_screen ) - start_vpos;
259258
260259            /* This is wrong but more games work with it, TODO: Figure
261260             * out correct change.  Maybe update the screen here??
r2000r2001
276275
277276READ8_HANDLER( odyssey2_t1_r )
278277{
279   if ( video_screen_get_vpos( 0 ) > start_vpos && video_screen_get_vpos( 0 ) < start_vblank ) {
280      if ( video_screen_get_hpos( 0 ) >= I824X_START_ACTIVE_SCAN && video_screen_get_hpos( 0 ) < I824X_END_ACTIVE_SCAN ) {
278   if ( video_screen_get_vpos( machine->primary_screen ) > start_vpos && video_screen_get_vpos( machine->primary_screen ) < start_vblank ) {
279      if ( video_screen_get_hpos( machine->primary_screen ) >= I824X_START_ACTIVE_SCAN && video_screen_get_hpos( machine->primary_screen ) < I824X_END_ACTIVE_SCAN ) {
281280         return 1;
282281      }
283282   }
r2000r2001
286285
287286static TIMER_CALLBACK( i824x_scanline_callback ) {
288287   UINT8   collision_map[160];
289   int      vpos = video_screen_get_vpos( 0 );
288   int      vpos = video_screen_get_vpos( machine->primary_screen );
290289
291290   if ( vpos < start_vpos )
292291      return;
r2000r2001
516515}
517516
518517static TIMER_CALLBACK( i824x_hblank_callback ) {
519   int vpos = video_screen_get_vpos( 0 );
518   int vpos = video_screen_get_vpos( machine->primary_screen );
520519
521520   if ( vpos < start_vpos - 1 )
522521      return;
r2000r2001
549548   tmp_bitmap = auto_bitmap_alloc( width, height, video_screen_get_format(screen) );
550549
551550   i824x_line_timer = timer_alloc( i824x_scanline_callback, NULL );
552   timer_adjust_periodic( i824x_line_timer, video_screen_get_time_until_pos(machine->primary_screen, 1, I824X_START_ACTIVE_SCAN ), 0, video_screen_get_scan_period( 0 ) );
551   timer_adjust_periodic( i824x_line_timer, video_screen_get_time_until_pos(machine->primary_screen, 1, I824X_START_ACTIVE_SCAN ), 0, video_screen_get_scan_period( machine->primary_screen ) );
553552
554553   i824x_hblank_timer = timer_alloc( i824x_hblank_callback, NULL );
555   timer_adjust_periodic( i824x_hblank_timer, video_screen_get_time_until_pos(machine->primary_screen, 1, I824X_END_ACTIVE_SCAN + 18 ), 0, video_screen_get_scan_period( 0 ) );
554   timer_adjust_periodic( i824x_hblank_timer, video_screen_get_time_until_pos(machine->primary_screen, 1, I824X_END_ACTIVE_SCAN + 18 ), 0, video_screen_get_scan_period( machine->primary_screen ) );
556555}
557556
558557/***************************************************************************
src/mess/video/bbc.c
r2000r2001
278278
279279   // emulation refresh optimisation
280280   video_refresh=1;
281   video_screen_update_partial(0, video_screen_get_vpos(machine->primary_screen) - 1);
281   video_screen_update_partial(machine->primary_screen, video_screen_get_vpos(machine->primary_screen) - 1);
282282
283283//   logerror("setting videoULA %s at %.4x size:%.4x\n",image_filename(image), addr, size);
284284   logerror("setting videoULA %.4x to:%.4x   at :%d \n",data,offset,video_screen_get_vpos(machine->primary_screen) );
src/mess/machine/wswan.c
r2000r2001
14171417      if ( vdp.display_vertical != vdp.new_display_vertical ) {
14181418         vdp.display_vertical = vdp.new_display_vertical;
14191419         if ( vdp.display_vertical ) {
1420            video_screen_set_visarea( 0, 5*8, 5*8 + WSWAN_Y_PIXELS - 1, 0, WSWAN_X_PIXELS - 1 );
1420            video_screen_set_visarea( machine->primary_screen, 5*8, 5*8 + WSWAN_Y_PIXELS - 1, 0, WSWAN_X_PIXELS - 1 );
14211421         } else {
1422            video_screen_set_visarea( 0, 0, WSWAN_X_PIXELS - 1, 5*8, 5*8 + WSWAN_Y_PIXELS - 1 );
1422            video_screen_set_visarea( machine->primary_screen, 0, WSWAN_X_PIXELS - 1, 5*8, 5*8 + WSWAN_Y_PIXELS - 1 );
14231423         }
14241424      }
14251425   }
src/mess/machine/apple2gs.c
r2000r2001
800800
801801   scanline = video_screen_get_vpos(machine->primary_screen);
802802
803   video_screen_update_partial(0, scanline);
803   video_screen_update_partial(machine->primary_screen, scanline);
804804
805805   /* scanline interrupt */
806806   if ((apple2gs_newvideo & 0x80) && (apple2gs_vgcint & 0x02) && (scanline >= (BORDER_TOP-1)) && (scanline < (200+BORDER_TOP-1)))
src/mess/machine/apple3.c
r2000r2001
260260INTERRUPT_GEN( apple3_interrupt )
261261{
262262   via_set_input_ca2(1, (AY3600_keydata_strobe_r() & 0x80) ? 1 : 0);
263   via_set_input_cb1(1, video_screen_get_vblank(0));
264   via_set_input_cb2(1, video_screen_get_vblank(0));
263   via_set_input_cb1(1, video_screen_get_vblank(machine->primary_screen));
264   via_set_input_cb2(1, video_screen_get_vblank(machine->primary_screen));
265265}
266266
267267
src/mess/machine/lynx.c
r2000r2001
835835      break;
836836    case 2:
837837      lynx_timer_count_down( machine, 4 );
838      lynx_draw_lines( -1 );
838      lynx_draw_lines( machine, -1 );
839839      lynx_line=0;
840840      break;
841841    case 1:
r2000r2001
11291129   case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb4: case 0xb5: case 0xb6: case 0xb7:
11301130   case 0xb8: case 0xb9: case 0xba: case 0xbb: case 0xbc: case 0xbd: case 0xbe: case 0xbf:
11311131      mikey.data[offset]=data;
1132      lynx_draw_lines(lynx_line);
1132      lynx_draw_lines(machine, lynx_line);
11331133#if 0
11341134      palette_set_color_rgb(offset&0xf,
11351135               (mikey.data[0xb0+(offset&0xf)]&0xf)<<4,
src/mess/machine/pc8801.c
r2000r2001
221221  r = pc8801_is_24KHz ? 0x00 : 0x02;
222222  r |= use_5FD ? 0x00 : 0x08;
223223  r |= calender_data() ? 0x10 : 0x00;
224  if(video_screen_get_vblank(0)) r|=0x20;
224  if(video_screen_get_vblank(machine->primary_screen)) r|=0x20;
225225  return r|0xc0;
226226}
227227
src/mess/machine/amigakbd.c
r2000r2001
5050   /* if we still have more data, schedule another update */
5151   if ( key_buf_pos != key_cur_pos )
5252   {
53      timer_adjust_oneshot(kbd_timer, attotime_div(video_screen_get_frame_period(0),4), 0);
53      timer_adjust_oneshot(kbd_timer, attotime_div(video_screen_get_frame_period(machine->primary_screen),4), 0);
5454   }
5555}
5656
r2000r2001
9090      /* if the buffer was empty and we have new data, start a timer to send the keystrokes */
9191      if ( key_buf_was_empty && ( key_buf_pos != key_cur_pos ) )
9292      {
93         timer_adjust_oneshot(kbd_timer, attotime_div(video_screen_get_frame_period(0),4), 0);
93         timer_adjust_oneshot(kbd_timer, attotime_div(video_screen_get_frame_period(machine->primary_screen),4), 0);
9494      }
9595   }
9696}
src/mess/machine/apple2.c
r2000r2001
776776         cpunum_set_input_line(machine, 0, M6502_IRQ_LINE, PULSE_LINE);
777777   }
778778
779   video_screen_update_partial(0, scanline);
779   video_screen_update_partial(machine->primary_screen, scanline);
780780
781781   profiler_mark(PROFILER_END);
782782}
src/mess/machine/c64.c
r2000r2001
11461146         {
11471147            vic2_set_rastering(0);
11481148            vdc8563_set_rastering(1);
1149            video_screen_set_visarea(0, 0, 655, 0, 215);
1149            video_screen_set_visarea(machine->primary_screen, 0, 655, 0, 215);
11501150         }
11511151         else
11521152         {
11531153            vic2_set_rastering(1);
11541154            vdc8563_set_rastering(0);
1155            video_screen_set_visarea(0, 0, 335, 0, 215);
1155            video_screen_set_visarea(machine->primary_screen, 0, 335, 0, 215);
11561156         }
11571157         monitor=MONITOR_TV;
11581158      }
src/mess/machine/genesis.c
r2000r2001
22232223      switch (genesis_vdp.genesis_vdp_regs[0x0c]&0x81)
22242224      {
22252225         case 0x00: // 32 cell
2226            video_screen_set_visarea(0, 0, 32*8-1, 0, 224-1);
2226            video_screen_set_visarea(machine->primary_screen, 0, 32*8-1, 0, 224-1);
22272227            break;
22282228         case 0x01: // 40 cell corrupted
22292229         case 0x80: // illegal!
22302230         case 0x81: // 40 cell
2231            video_screen_set_visarea(0, 0, 40*8-1, 0, 224-1);
2231            video_screen_set_visarea(machine->primary_screen, 0, 40*8-1, 0, 224-1);
22322232         break;
22332233      }
22342234   }
src/mess/drivers/lynx.c
r2000r2001
66
77******************************************************************************/
88
9#include <zlib.h>
10
119#include "driver.h"
1210#include "cpu/m6502/m6502.h"
1311#include "devices/snapquik.h"
r2000r2001
8381; B1    1 EQU flip screen
8482; B0    1 EQU video DMA enabled
8583*/
86void lynx_draw_lines(int newline)
84void lynx_draw_lines(running_machine *machine, int newline)
8785{
8886   static int height=-1, width=-1;
8987   int h,w;
r2000r2001
182180      {
183181         width=w;
184182         height=h;
185         video_screen_set_visarea(0, 0, width-1, 0, height-1);
183         video_screen_set_visarea(machine->primary_screen, 0, width-1, 0, height-1);
186184      }
187185   }
188186}
src/mess/drivers/x68k.c
r2000r2001
898898   {
899899   case 0x00:
900900      sys.sysport.contrast = data & 0x0f;  // often used for screen fades / blanking
901      container = render_container_get_screen(0);
901      container = render_container_get_screen(machine->primary_screen);
902902      render_container_set_brightness(container,(float)(sys.sysport.contrast) / 14.0);
903903      break;
904904   case 0x01:
r2000r2001
14501450//  mfp_trigger_irq(MFP_IRQ_GPIP4);
14511451//  }
14521452//  if(sys.crtc.height == 256)
1453//      video_screen_update_partial(0,256);//sys.crtc.reg[4]/2);
1453//      video_screen_update_partial(machine->primary_screen,256);//sys.crtc.reg[4]/2);
14541454//  else
1455//      video_screen_update_partial(0,512);//sys.crtc.reg[4]);
1455//      video_screen_update_partial(machine->primary_screen,512);//sys.crtc.reg[4]);
14561456}
14571457
14581458static int x68k_int_ack(int line)
src/mess/drivers/a2600.c
r2000r2001
13711371      if ( data >= supported_screen_heights[i] - 3 && data <= supported_screen_heights[i] + 3 ) {
13721372         if ( supported_screen_heights[i] != current_screen_height ) {
13731373            current_screen_height = supported_screen_heights[i];
1374//              video_screen_configure( 0, 228, current_screen_height, &visarea[i], HZ_TO_ATTOSECONDS( MASTER_CLOCK_NTSC ) * 228 * current_screen_height );
1374//              video_screen_configure( machine->primary_screen, 228, current_screen_height, &visarea[i], HZ_TO_ATTOSECONDS( MASTER_CLOCK_NTSC ) * 228 * current_screen_height );
13751375         }
13761376      }
13771377   }
r2000r2001
13841384      if ( data >= supported_screen_heights[i] - 3 && data <= supported_screen_heights[i] + 3 ) {
13851385         if ( supported_screen_heights[i] != current_screen_height ) {
13861386            current_screen_height = supported_screen_heights[i];
1387//              video_screen_configure( 0, 228, current_screen_height, &visarea[i], HZ_TO_ATTOSECONDS( MASTER_CLOCK_PAL ) * 228 * current_screen_height );
1387//              video_screen_configure( machine->primary_screen, 228, current_screen_height, &visarea[i], HZ_TO_ATTOSECONDS( MASTER_CLOCK_PAL ) * 228 * current_screen_height );
13881388         }
13891389      }
13901390   }

Previous 15994 Revisions Next


© 1998-2018 The MESS Team