r8622 Sunday 25th July, 2010 at 15:34:56 UTC by Angelo Salese
[MULTI8]: Added width 80
[src/mess/drivers]multi8.c

src/mess/drivers/multi8.c
r8621r8622
1414
1515static UINT8 *vram;
1616static UINT8 mcu_init;
17static UINT8 keyb_press,keyb_press_flag;
17static UINT8 keyb_press,keyb_press_flag,display_reg;
1818static UINT16 cursor_addr,cursor_raster;
1919
2020static VIDEO_START( multi8 )
r8621r8622
2424static VIDEO_UPDATE( multi8 )
2525{
2626   int x,y,count;
27   int x_width;
2728   count = 0x0000;
2829
30   x_width = (display_reg & 0x40) ? 80 : 40;
31
2932   for(y=0;y<25;y++)
3033   {
31      for(x=0;x<40;x++)
34      for(x=0;x<x_width;x++)
3235      {
3336         int tile = vram[count];
3437         int color = vram[count+0x800] & 0x20;
r8621r8622
6063               }
6164            }
6265         }
63         count+=2;
66         (display_reg & 0x40) ? count++ : count+=2;
6467      }
6568   }
6669    return 0;
r8621r8622
366369static WRITE8_DEVICE_HANDLER( portb_w )
367370{
368371//   printf("Port B w = %02x\n",data);
372
373   {
374      if((display_reg & 0x40) != (data & 0x40))
375      {
376         rectangle visarea = device->machine->primary_screen->visible_area();
377         int x_width;
378
379         x_width = (data & 0x40) ? 640 : 320;
380
381         visarea.min_x = visarea.min_y = 0;
382         visarea.max_y = (200) - 1;
383         visarea.max_x = (x_width) - 1;
384
385         device->machine->primary_screen->configure(640, 200, visarea, device->machine->primary_screen->frame_period().attoseconds);
386      }
387   }
388
389
390   display_reg = data;
369391}
370392
371393static WRITE8_DEVICE_HANDLER( portc_w )

Previous 509070 RevisionsNext 50


© 1998-2010 The MESS Team