1 /* 2 Hatari - vdi.h 3 4 This file is distributed under the GNU General Public License, version 2 5 or at your option any later version. Read the file gpl.txt for details. 6 */ 7 8 #ifndef HATARI_VDI_H 9 #define HATARI_VDI_H 10 11 #define MAX_VDI_PLANES 4 12 /* TOS needs screen width to be aligned to 128/planes and height to VDI text 13 * height (16, larger of these, is used in calculating the limits in Hatari). 14 * Max. screen size supported by EmuTOS (and TOS v3.x?) is 300kB. 15 * 16 * Below MAX_VDI_* values are reasonable limits for monochrome resolutions. 17 * 300kB limits screen size to max. resolution of 2048x1200 or 1920x1280, 18 * which allows FHD (1920×1080), WUXGA (1920x1200) and QWXGA (2048x1152) 19 * standard resolutions. 20 * 21 * On 4-color mode, 300kB limits screen size to 1280x960 or 1200x1024 22 * which allows HD (1280x720), WXGA (1280x768) and XGA+ (1152x864) 23 * standard resolutions. 24 * 25 * On 16-color mode, 300kB limits screen size to 1024x576 or 800x768, 26 * which fills nicely qHD (960x540), DVGA (960x640) and WSVGA (1024x600) 27 * standard resolution displays. 28 */ 29 #define MAX_VDI_BYTES 300*1024 30 #define MAX_VDI_WIDTH 2048 31 #define MAX_VDI_HEIGHT 1280 32 /* smaller doesn't make sense even for testing */ 33 #define MIN_VDI_WIDTH 320 34 #define MIN_VDI_HEIGHT 208 35 36 37 enum 38 { 39 GEMCOLOR_2, 40 GEMCOLOR_4, 41 GEMCOLOR_16 42 }; 43 44 extern Uint32 VDI_OldPC; 45 extern bool bUseVDIRes, bVdiAesIntercept; 46 extern int VDIWidth,VDIHeight; 47 extern int VDIRes,VDIPlanes; 48 49 extern void VDI_SetResolution(int GEMColor, int WidthRequest, int HeightRequest); 50 extern void AES_Info(FILE *fp, Uint32 bShowOpcodes); 51 extern void VDI_Info(FILE *fp, Uint32 bShowOpcodes); 52 extern bool VDI_AES_Entry(void); 53 extern void VDI_LineA(Uint32 LineABase, Uint32 FontBase); 54 extern void VDI_Complete(void); 55 extern void VDI_Reset(void); 56 57 #endif /* HATARI_VDI_H */ 58