Difference for arch/dos/dosgr.c from version 1.2 to 1.3


version 1.2 version 1.3
Line 309
 
Line 309
 #endif  #endif
   
   
 int gr_set_mode(int mode)  int gr_set_mode(u_int32_t mode)
 {  {
  int retcode;   int retcode;
  unsigned int w,h,t,data, r;   unsigned int w,h,t,data, r;
Line 322
 
Line 322
  {   {
  case SM_ORIGINAL:   case SM_ORIGINAL:
  return 0;   return 0;
  case 0:   case SM(320,200)://0:
  if (!isvga()) return 1;   if (!isvga()) return 1;
  gr_set_misc_mode(0x13);   gr_set_misc_mode(0x13);
  w = 320; r = 320; h = 200; t=BM_LINEAR; data = (int)gr_video_memory;   w = 320; r = 320; h = 200; t=BM_LINEAR; data = (int)gr_video_memory;
  break;   break;
  case SM_640x400V:   case SM(640,400)://SM_640x400V:
  retcode = gr_vesa_setmode( 0x100 );    retcode = gr_vesa_setmode( 0x100 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 640; r = 640; h = 400; t=BM_SVGA; data = 0;   w = 640; r = 640; h = 400; t=BM_SVGA; data = 0;
  break;   break;
  case SM_640x480V:   case SM(640,480)://SM_640x480V:
  retcode = gr_vesa_setmode( 0x101 );    retcode = gr_vesa_setmode( 0x101 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 640; r = 640; h = 480; t=BM_SVGA; data = 0;   w = 640; r = 640; h = 480; t=BM_SVGA; data = 0;
  break;   break;
  case SM_800x600V:   case SM(800,600)://SM_800x600V:
  retcode = gr_vesa_setmode( 0x103 );    retcode = gr_vesa_setmode( 0x103 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 800; r = 800; h = 600; t=BM_SVGA; data = 0;   w = 800; r = 800; h = 600; t=BM_SVGA; data = 0;
  break;   break;
  case SM_1024x768V:   case SM(1024,768)://SM_1024x768V:
  retcode = gr_vesa_setmode( 0x105 );    retcode = gr_vesa_setmode( 0x105 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 1024; r = 1024; h = 768; t=BM_SVGA; data = 0;   w = 1024; r = 1024; h = 768; t=BM_SVGA; data = 0;
  break;   break;
  case SM_640x480V15:  /* case SM_640x480V15:
  retcode = gr_vesa_setmode( 0x110 );    retcode = gr_vesa_setmode( 0x110 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 640; r = 640*2; h=480; t=BM_SVGA15; data = 0;   w = 640; r = 640*2; h=480; t=BM_SVGA15; data = 0;
Line 356
 
Line 356
  retcode = gr_vesa_setmode( 0x113 );    retcode = gr_vesa_setmode( 0x113 );
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
  w = 800; r = 800*2; h=600; t=BM_SVGA15; data = 0;   w = 800; r = 800*2; h=600; t=BM_SVGA15; data = 0;
  break;   break;*/
  case 19:  // case 19:
    case SM(320,100):
  if (!isvga()) return 1;   if (!isvga()) return 1;
  gr_set_misc_mode(0x13);    gr_set_misc_mode(0x13);
 // {  // {
Line 370
 
Line 371
   
  w = 320; r = 320; h = 100; t=BM_LINEAR; data = (int)gr_video_memory;   w = 320; r = 320; h = 100; t=BM_LINEAR; data = (int)gr_video_memory;
  break;   break;
  case 20:  /* case 20:
  retcode = gr_vesa_setmode( 0x102 );    retcode = gr_vesa_setmode( 0x102 );
  //gr_enable_default_palette_loading();   //gr_enable_default_palette_loading();
  if (retcode !=0 ) return retcode;   if (retcode !=0 ) return retcode;
Line 388
 
Line 389
  gr_set_cellheight( 3 );   gr_set_cellheight( 3 );
  w = 160; r = 160; h = 100; t=BM_LINEAR; data = (int)gr_video_memory;   w = 160; r = 160; h = 100; t=BM_LINEAR; data = (int)gr_video_memory;
  break;   break;
  case 22: // 3dmax 320x400   case //22: // 3dmax 320x400
  if (!isvga()) return 1;   if (!isvga()) return 1;
  gr_set_3dbios_mode(0x31);   gr_set_3dbios_mode(0x31);
  //w = 320; r = 320/4; h = 400; t=BM_MODEX; data = 0;   //w = 320; r = 320/4; h = 400; t=BM_MODEX; data = 0;
  w = 320; r = 320; h = 400; t=BM_SVGA; data = 0;   w = 320; r = 320; h = 400; t=BM_SVGA; data = 0;
  break;   break;*/
  default:   default:
  if (!isvga()) return 1;   if (!isvga()) return 1;
  w = gr_modex_setmode( mode );   if (mode==SM(320,240))
    w = gr_modex_setmode( 2 );
    else if (mode==SM(320,400))
    w = gr_modex_setmode( 6 );
  //gr_enable_default_palette_loading();   //gr_enable_default_palette_loading();
  h = w & 0xffff; w = w >> 16; r = w / 4;t = BM_MODEX; data = 0;   h = w & 0xffff; w = w >> 16; r = w / 4;t = BM_MODEX; data = 0;
  break;   break;
Line 542
 
Line 546
 // 10=Error allocating selector for A0000h  // 10=Error allocating selector for A0000h
 // 11=Not a valid mode support by gr.lib  // 11=Not a valid mode support by gr.lib
   
 int gr_check_mode(int mode)  int gr_check_mode(u_int32_t mode)
 {  {
  switch(mode)   switch(mode)
  {   {
  case 19:   case SM(320,100)://19:
  case SM_320x200C:   case SM(320,200):
  case SM_320x200U:   case SM(320,200):
  case SM_320x240U:   case SM(320,240):
  case SM_360x200U:   case SM(360,200):
  case SM_360x240U:   case SM(360,240):
  case SM_376x282U:   case SM(376,282):
  case SM_320x400U:   case SM(320,400):
  case SM_320x480U:   case SM(320,480):
  case SM_360x400U:   case SM(360,400):
  case SM_360x480U:   case SM(360,480):
  case SM_360x360U:   case SM(360,360):
  case SM_376x308U:   case SM(376,308):
  case SM_376x564U: return gr_mode13_checkmode();   case SM(376,564): return gr_mode13_checkmode();
  case SM_640x400V: return gr_vesa_checkmode( 0x100 );    case SM(640,400): return gr_vesa_checkmode( 0x100 );
  case SM_640x480V: return gr_vesa_checkmode( 0x101 );    case SM(640,480): return gr_vesa_checkmode( 0x101 );
  case SM_800x600V: return gr_vesa_checkmode( 0x103 );    case SM(800,600): return gr_vesa_checkmode( 0x103 );
  case SM_1024x768V: return gr_vesa_setmode( 0x105 );    case SM(1024,768): return gr_vesa_setmode( 0x105 );
  case SM_640x480V15: return gr_vesa_setmode( 0x110 );   // case SM_640x480V15: return gr_vesa_setmode( 0x110 );
  case SM_800x600V15: return gr_vesa_setmode( 0x113 );   // case SM_800x600V15: return gr_vesa_setmode( 0x113 );
  }   }
  return 11;   return 11;
 }  }

Legend:
line(s) removed in v.1.2 
line(s) changed
 line(s) added in v.1.3