Here is an example of how to query the properties of a given mode from a displayinfohandle. #include <graphics/displayinfo.h> check_properties( handle ) DisplayInfoHandle handle; { struct DisplayInfo queryinfo; /* fill in the displayinfo buffer with basic Mode display data */ if(GetDisplayInfoData(handle, (UBYTE *)&queryinfo,sizeof(queryinfo), DTAG_DISP,NULL))) { /* check for Properties of this Mode */ if(queryinfo.PropertyFlags) { if(queryinfo.PropertyFlags & DIPF_IS_LACE) printf("mode is interlaced"); if(queryinfo.PropertyFlags & DIPF_IS_DUALPF) printf("mode has dual playfields"); if(queryinfo.PropertyFlags & DIPF_IS_PF2PRI) printf("mode has playfield two priority"); if(queryinfo.PropertyFlags & DIPF_IS_HAM) printf("mode uses hold-and-modify"); if(queryinfo.PropertyFlags & DIPF_IS_ECS) printf("mode requires the ECS chip set"); if(queryinfo.PropertyFlags & DIPF_IS_PAL) printf("mode is naturally displayed on pal.monitor"); if(queryinfo.PropertyFlags & DIPF_IS_SPRITES) printf("mode has sprites"); if(queryinfo.PropertyFlags & DIPF_IS_GENLOCK) printf("mode is compatible with genlock displays"); if(queryinfo.PropertyFlags & DIPF_IS_WB) printf("mode will support workbench displays"); if(queryinfo.PropertyFlags & DIPF_IS_DRAGGABLE) printf("mode may be dragged to new positions"); if(queryinfo.PropertyFlags & DIPF_IS_PANELLED) printf("mode is broken up for scan conversion"); if(queryinfo.PropertyFlags & DIPF_IS_BEAMSYNC) printf("mode supports beam synchronization"); } } }