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

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

unix.superglobalmegacorp.com

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