home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / PCMODE.H < prev    next >
Text File  |  1990-10-22  |  3KB  |  117 lines

  1. /*
  2.     pcmode.h
  3.  
  4.     % Header for pc_ routines
  5.  
  6.     5/16/88  by Ted.
  7.  
  8.     OWL-PC 1.2
  9.     Copyright (c) 1986, 1987, 1988 by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     Revision History:
  13.     -----------------
  14.      3/10/90 ted:    Put OCDECL stuff here for assembler files.
  15.      3/28/90 jmd    ansi-fied
  16.      6/05/90 gam    Added TSC OCDECL define.
  17.      6/06/90 ted    Added M6 OCDECL define.
  18.      6/20/90 ted    Added Watcom 8.0 '386 defines.
  19.     10/10/90 ted    Added oasm_func and oasm_fptr macros to support C++ compiles.
  20. */
  21. /* -------------------------------------------------------------------------- */
  22.  
  23. /* CDECL macro for use in prototyping assembler functions. */
  24. #ifdef M5
  25. #    ifdef M6    /*        Microsoft C version 6.x Dependent Code  */
  26. #        define OCDECL    _cdecl
  27. #    else        /*        Microsoft C version 5.x Dependent Code  */
  28. #        define OCDECL    _CDECL
  29. #    endif
  30. #endif
  31. #ifdef TC        /*        Turbo C Dependent Code            */
  32. #    define OCDECL    _Cdecl
  33. #endif
  34. #ifdef TCP        /*        Turbo C++ Dependent Code        */
  35. #    define OCPP
  36. #endif
  37. #ifdef TSC        /*        JPI TopSpeed C Dependent Code    */
  38. #    define OCDECL    cdecl
  39. #endif
  40. #ifdef W8        /*          Watcom 8.0 Dependent Code         */
  41. #    define OCDECL    cdecl
  42. #endif
  43. #ifdef W8386    /*          Watcom 8.0 '386 Dependent Code     */
  44. #    define OCDECL    cdecl
  45. #    include <stddef.h>
  46. #endif
  47. #ifdef Z2        /*        Zortech C++ 2.0 Dependent Code    */
  48. #    define OCDECL    cdecl
  49. #endif
  50.  
  51. #ifndef OCDECL
  52. #    define OCDECL
  53. #endif
  54.  
  55. #ifdef OCPP
  56. #    define oasm_func(typ,fnm,args)        "C" { typ DIGPRIV fnm args; }
  57. #    define oasm_fptr(typ,fnm,args)        typ (DIGPRIV *fnm)args;
  58. #else
  59. #    define oasm_func(typ,fnm,args)        typ OCDECL DIGPRIV fnm args;
  60. #    define oasm_fptr(typ,fnm,args)        typ (OCDECL DIGPRIV *fnm)args;
  61. #endif
  62. /* -------------------------------------------------------------------------- */
  63.  
  64. #define pc_SetRetrace(wait)                            \
  65.     ((wait) ? text_setretracefuncs(&curr_dmgr->disp.dig) :    \
  66.                 text_setnormfuncs(&curr_dmgr->disp.dig))
  67.  
  68. /* These macros are a special hack to swap from a ram text dig to a bios dig */
  69. #define pc_SetRAM()                    text_setnormfuncs(&curr_dmgr->disp.dig)
  70. #define pc_SetBIOS()                text_setbiosfuncs(&curr_dmgr->disp.dig)
  71.  
  72. /* PCTEXTIN.C */
  73. extern boolean    pc_GetRetrace(void);
  74.  
  75. /* PCTEXT.C */
  76. extern void        text_setnormfuncs(dig_struct *digp);
  77. extern void        text_setretracefuncs(dig_struct *digp);
  78.  
  79. /* PCBIOS.C */
  80. extern void        text_setbiosfuncs(dig_struct *digp);
  81.  
  82. /* PCMODE.C */
  83. extern void        pc_SetMode(int mode);
  84. extern int        pc_GetMode(void);
  85. extern boolean    pc_ModeSupport(int mode);
  86.  
  87. extern boolean    pc_IsHerc(void);
  88. extern boolean    pc_IsMDA(void);
  89. extern boolean    pc_IsCGA(void);
  90. extern boolean    pc_IsEGA(void);
  91. extern boolean    pc_IsMCGA(void);
  92. extern boolean    pc_IsVGA(void);
  93. extern boolean    pc_IsCompaqPlasma(void);
  94.  
  95. /* PCISCPQ.ASM */
  96. #ifdef OCPP
  97.     extern "C" { boolean pc_IsCompaq(void); };
  98. #else
  99.     extern boolean OCDECL pc_IsCompaq(void);
  100. #endif
  101.  
  102. /* PCMGRAPH.C */
  103. extern int        pc_SetModeGraphics(void);
  104.  
  105. /* PCRESTOR.C */
  106. extern void        pc_RestoreDisp(void);
  107.  
  108. /* Non-standard video mode specifiers */
  109.  
  110. #define PCMODE_EGA43        0x103
  111. #define PCMODE_VGA50        0x203
  112. #define PCMODE_HERC0        0x10A
  113. #define PCMODE_HERC1        0x10B
  114. #define PCMODE_CPQ40        0x140
  115. /* -------------------------------------------------------------------------- */
  116.  
  117.