home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1998 July / pcx23_9807.iso / PC-XUSER / PC-XUSER.16 / TT / TPUS / R4S_SYMB.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-09-18  |  13.1 KB  |  460 lines

  1. {***********************************************}
  2. {                                               }
  3. {   R4s_Symbols unit                            }
  4. {   Copyright (c) 1995, 96 By Bérczi László     }
  5. {                                               }
  6. {***********************************************}
  7. {Last Edit: 1996 VIII 10. 12:50}
  8. {$G+,D-,L-,Y-}
  9. unit R4s_Symb;
  10.  
  11. INTERFACE
  12.  
  13. const                                                       {For Keyboard}
  14.   key_None  = 0;
  15.   key_Right = 1;
  16.   key_Left  = 2;
  17.   key_Both  = 3;
  18.  
  19.   SVGA_None     = 0;                                        {For Get SVGA}
  20.   SVGA_Trident  = 1;                                        {        Type}
  21.   SVGA_CirrusL  = 2;
  22.   SVGA_Realtek  = 3;
  23.   SVGA_Video7   = 4;
  24.   SVGA_82c45x   = 5; {Chips & Tech}
  25.   SVGA_ATI      = 6;
  26.   SVGA_AHEAD    = 7;
  27.   SVGA_Paradise = 8;
  28.   SVGA_OAK      = 9;
  29.   SVGA_GENOA    = 10;
  30.   SVGA_ZyMos    = 11;
  31.   SVGA_TSENG    = 12;
  32.   SVGA_SPEA     = 13;
  33.   SVGA_S3       = 14;
  34.   SVGA_Phoenix  = 15;
  35.   SVGA_Number9  = 16; {Number Nine xy}
  36.   SVGA_Number9I = 17; {Number Nine Imagine-128}
  37.   SVGA_UMC      = 18; {UMC xy}
  38.   {SVGA_         = 18;}
  39.   SVGA_Last     = 251;
  40.   SVGA_VESA     = 252;
  41.   SVGA_NoVESA   = 253;
  42.   SVGA_CantUse  = 254;
  43.   SVGA_Unknown  = 255;
  44.  
  45.   BIOS_AMI     = 1;
  46.   BIOS_AMI2    = 2;
  47.   BIOS_Award   = 3;
  48.   BIOS_Award2  = 4;
  49.   BIOS_Phoenix = 5;
  50.   BIOS_Quadtel = 6;
  51.   BIOS_Microid = 7;
  52.   BIOS_Toshiba = 8;
  53.   BIOS_AST     = 9;
  54.   BIOS_ALR     = 10;
  55.   BIOS_Dell    = 11;
  56.   BIOS_Tandon  = 12;
  57.   BIOS_Vadem   = 13;
  58.   BIOS_ZEOS    = 14;
  59.   BIOS_Zenith  = 15;
  60.   BIOS_GRiD    = 16;
  61.   BIOS_Acer    = 17;
  62.   BIOS_NEC     = 18;
  63.   BIOS_HP      = 19;
  64.   BIOS_Mitac   = 20;
  65.   BIOS_Kyocera = 21;
  66.   BIOS_Commodore = 22;
  67.   BIOS_DTK     = 23;
  68.   BIOS_Mylex   = 24;
  69.   BIOS_IBM     = 25;
  70.   BIOS_Unknown = 255;
  71.  
  72.   CPU_None       =  0; {It's unpossible}
  73.   CPU_8086       =  1;
  74.   CPU_8088       =  2;
  75.   CPU_V20        =  3;
  76.   CPU_V30        =  4;
  77.   CPU_NEC        =  5;
  78.   CPU_80188      =  6;
  79.   CPU_80186      =  7;
  80.   CPU_80286      =  8;
  81.   CPU_80386      =  9;
  82.   CPU_80486      = 10;
  83.   CPU_80386SX    = 11;
  84.   CPU_80386DX    = 12;
  85.   CPU_80486SX    = 13;
  86.   CPU_80486SX2   = 14;
  87.   CPU_80486DX    = 15;
  88.   CPU_80486DX2   = 16;
  89.   CPU_80486DX4   = 17;
  90.   CPU_i386SX     = 18;
  91.   CPU_i386SL     = 19;
  92.   CPU_i386DX     = 20;
  93.   CPU_i486       = 21;
  94.   CPU_i486DX     = 22;
  95.   CPU_i486SX     = 23;
  96.   CPU_i486DX2    = 24;
  97.   CPU_i486SX2    = 25;
  98.   CPU_i486DX2WB  = 26;
  99.   CPU_i486DX4    = 27;
  100.   CPU_iP5        = 28; {5V   60 / 66  MHz}
  101.   CPU_iP54C      = 29; {3V   75 / 90/ 100MHz}
  102.   CPU_iP55C     = 30; {2.5V 133/ 150 MHz}
  103.   CPU_iPMMX      = 31;
  104.   CPU_iP5Over    = 32;
  105.   CPU_iP6        = 33;
  106.   CPU_Am386      = 34;
  107.   CPU_Am386SX    = 35;
  108.   CPU_Am386DX    = 36;
  109.   CPU_Am486      = 37;
  110.   CPU_Am486DX    = 38;
  111.   CPU_Am486SX    = 39;
  112.   CPU_Am486DX2   = 40;
  113.   CPU_Am486SX2   = 41;
  114.   CPU_Am486DXWB  = 42;
  115.   CPU_Am486DX4   = 43;
  116.   CPU_Am486DX4WB = 44;
  117.   CPU_Am5x86     = 45;
  118.   CPU_Am5x86WB   = 46;
  119.   CPU_AmK5       = 47;
  120.   CPU_AmK6       = 48;
  121.   CPU_IBM486SLC  = 49;
  122.   CPU_IBM486SLC2 = 50;
  123.   CPU_IBM486DX2  = 51;
  124.   CPU_IBMBL486DX2= 52;
  125.   CPU_IBM486BLX3 = 53;
  126.   CPU_Cx486SX    = 54;
  127.   CPU_Cx486SLC   = 55;
  128.   CPU_Cx486SLC2  = 56;
  129.   CPU_Cx486DX    = 57;
  130.   CPU_Cx486DLC   = 58;
  131.   CPU_Cx486DLC2  = 59;
  132.   CPU_Cx486DX2   = 60;
  133.   CPU_Nx586      = 61;
  134.   CPU_80586      = 62;
  135.   CPU_UMC486     = 63;
  136.   CPU_UMC486DX   = 64;
  137.   CPU_UMC486SX   = 65;
  138.   CPU_UMC486DX2  = 66;
  139.   CPU_UMC486SX2  = 67;
  140.   CPU_Unknown    = 255;
  141.  
  142.   FPU_None       = 1;
  143.   FPU_Emulated   = 2;
  144.   FPU_8087       = 3;
  145.   FPU_80287      = 4;
  146.   FPU_80387      = 5;
  147.   FPU_BuiltIn    = 6;
  148.   FPU_Unknown    = 255;
  149.  
  150.   EMM386_ON   = $00;                                       {For XMS Detect}
  151.   EMM386_OFF  = $01;
  152.   EMM386_AUTO = $02;
  153.  
  154.   Drive_NotPresent = 0;                                    {Get Drive Type}
  155.   Drive_FloppyWout = 1;                {Floppy without change-line support}
  156.   Drive_FloppyWth  = 1;                {Floppy with    change-line support}
  157.   Drive_HardDisk   = 2;
  158.   Drive_RAMDRIVE   = 3;
  159.   Drive_SUBSTDrive = 4;
  160.   Drive_Stacker    = 6;
  161.   Drive_DoubleDrv  = 7;
  162.   Drive_Unknown    = 255;
  163.  
  164.   NU_Nothing  = $0000;                               {For Norton Utilities}
  165.   NU_NCache_F = $4346;  {'CF' NCache-F v5, NCache v6, NCache2 v7+}
  166.   NU_NCache_S = $4353;  {'CS' NCache-S v5 only}
  167.   NU_DiskReet = $4443;  {'DC' DiskReet}
  168.   NU_DiskMon  = $444D;  {'DM' DiskMon}
  169.   NU_SmartCan = $4653;  {'FS' FileSave v5, EP v6, SmartCan v7+}
  170.   NU_Unknown  = $FFFF;
  171.  
  172.                                                            {For MakeWindow}
  173.   WinCornerLU         = 192;                               {Corner=Sarok  }
  174.   WinCornerRU         = 193;                               {L=Left;R=Right}
  175.   WinCornerLD         = 194;                               {U=Up  ;D=Down }
  176.   WinCornerRD         = 195;
  177.   WinSummitU          = 196;                               {Summit=Tetô   }
  178.   WinSummitD          = 197;
  179.   WinEdgeL            = 198;                               {Edge=Szél(e)  }
  180.   WinEdgeR            = 199;
  181.  
  182.   Nothing              = 0;                                {for CodeString}
  183.   InPushStr            = 1;
  184.   DePushStr            = 2;
  185.   NotStr               = 3;
  186.   XORStr               = 4;
  187.   XORStrExtended       = 5;
  188.   MirrorStr            = 6;
  189.   InMirrorANDXORStrExt = 7;
  190.   DeMirrorANDXORStrExt = 8;
  191.  
  192.   MousePointerNormal: Array[0..15] of Byte =   {Nyil}
  193.   (0, 0, 64, 96, 112, 120, 124, 126, 126, 120, 76, 12, 4, 6, 6, 0);
  194.   MousePointerOutline: Array[0..15] of Byte =  {Nyil OutLine}
  195.   (0, 192, 160, 144, 136, 132, 130, 129, 129, 134, 178, 242, 18, 25, 9, 15);
  196.   MousePointerHGNormal: Array[0..15] of Byte =  {HomokOra}
  197.   (0, 0, 254, 130, 130, 170, 84, 56, 16, 56, 84, 170, 214, 254, 0, 0);
  198.   MousePointerHGOutline: Array[0..15] of Byte = {HomokOra Outline}
  199.   (0, 254, 1, 125, 125, 85, 170, 68, 40, 68, 170, 68, 41, 1, 254, 0);
  200.  
  201. type
  202.   PChrData = ^TChrData;                                    {For NewCharsOn}
  203.   TChrData = Array[0..4095] of Byte;
  204.  
  205.   PChrData16 = ^TChrData16;
  206.   TChrData16 = Array[0..15] of Byte;
  207.  
  208.   PScreen = ^TScreen;                                      {  For Video   }
  209.   TScreen = Array[1..25,1..80,1..2] of Byte;
  210.  
  211.   PASCIIZ = ^TASCIIZ;
  212.   TASCIIZ = Array[1..255] of Char;
  213.  
  214.   PChar256 = ^TChar256;
  215.   TChar256 = Array[0..255] of Char;
  216.  
  217.   PKeyboardFlag = ^TKeyboardFlag;                          { For Keyboard }
  218.   TKeyboardFlag = Byte;
  219.  
  220.   PKeyBoardBuffer = ^TKeyBoardBuffer;
  221.   TKeyBoardBuffer = Array[1..32] of Byte;
  222.  
  223.   PMouseBuffer = ^TMouseBuffer;
  224.   TMouseBuffer = Array[1..2, 1..2] of Byte;               {For MouseEr Unit}
  225.  
  226.   PPathString = ^TPathString;                             { For GetCurDir  }
  227.   TPathString = Array[0..66] of Char; {64 + 3 (C:\)}
  228.  
  229.   DWord = Array[1..2] of Word;  { 4 B}
  230.   QWord = Array[1..4] of Word;  { 8 B}
  231.   TByte = Array[1..10] of Byte; {10 B}
  232.   QWord2 = Array[1..8] of Word; {16 B}             {For GetCurXYInVideoPage}
  233.  
  234.   PString = ^String;
  235.   TString = String;
  236.  
  237.   PString80 = ^TString80;
  238.   TString80 = String[80];
  239.  
  240.   PString8 = ^TString8;
  241.   TString8 = String[8];
  242.  
  243.   PString3 = ^TString3;
  244.   TString3 = String[3];
  245.  
  246.   PChar8 = ^TChar8;
  247.   TChar8 = Array[1..8] of Char;
  248.  
  249.   PChar3 = ^TChar3;
  250.   TChar3 = Array[1..3] of Char;
  251.  
  252.   Proc = Procedure;
  253.  
  254.   PDeviceHeader = ^TDeviceHeader;                          {For Drive Info }
  255.   TDeviceHeader = record
  256.     NextDevice: PDeviceHeader;
  257.     DeviceAttr: Word;
  258.     Strategy  : Word;
  259.     Intrrupt  : Word;
  260.     DeviceName: Array[1..8] of Char;
  261.   end;
  262.  
  263.   PDriveInfo = ^TDriveInfo;
  264.   TDriveInfo = record
  265.     Drive            : Byte;
  266.     HeadNumber       : Byte;
  267.     CylinderNumber   : Word;
  268.     SectorPerCylinder: Byte;
  269.     SectorPerCluster,
  270.     BytePerSector    : Word;
  271.     TotalCluster,
  272.     AvaibleCluster   : Word;
  273.     BootSizeInSector : Word;
  274.     FirstDataSector,
  275.     FirstDIRsSector  : Word;
  276.     FATNumber        : Byte;
  277.     SectorPerFAT     : Word;
  278.     IsDrive16Bit     : Boolean;
  279.     DriveTypeString  : String;
  280.     StatusFlag       : Byte;
  281.   end;
  282.  
  283.   PDriveParameterBlock = ^TDriveParameterBlock;
  284.   TDriveParameterBlock = record
  285.     Drive             : Byte; {0: A, 1: B . . .}
  286.     UNWDeviceDriver   : Byte;
  287.     BytePerSector     : Word;
  288.     SectorPerCluster  : Byte;
  289.     SqrNSectorACluster: Byte;
  290.     BootSizeInSector  : Word;
  291.     FATNumber         : Byte;
  292.     MaxDirectories    : Word;
  293.     FirstDataSector   : Word;
  294.     MaxCluster        : Word;
  295.     SectorPerFAT      : Word;
  296.     FirstDIRsSector   : Word;
  297.     DeviceHeader      : PDeviceHeader;
  298.     MediaID           : Byte;
  299.     AccessByte        : Byte;
  300.     NextDPB           : PDriveParameterBlock;
  301.     FirstFreeCluster  : Word;
  302.     FreeClusterssNumb : Word
  303.   end;  {R4s_REM}
  304.  
  305.   PBootSecInforms = ^TBootSecInforms; {SizeOf(TBootSecInforms) = 62 Byte}
  306.   TBootSecInforms = record
  307.     JMP            : Array[1..3] of Byte;
  308.     OEMName        : Array[1..8] of Char;
  309.     Byte_Sector    : Word;
  310.     Sector_Cluster : Byte;
  311.     ReservedSecs   : Word;
  312.     FATCount       : Byte;    {FATCount * SectorInOneFAT          }
  313.     MaxRootEntries,           {(MaxRootEntries * 32) / Byte_Sector}
  314.     Total_Sector   : Word;    {DataStart = ReservedSecs + FATSize + RootSize}
  315.     MediaDescriptor: Byte;
  316.     SectorInOneFAT,
  317.     Sector_Track,
  318.     Head_Number,
  319.     Hidden_Sector  : Word;    {if partitions > 32M then It's the Lo Word    }
  320.     Hidden_SectorHi: Word;    {if partitions > 32M then used else not used  }
  321.     BIGTotal_Sector: Longint; {if (partitions > 32M) And (Total_Sector = 0) }
  322.     PhisicalDriveNo: Byte;    {   then used else not used                   }
  323.     InfoLevel      : Word;    {Must be 0 ???}
  324.     SerialNumber   : Longint; {In Hex (bin) }
  325.     VolumeLabel    : Array[1..11] of Char; {'NO NAME    ' if none present}
  326.     FileSystemType : Array[1..8] of Char;  {'FAT12   '    or 'FAT16   '  }
  327.     TempArray      : Array[1..1024-62] of Byte;
  328.   end;
  329.  
  330.   PDirectoryEntry = ^TDirectoryEntry;
  331.   TDirectoryEntry = record
  332.     FileName : TChar8;
  333.     Extension: TChar3;
  334.     Attribute: Byte;
  335.     Reserved : Array[1..10] of Byte;
  336.     Time,
  337.     Date,
  338.     ClusterNumber: Word;
  339.     FileSize  : Longint;
  340.   end;
  341.  
  342.   PDiskReadPacket = ^TDiskReadPacket;
  343.   TDiskReadPacket = record
  344.     StartSec,
  345.     SecCount: Word;
  346.     PBuffer : Pointer;
  347.   end;
  348.  
  349.   PMemory = ^TMemory;
  350.   TMemory = record
  351.     Segment,
  352.     Offset : Word;
  353.   end;
  354.  
  355.   PFormatTrack = ^TFormatTrack;                            {FDD Format     }
  356.   TFormatTrack = record
  357.     Track,
  358.     Head,
  359.     SectorNumber,
  360.     SectorSize  : Byte;
  361.   end;
  362.  
  363.   PSector = ^TSector;                                      {Sector Record  }
  364.   TSector = record
  365.     Drive,
  366.     Head    : Byte;
  367.     Cylinder: Word;
  368.     Sector  : Byte;
  369.   end;
  370.  
  371.   PCylinder = ^TCylinder;                                  {Clyster Record }
  372.   TCylinder = record
  373.     Drive,
  374.     Head    : Byte;
  375.     Cylinder: Word;
  376.   end;
  377.  
  378.   PMouseRec = ^TMouseRec;
  379.   TMouseRec = record
  380.     X,
  381.     Y: Word;
  382.     Buttons: Byte;
  383.   end;
  384.  
  385.   PTridentBIOSInfo = ^TTridentBIOSInfo;                    {Video Info     }
  386.   TTridentBIOSInfo = record
  387.     UnknownByte: Byte;
  388.     OEMCode    : Byte;
  389.     ID         : Word;
  390.     BIOSDate   : Array[1..8] of Char;
  391.     UnknownWord: Word;
  392.     BIOSVer    : Array[1..8] of Char;
  393.   end;
  394.  
  395.   PVESASuperVGABIOSInfo = ^TVESASuperVGABIOSInfo;
  396.   TVESASuperVGABIOSInfo = record
  397.     VESASignature          : Array[1..4] of Char;
  398.     VESAVersionNumb        : Word;
  399.     PointToOEMName         : Pointer;
  400.     CapabilitiesFlag       : DWord;
  401.     PointToListOfSuppVESAandOEMVideoModes : Pointer;
  402.     VideoMemory            : Word; {x*64k}
  403.     OEMSoftWareVer         : Word;                  {v1.0 236 Byte Reserved }
  404.     PointToVedorName       : Pointer;               {|xxxxxxxxxxxxxxxxxxxxxx}
  405.     PointToProductName     : Pointer;               {|xxxxxxxxxxxxxxxxxxxxxx}
  406.     PointToProducetRevision: Pointer;               {|xxxxxxxxxxxxxxxxxxxxxx}
  407.     Reserved222Byte        : Array[1..222] of Byte; {+--------------------->}
  408.   end;                                              {v2.0 256 Byte OEM      }
  409.                                                     {    ScratchPadReserved }
  410.   PTimeRec = ^TTimeRec;
  411.   TTimeRec = record                                        {DOS Time Info  }
  412.     Hour,
  413.     Min,
  414.     Sec,
  415.     HSec :Byte
  416.   end;
  417.  
  418.   PDateRec = ^TDateRec;
  419.   TDateRec = record
  420.     Year : Word;
  421.     Month,
  422.     Day  : Byte;
  423.   end;
  424.  
  425.   PMyRegisters = ^TMyRegisters;
  426.   TMyRegisters = record
  427.     EAX, EBX, ECX, EDX, ECS, EDS, EES, ESS, EDI, ESI, ESP, EBP,
  428.     EFlags: Longint;
  429.     CarryFlag,
  430.     First1,
  431.     ParityFlag,
  432.     First0,
  433.     AuxiliaryFlag,
  434.     Second0,
  435.     ZeroFlag,
  436.     SignFlag,
  437.     TrapFlag,
  438.     InterruptFlag,
  439.     DirectionFlag,
  440.     OverflowFlag,
  441.     IOPrivilegeLevel1, {286+}
  442.     IOPrivilegeLevel2, {286+}
  443.     NTTaskFlag, {286+}
  444.     Third0,
  445.     ResumeFlag, {386+}
  446.     VirtualModeFlag, {386+}
  447.     NoMore: Boolean;
  448.   end;
  449.  
  450.   PPCIInfo = ^TPCIInfo;
  451.   TPCIInfo = record
  452.     Vendor,
  453.     Device: Word;
  454.   end;
  455.  
  456.   PCIInfoArray = Array[1..25] of TPCIInfo;
  457.  
  458. IMPLEMENTATION
  459.  
  460. END.