Annotation of hatari/src/includes/screenDraw.h, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari
                      3: */
                      4: 
                      5: /*-----------------------------------------------------------------------*/
                      6: /* VDI Screens 640x480 */
                      7: SCREENDRAW VDIScreenDraw_640x480[] = {
                      8:   {  /* Low */
                      9:     ConvertVDIRes_16Colour,
                     10:     /*MODE_640x480x256,*/
                     11:     640,480,8,1,
                     12:     {
                     13:       { 0,640/2, 0,480,  0,0 },
                     14:       { 0,640/2, 0,480,  0,0 },
                     15:       { 0,640/2, 0,480,  0,0 },
                     16:       { 0,640/2, 0,480,  0,0 },
                     17:     }
                     18:   },
                     19:   {  /* Medium */
                     20:     ConvertVDIRes_4Colour,
                     21:     /*MODE_640x480x256,*/
                     22:     640,480,8,1,
                     23:     {
                     24:       { 0,640/4, 0,480,  0,0 },
                     25:       { 0,640/4, 0,480,  0,0 },
                     26:       { 0,640/4, 0,480,  0,0 },
                     27:       { 0,640/4, 0,480,  0,0 },
                     28:     }
                     29:   },
                     30:   {  /* High */
                     31:     ConvertVDIRes_2Colour,
                     32:     /*MODE_640x480x256,*/
                     33:     640,480,8,1,
                     34:     {
                     35:       { 0,640/8, 0,480,  0,0 },
                     36:       { 0,640/8, 0,480,  0,0 },
                     37:       { 0,640/8, 0,480,  0,0 },
                     38:       { 0,640/8, 0,480,  0,0 },
                     39:     }
                     40:   },
                     41: };
                     42: 
                     43: /* VDI Screens 800x600 */
                     44: SCREENDRAW VDIScreenDraw_800x600[] = {
                     45:   {  /* Low */
                     46:     ConvertVDIRes_16Colour,
                     47:     /*MODE_800x600x256,*/
                     48:     800,600,8,1,
                     49:     {
                     50:       { 0,800/2, 0,600,  0,0 },
                     51:       { 0,800/2, 0,600,  0,0 },
                     52:       { 0,800/2, 0,600,  0,0 },
                     53:       { 0,800/2, 0,600,  0,0 },
                     54:     }
                     55:   },
                     56:   {  /* Medium */
                     57:     ConvertVDIRes_4Colour,
                     58:     /*MODE_800x600x256,*/
                     59:     800,600,8,1,
                     60:     {
                     61:       { 0,800/4, 0,600,  0,0 },
                     62:       { 0,800/4, 0,600,  0,0 },
                     63:       { 0,800/4, 0,600,  0,0 },
                     64:       { 0,800/4, 0,600,  0,0 },
                     65:     }
                     66:   },
                     67:   {  /* High */
                     68:     ConvertVDIRes_2Colour,
                     69:     /*MODE_800x600x256,*/
                     70:     800,600,8,1,
                     71:     {
                     72:       { 0,800/8, 0,600,  0,0 },
                     73:       { 0,800/8, 0,600,  0,0 },
                     74:       { 0,800/8, 0,600,  0,0 },
                     75:       { 0,800/8, 0,600,  0,0 },
                     76:     }
                     77:   },
                     78: };
                     79: 
                     80: /* VDI Screens 1024x768 */
                     81: SCREENDRAW VDIScreenDraw_1024x768[] = {
                     82:   {  /* Low */
                     83:     ConvertVDIRes_16Colour,
                     84:     /*MODE_1024x768x256,*/
                     85:     1024,768,8,1,
                     86:     {
                     87:       { 0,1024/2, 0,768,  0,0 },
                     88:       { 0,1024/2, 0,768,  0,0 },
                     89:       { 0,1024/2, 0,768,  0,0 },
                     90:       { 0,1024/2, 0,768,  0,0 },
                     91:     }
                     92:   },
                     93:   {  /* Medium */
                     94:     ConvertVDIRes_4Colour,
                     95:     /*MODE_1024x768x256,*/
                     96:     1024,768,8,1,
                     97:     {
                     98:       { 0,1024/4, 0,768,  0,0 },
                     99:       { 0,1024/4, 0,768,  0,0 },
                    100:       { 0,1024/4, 0,768,  0,0 },
                    101:       { 0,1024/4, 0,768,  0,0 },
                    102:     }
                    103:   },
                    104:   {  /* High */
                    105:     ConvertVDIRes_2Colour,
                    106:     /*MODE_1024x768x256,*/
                    107:     1024,768,8,1,
                    108:     {
                    109:       { 0,1024/8, 0,768,  0,0 },
                    110:       { 0,1024/8, 0,768,  0,0 },
                    111:       { 0,1024/8, 0,768,  0,0 },
                    112:       { 0,1024/8, 0,768,  0,0 },
                    113:     }
                    114:   },
                    115: };
                    116: 
                    117: /*-----------------------------------------------------------------------*/
                    118: ///// NO OVERSCAN
                    119: SCREENDRAW ScreenDraw_Low_320x200x256_NoOverscan = {
                    120:   ConvertLowRes_320x8Bit,
                    121:   /*MODE_320x200x256,*/
                    122:   320,200,8,1,
                    123:   {
                    124:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    125:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    126:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    127:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    128:   }
                    129: };
                    130: 
                    131: SCREENDRAW ScreenDraw_Low_320x240x256_NoOverscan = {
                    132:   ConvertLowRes_320x8Bit,
                    133:   /*MODE_320x240x256,*/
                    134:   320,240,8,1,
                    135:   {
                    136:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    137:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    138:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    139:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    140:   }
                    141: };
                    142: 
                    143: SCREENDRAW ScreenDraw_Low_320x200x16Bit_NoOverscan = {
                    144:   ConvertLowRes_320x16Bit,
                    145:   /*MODE_320x200x16BIT,*/
                    146:   320,200,16,1,
                    147:   {
                    148:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    149:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    150:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    151:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    152:   }
                    153: };
                    154: 
                    155: SCREENDRAW ScreenDraw_Low_320x240x16Bit_NoOverscan = {
                    156:   ConvertLowRes_320x16Bit,
                    157:   /*MODE_320x240x16BIT,*/
                    158:   320,240,16,1,
                    159:   {
                    160:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    161:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    162:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    163:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    164:   }
                    165: };
                    166: 
                    167: SCREENDRAW ScreenDraw_Low_640x400x256_NoOverscan = {
                    168:   ConvertLowRes_640x8Bit,
                    169:   /*MODE_640x400x256,*/
                    170:   640,400,8,2,
                    171:   {
                    172:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    173:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    174:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    175:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    176:   }
                    177: };
                    178: 
                    179: SCREENDRAW ScreenDraw_Low_640x480x256_NoOverscan = {
                    180:   ConvertLowRes_640x8Bit,
                    181:   /*MODE_640x480x256,*/
                    182:   640,480,8,2,
                    183:   {
                    184:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    185:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    186:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    187:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    188:   }
                    189: };
                    190: 
                    191: SCREENDRAW ScreenDraw_Low_640x400x16Bit_NoOverscan = {
                    192:   ConvertLowRes_640x16Bit,
                    193:   /*MODE_640x400x16BIT,*/
                    194:   640,400,16,2,
                    195:   {
                    196:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    197:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    198:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    199:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    200:   }
                    201: };
                    202: 
                    203: SCREENDRAW ScreenDraw_Low_640x480x16Bit_NoOverscan = {
                    204:   ConvertLowRes_640x16Bit,
                    205:   /*MODE_640x480x16BIT,*/
                    206:   640,480,16,2,
                    207:   {
                    208:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    209:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    210:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    211:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    212:   }
                    213: };
                    214: 
                    215: SCREENDRAW ScreenDraw_Medium_640x400x256_NoOverscan = {
                    216:   ConvertMediumRes_640x8Bit,
                    217:   /*MODE_640x400x256,*/
                    218:   640,400,8,2,
                    219:   {
                    220:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    221:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    222:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    223:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    224:   }
                    225: };
                    226: 
                    227: SCREENDRAW ScreenDraw_Medium_640x480x256_NoOverscan = {
                    228:   ConvertMediumRes_640x8Bit,
                    229:   /*MODE_640x480x256,*/
                    230:   640,480,8,2,
                    231:   {
                    232:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    233:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    234:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    235:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    236:   }
                    237: };
                    238: 
                    239: SCREENDRAW ScreenDraw_Medium_640x400x16Bit_NoOverscan = {
                    240:   ConvertMediumRes_640x16Bit,
                    241:   /*MODE_640x400x16BIT,*/
                    242:   640,400,16,2,
                    243:   {
                    244:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    245:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    246:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    247:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    248:   }
                    249: };
                    250: 
                    251: SCREENDRAW ScreenDraw_Medium_640x480x16Bit_NoOverscan = {
                    252:   ConvertMediumRes_640x16Bit,
                    253:   /*MODE_640x480x16BIT,*/
                    254:   640,480,16,2,
                    255:   {
                    256:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    257:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    258:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    259:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 }
                    260:   }
                    261: };
                    262: 
                    263: SCREENDRAW ScreenDraw_High_640x400x256_NoOverscan = {
                    264:   ConvertHighRes_640x8Bit,
                    265:   /*MODE_640x400x256,*/
                    266:   640,400,8,1,
                    267:   {
                    268:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  0,0 },
                    269:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  0,0 },  // These are not valid!(cannot have overscan in High Res)
                    270:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  0,0 },
                    271:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  0,0 },
                    272:   }
                    273: };
                    274: 
                    275: SCREENDRAW ScreenDraw_High_640x480x256_NoOverscan = {
                    276:   ConvertHighRes_640x8Bit,
                    277:   /*MODE_640x480x256,*/
                    278:   640,480,8,1,
                    279:   {
                    280:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    281:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },  // These are not valid!(cannot have overscan in High Res)
                    282:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    283:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    284:   }
                    285: };
                    286: 
                    287: //-----------------------------------------------------------------------
                    288: ///// OVERSCAN
                    289: SCREENDRAW ScreenDraw_Low_320x200x256 = {
                    290:   ConvertLowRes_320x8Bit,
                    291:   /*MODE_320x200x256,*/
                    292:   320,200,8,1,
                    293:   {
                    294:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    295:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    296:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    297:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    298:   }
                    299: };
                    300: 
                    301: SCREENDRAW ScreenDraw_Low_320x200x16Bit = {
                    302:   ConvertLowRes_320x16Bit,
                    303:   /*MODE_320x200x16BIT,*/
                    304:   320,200,16,1,
                    305:   {
                    306:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    307:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    308:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 },
                    309:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  0,0 }
                    310:   }
                    311: };
                    312: 
                    313: SCREENDRAW ScreenDraw_Low_320x240x256 = {
                    314:   ConvertLowRes_320x8Bit,
                    315:   /*MODE_320x240x256,*/
                    316:   320,240,8,1,
                    317:   {
                    318:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    319:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    320:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    321:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    322:   }
                    323: };
                    324: 
                    325: SCREENDRAW ScreenDraw_Low_320x240x16Bit = {
                    326:   ConvertLowRes_320x16Bit,
                    327:   /*MODE_320x240x16BIT,*/
                    328:   320,240,16,1,
                    329:   {
                    330:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    331:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    332:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    333:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    334:   }
                    335: };
                    336: 
                    337: SCREENDRAW ScreenDraw_Low_640x480x256 = {
                    338:   ConvertLowRes_640x8Bit,
                    339:   /*MODE_640x480x256,*/
                    340:   640,480,8,2,
                    341:   {
                    342:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    343:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    344:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    345:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    346:   }
                    347: };
                    348: 
                    349: SCREENDRAW ScreenDraw_Low_800x600x256 = {
                    350:   ConvertLowRes_640x8Bit,
                    351:   /*MODE_800x600x256,*/
                    352:   800,600,8,2,
                    353:   {
                    354:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    355:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    356:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    357:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 }
                    358:   }
                    359: };
                    360: 
                    361: SCREENDRAW ScreenDraw_Low_640x480x16Bit = {
                    362:   ConvertLowRes_640x16Bit,
                    363:   /*MODE_640x480x16BIT,*/
                    364:   640,480,16,2,
                    365:   {
                    366:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    367:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    368:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    369:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    370:   }
                    371: };
                    372: 
                    373: SCREENDRAW ScreenDraw_Low_800x600x16Bit = {
                    374:   ConvertLowRes_640x16Bit,
                    375:   /*MODE_800x600x16BIT,*/
                    376:   800,600,16,2,
                    377:   {
                    378:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    379:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    380:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    381:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 }
                    382:   }
                    383: };
                    384: 
                    385: SCREENDRAW ScreenDraw_Medium_640x480x256 = {
                    386:   ConvertMediumRes_640x8Bit,
                    387:   /*MODE_640x480x256,*/
                    388:   640,480,8,2,
                    389:   {
                    390:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    391:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    392:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    393:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    394:   }
                    395: };
                    396: 
                    397: SCREENDRAW ScreenDraw_Medium_800x600x256 = {
                    398:   ConvertMediumRes_640x8Bit,
                    399:   /*MODE_800x600x256,*/
                    400:   800,600,8,2,
                    401:   {
                    402:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    403:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    404:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 },
                    405:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16 }
                    406:   }
                    407: };
                    408: 
                    409: SCREENDRAW ScreenDraw_Medium_640x480x16Bit = {
                    410:   ConvertMediumRes_640x16Bit,
                    411:   /*MODE_640x480x16BIT,*/
                    412:   640,480,16,2,
                    413:   {
                    414:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200,  20,0 },
                    415:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 0,OVERSCAN_TOP+200,    6,0 },
                    416:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+200+OVERSCAN_BOTTOM,  1,0 },
                    417:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, 13,OVERSCAN_TOP+200+17,  0,0 }
                    418:   }
                    419: };
                    420: 
                    421: SCREENDRAW ScreenDraw_Medium_800x600x16Bit = {
                    422:   ConvertMediumRes_640x16Bit,
                    423:   /*MODE_800x600x16BIT,*/
                    424:   800,600,16,2,
                    425:   {
                    426:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    427:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    428:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 },
                    429:     { 0,SCREENBYTES_LINE, 0,NUM_VISIBLE_LINES,  16,16*2 }
                    430:   }
                    431: };
                    432: 
                    433: SCREENDRAW ScreenDraw_High_640x480x256 = {
                    434:   ConvertHighRes_640x8Bit,
                    435:   /*MODE_640x480x256,*/
                    436:   640,480,8,1,
                    437:   {
                    438:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    439:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },  // These are not valid!(cannot have overscan in High Res)
                    440:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    441:     { SCREENBYTES_LEFT,SCREENBYTES_MIDDLE, OVERSCAN_TOP,OVERSCAN_TOP+400,  40,0 },
                    442:   }
                    443: };
                    444: 
                    445: 
                    446: //-----------------------------------------------------------------------
                    447: // Modes to select according to chosen option from dialog(with and without overscan)
                    448: // In order DISPLAYMODE_16COL_LOWRES,DISPLAYMODE_16COL_HIGHRES,DISPLAYMODE_16COL_FULL,DISPLAYMODE_HICOL_LOWRES,DISPLAYMODE_HICOL_HIGHRES and DISPLAYMODE_HICOL_FULL
                    449: SCREENDRAW_DISPLAYOPTIONS ScreenDisplayOptions_NoOverscan[] = {
                    450:   // Low-Colour, Low Res
                    451:   {
                    452:     &ScreenDraw_Low_320x200x256_NoOverscan,&ScreenDraw_Low_320x240x256_NoOverscan,
                    453:     &ScreenDraw_Medium_640x400x256_NoOverscan,&ScreenDraw_Medium_640x480x256_NoOverscan,
                    454:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    455:     &ScreenDraw_Medium_640x400x256_NoOverscan,&ScreenDraw_Medium_640x480x256_NoOverscan,
                    456:   },
                    457:   // Low-Colour, High Res
                    458:   {
                    459:     &ScreenDraw_Low_640x400x256_NoOverscan,&ScreenDraw_Low_640x480x256_NoOverscan,
                    460:     &ScreenDraw_Medium_640x400x256_NoOverscan,&ScreenDraw_Medium_640x480x256_NoOverscan,
                    461:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    462:     &ScreenDraw_Medium_640x400x256_NoOverscan,&ScreenDraw_Medium_640x480x256_NoOverscan,
                    463:   },
                    464:   // Low-Colour, Full View
                    465:   {
                    466:     &ScreenDraw_Low_800x600x256,&ScreenDraw_Low_800x600x256,
                    467:     &ScreenDraw_Medium_800x600x256,&ScreenDraw_Medium_800x600x256,
                    468:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    469:     &ScreenDraw_Medium_800x600x256,&ScreenDraw_Medium_800x600x256,
                    470:   },
                    471:   // Hi-Colour, Low Res
                    472:   {
                    473:     &ScreenDraw_Low_320x200x16Bit_NoOverscan,&ScreenDraw_Low_320x240x16Bit_NoOverscan,
                    474:     &ScreenDraw_Medium_640x400x16Bit_NoOverscan,&ScreenDraw_Medium_640x480x16Bit_NoOverscan,
                    475:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    476:     &ScreenDraw_Medium_640x400x16Bit_NoOverscan,&ScreenDraw_Medium_640x480x16Bit_NoOverscan,
                    477:   },
                    478:   // Hi-Colour, High Res
                    479:   {
                    480:     &ScreenDraw_Low_640x400x16Bit_NoOverscan,&ScreenDraw_Low_640x480x16Bit_NoOverscan,
                    481:     &ScreenDraw_Medium_640x400x16Bit_NoOverscan,&ScreenDraw_Medium_640x480x16Bit_NoOverscan,
                    482:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    483:     &ScreenDraw_Medium_640x400x16Bit_NoOverscan,&ScreenDraw_Medium_640x480x16Bit_NoOverscan,
                    484:   },
                    485:   // Hi-Colour, Full View
                    486:   {
                    487:     &ScreenDraw_Low_800x600x16Bit,&ScreenDraw_Low_800x600x16Bit,
                    488:     &ScreenDraw_Medium_800x600x16Bit,&ScreenDraw_Medium_800x600x16Bit,
                    489:     &ScreenDraw_High_640x400x256_NoOverscan,&ScreenDraw_High_640x480x256_NoOverscan,
                    490:     &ScreenDraw_Medium_800x600x16Bit,&ScreenDraw_Medium_800x600x16Bit,
                    491:   }
                    492: };
                    493: 
                    494: SCREENDRAW_DISPLAYOPTIONS ScreenDisplayOptions[] = {
                    495:   // Low-Colour, Low Res
                    496:   {
                    497:     &ScreenDraw_Low_320x240x256,&ScreenDraw_Low_320x200x256_NoOverscan,
                    498:     &ScreenDraw_Medium_640x480x256,&ScreenDraw_Medium_640x400x256_NoOverscan,
                    499:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    500:     &ScreenDraw_Medium_640x480x256,&ScreenDraw_Medium_640x400x256_NoOverscan,
                    501:   },
                    502:   // Low-Colour, High Res
                    503:   {
                    504:     &ScreenDraw_Low_640x480x256,&ScreenDraw_Low_640x400x256_NoOverscan,
                    505:     &ScreenDraw_Medium_640x480x256,&ScreenDraw_Medium_640x400x256_NoOverscan,
                    506:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    507:     &ScreenDraw_Medium_640x480x256,&ScreenDraw_Medium_640x400x256_NoOverscan,
                    508:   },
                    509:   // Low-Colour, Full View
                    510:   {
                    511:     &ScreenDraw_Low_800x600x256,&ScreenDraw_Low_800x600x256,
                    512:     &ScreenDraw_Medium_800x600x256,&ScreenDraw_Medium_800x600x256,
                    513:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    514:     &ScreenDraw_Medium_800x600x256,&ScreenDraw_Medium_800x600x256,
                    515:   },
                    516:   // Hi-Colour, Low Res
                    517:   {
                    518:     &ScreenDraw_Low_320x240x16Bit,&ScreenDraw_Low_320x200x16Bit_NoOverscan,
                    519:     &ScreenDraw_Medium_640x480x16Bit,&ScreenDraw_Medium_640x400x16Bit_NoOverscan,
                    520:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    521:     &ScreenDraw_Medium_640x480x16Bit,&ScreenDraw_Medium_640x400x16Bit_NoOverscan,
                    522:   },
                    523:   // Hi-Colour, High Res
                    524:   {
                    525:     &ScreenDraw_Low_640x480x16Bit,&ScreenDraw_Low_640x400x16Bit_NoOverscan,
                    526:     &ScreenDraw_Medium_640x480x16Bit,&ScreenDraw_Medium_640x400x16Bit_NoOverscan,
                    527:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    528:     &ScreenDraw_Medium_640x480x16Bit,&ScreenDraw_Medium_640x400x16Bit_NoOverscan,
                    529:   },
                    530:   // Hi-Colour, Full View
                    531:   {
                    532:     &ScreenDraw_Low_800x600x16Bit,&ScreenDraw_Low_800x600x16Bit,
                    533:     &ScreenDraw_Medium_800x600x16Bit,&ScreenDraw_Medium_800x600x16Bit,
                    534:     &ScreenDraw_High_640x480x256,&ScreenDraw_High_640x400x256_NoOverscan,
                    535:     &ScreenDraw_Medium_800x600x16Bit,&ScreenDraw_Medium_800x600x16Bit,
                    536:   }
                    537: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.