! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! SCREEN PACKAGE REQUEST TYPES DECLARE LONG CONSTANT SCR$C_PUT_SCREEN = 0 ! SCR$PUT_SCREEN DECLARE LONG CONSTANT SCR$C_GET_SCREEN = 1 ! SCR$GET_SCREEN DECLARE LONG CONSTANT SCR$C_ERASE_PAGE = 2 ! SCR$ERASE_PAGE DECLARE LONG CONSTANT SCR$C_ERASE_LINE = 3 ! SCR$ERASE_LINE DECLARE LONG CONSTANT SCR$C_SET_CURSOR = 4 ! SCR$SET_CURSOR DECLARE LONG CONSTANT SCR$C_DOWN_SCROLL = 5 ! SCR$DOWN_SCROLL DECLARE LONG CONSTANT SCR$C_SCREEN_INFO = 6 ! SCR$SCREEN_INFO DECLARE LONG CONSTANT SCR$C_PUT_LINE = 7 ! SCR$PUT_LINE DECLARE LONG CONSTANT SCR$C_MOVE_CURSOR = 8 ! SCR$MOVE_CURSOR DECLARE LONG CONSTANT SCR$C_SET_SCROLL = 9 ! SCR$SET_SCROLL DECLARE LONG CONSTANT SCR$C_UP_SCROLL = 10 ! SCR$UP_SCROLL ! ! DEFINE BIT MASKS AND VALUES FOR SCREEN ATTRIBUTES ! DECLARE LONG CONSTANT SCR$M_BOLD = x'00000001' DECLARE LONG CONSTANT SCR$M_REVERSE = x'00000002' DECLARE LONG CONSTANT SCR$M_BLINK = x'00000004' DECLARE LONG CONSTANT SCR$M_UNDERLINE = x'00000008' DECLARE LONG CONSTANT SCR$M_NORMAL = 0 ! no bits set DECLARE LONG CONSTANT SCR$S_SCRDEF = 1 record SCRDEF variant case group SCR$R_SCRDEF_BITS BYTE BOLD_bits ! COMMENT ADDED BY SDL - BOLD_bits contains bits BOLD through FILL_0_ end group SCR$R_SCRDEF_BITS end variant end record SCRDEF ! ! DEFINE FORMAT OF SCR$SCREEN_INFO RETURN BUFFER ! DECLARE LONG CONSTANT SCR$M_SCREEN = x'00000001' DECLARE LONG CONSTANT SCR$M_ANSICRT = x'00000002' DECLARE LONG CONSTANT SCR$M_REGIS = x'00000004' DECLARE LONG CONSTANT SCR$M_BLOCK = x'00000008' DECLARE LONG CONSTANT SCR$M_AVO = x'00000010' DECLARE LONG CONSTANT SCR$M_EDIT = x'00000020' DECLARE LONG CONSTANT SCR$M_DECCRT = x'00000040' DECLARE LONG CONSTANT SCR$K_LENGTH = 20 ! LENGTH OF INFO RETURN BUFFER DECLARE LONG CONSTANT SCR$C_LENGTH = 20 ! LENGTH OF INFO RETURN BUFFER DECLARE LONG CONSTANT SCR$S_SCRDEF1 = 20 record SCRDEF1 group SCR$R_FLAGS_OVERLAY variant case LONG SCR$L_FLAGS ! FLAGS LONGWORD case group SCR$R_FLAGS_BITS ! 1 = SCREEN ORIENTED, 0 = SCROLLING ! ANSI TERMINAL ! REGIS TERMINAL ! BLOCK MODE TERMINAL ! ADVANCED VIDEO TERMINAL ! TERMINAL HAS EDIT CAPABILITY ! TERMINAL IS A DEC CRT BYTE SCREEN_bits ! COMMENT ADDED BY SDL - SCREEN_bits contains bits SCREEN through FILL_1_ end group SCR$R_FLAGS_BITS end variant end group SCR$R_FLAGS_OVERLAY WORD SCR$W_WIDTH ! WIDTH OF EACH LINE WORD SCR$W_PAGESIZE ! LINES IN SCREEN BYTE SCR$B_DEVTYPE ! DEVICE TYPE (SEE $DCDEF) BYTE SCRDEF$$_FILL_1 ( 1 to 11 ) ! (RESERVED) end record SCRDEF1