⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ai.txt

📁 比较详尽的VGA端口寄存器的文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
   06h   BYTE    Reserved, must be 80h
Note: this function only implemented in the XGA and Image Adapter/A versions

function 3Ch ASCELL(X)
 Resizes the alphanumeric cell size. A new font should be loaded before text
 is output again.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(2)
   02h   BYTE    New cell width
   03h   BYTE    New cell height

function 3Dh ASGO(X)
 Sets the origin for text output.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(4)
   02h   WORD    New X-position of grid origin
   04h   WORD    New Y-position of grid origin
Note: this function only implemented in the XGA and Image Adapter/A versions

function 3Eh HDLINE(X) -
 Draws a series of lines, from point 1 to 2, then from point 3 to 4 etc.
 The current position is set to the last point in the list, which may either
 be the endpoint of a line (even number of points) or a separate point.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(4*Number_of_points)
       ...
  4*N+2  WORD    X-coordinate of the Nth point
  4*N+4  WORD    Y-coordinate of the Nth point
Note: this function only implemented in the XGA and Image Adapter/A versions

function 40h HPEL(X) -
 Draws horizontal strings of pixels using the current color and mix
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(6*Number_of_strings)
        ...
  6*N+2  WORD    X-coordinate (leftmost) of the Nth string
  6*N+4  WORD    Y-coordinate of the Nth string
  6*N+6  WORD    Number of pixels in the Nth string
Note: this function only implemented in the XGA and Image Adapter/A versions

function 41h HRPEL(X) -
 Reads the requested number of pixels from (X,Y) leftwards and places the
 read pixels in the data buffer in packed format.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(10)
   02h   DWORD   Ptr to pixel buffer
   06h   WORD    X-coordinate
   08h   WORD    Y-coordinate
   0Ah   WORD    Pixel count
Note: this function only implemented in the XGA and Image Adapter/A versions

function 42h HPSTEP(X) -
 Draws  a series of short stroke commands at the given position
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(8 or 12)
   02h   WORD    X-coordinate of start point
   04h   WORD    Y-coordinate of start point
   08h   DWORD   Address of Short Stroke-style data.
                 Each byte is a 8514 style Short-Stroke vector:
                 Bit 0-3  Length of linesegment in pixels
                       4  1 for draw, 0 for move
                     5-7  Direction in degrees counter-clockwise from X-axis
                            0:  0 deg, 1: 45 deg, 2: 90 deg, 3: 135deg
                            4: 180deg, 5: 225deg, 6: 270deg, 7: 315deg
                 A null byte terminates the data block.
   0Ch   DWORD   Address of source pixel buffer (only present if the length
                 field is 12). If present each pixel drawn (or skipped) gets
                 its colorinfo from this buffer, rather than the foreground
                 color & mix.
Note: this function only implemented in the XGA and Image Adapter/A versions

function 43h HCPSTEP(X)
 Draws a series of shortstroke linesegments.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(4 or 8)
   02h   DWORD   Address of Short Stroke-style data.
                 Each byte is a 8514 style Short-Stroke vector:
                 Bit 0-3  Length of linesegment in pixels
                       4  1 for draw, 0 for move
                     5-7  Direction in degrees counter-clockwise from X-axis
                            0:  0 deg, 1: 45 deg, 2: 90 deg, 3: 135deg
                            4: 180deg, 5: 225deg, 6: 270deg, 7: 315deg
                 A null byte terminates the data block.
   06h   DWORD   Address of source pixel buffer (only present if the length
                 field is 8). If present each pixel drawn (or skipped) gets
                 its colorinfo from this buffer, rather than the foreground
                 color & mix.
Note: this function only implemented in the XGA and Image Adapter/A versions

function 44h HRSTEP(X) -
 Reads pixel data along a series of short stroke vectors from the given point
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(12)
   02h   WORD    Starting X-coordinate
   04h   WORD    Starting Y-coordinate
   06h   DWORD   Address of Short Stroke-style data.
                 Each byte is a 8514 style Short-Stroke vector:
                 Bit 0-3  Length of linesegment in pixels
                       4  1 for draw, 0 for move
                     5-7  Direction in degrees counter-clockwise from X-axis
                            0:  0 deg, 1: 45 deg, 2: 90 deg, 3: 135deg
                            4: 180deg, 5: 225deg, 6: 270deg, 7: 315deg
                 A null byte terminates the data block.
   0Ah   DWORD   Ptr to buffer where read pixels are placed in packed format
Note: this function only implemented in the XGA and Image Adapter/A versions

function 45h HSBMAP(X) -
 Sets current bitmap and attributes.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(10)
   02h   BYTE    Flags
                 Bit 0-5  Reserved, must be 0
                       6  1 for screen bitmaps, 0 for non-screen bitmaps
                       7  Reserved, must be 1
   03h   BYTE    Bitmap depth: 1, 2, 4 or 8
   04h   DWORD   Address of bitmap, as a linear offset from the start of the
                 display memory of the device. Must be a multiple of 8 bytes
                 for screen bitmaps and of 4 bytes for non-screen bitmaps.
   08h   WORD    Width of bitmap in pixels. Max 2048 pixels
                 Must be a multiple of 8 bytes for screen bitmaps and of 4
                 bytes for non-screen bitmaps.
   0Ah   WORD    Height of bitmap in lines. Max 2048 lines

function 46h HQBMAP(X) -
 Queries current bitmap attributes
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(10 or 18)
   02h   BYTE    Flags
                 Bit 0-5  Reserved, must be 0
                       6  Set for Screen bitmap, clear for non-screen
                       7  Reserved, must be 1
   03h   BYTE    Bitmap depth (1,2,4 or 8)
   04h   DWORD   Address of bitmap as linear offset from the start of the
                 frame buffer.
   08h   WORD    Width of bitmap in pixels
   0Ah   WORD    Height of bitmap in lines

      Remaining fields only present if the length field is 18
   0Ch   WORD    Display window X origin
   0Eh   WORD    Display window Y origin
   10h   WORD    Display window width in pixels
   12h   WORD    Display window height in lines
Note: this function only implemented in the XGA and Image Adapter/A versions

function 47h HBMC(X) -
 Copies bitmap block data, either within a bitmap or between bitmaps
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(48)
   02h   WORD    Flags
                 Bit    9  If set the source bitmap starts (logically) at
                           the bottom-left corner rather than the top-left
                    10-11  Location of pattern bitmap
                             0: pattern not present
                             2: Video RAM
                    12-13  Location of source bitmap
                             0: Source not present (use pattern instead).
                             2: Video RAM
                    14-15  Location of destination bitmap
                             2: Video RAM
   04h   WORD    Width of block in pixels
   06h   WORD    Height of block in lines
   08h   BYTE    Destination bitmap depth
   09h   BYTE    Reserved
   0Ah   DWORD   Address of destination bitmap
   0Eh   WORD    Pitch of destination in pixels
   10h   WORD    Height of destination map in lines
   12h   WORD    Destination X-coordinate
   14h   WORD    Destination Y-coordinate
   16h   BYTE    Source bitmap depth. 1,2 or 8
   17h   BYTE    Reserved
   18h   DWORD   Address of source bitmap
   1Ch   WORD    Pitch of source bitmap
   1Eh   WORD    Height of source bitmap
   20h   WORD    Source X-coordinate
   22h   WORD    Source Y-coordinate
   24h   BYTE    Pattern bitmap depth. 1
   25h   BYTE    Reserved
   26h   DWORD   Address of pattern bitmap
   2Ah   WORD    Pitch of pattern bitmap
   2Ch   WORD    Height of pattern bitmap
   2Eh   WORD    X-position of pattern within pattern bitmap
   30h   WORD    Y-position of pattern within pattern bitmap
Note: this function only implemented in the XGA and Image Adapter/A versions

function 48h HSDW(X) -
 Sets the display window
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(8)
   02h   WORD    New X-origin for display window
   04h   WORD    New Y-origin for display window
   06h   WORD    Window width in pixels
   08h   WORD    Window height in lines
Note: this function only implemented in the XGA and Image Adapter/A versions

function 49h HSPRITE(X) -
 Positions the Hardware Sprite
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(4)
   02h   WORD    New sprite hot-spot X-coordinate
   04h   WORD    New sprite hot-spot Y-coordinate
Note: this function only implemented in the XGA version

function 4Ah HSSPRITE(X)
 Defines and enables/disables the hardware sprite.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(1 or 24)
   02h   BYTE    Flags
                 Bit 0-6  Reserved
                       7  0: Disabled, 1: Enabled and visible
      Remaining fields only present if length=24
   03h   BYTE    Reserved, set to 0
   04h   BYTE    X hot-spot offset
   05h   BYTE    Y hot-spot offset
   06h   DWORD   Ptr to sprite definition data.
                 A 2bits per pixel packed bitmap, where each pixels indicates:
                   0:  Sprite Color 0
                   1:  Sprite Color 1
                   2:  Transparent (Screen data)
                   3:  Inverse screen data (XOR cursor)
   0Ah   WORD    Sprite width in pixels. Must be a multipla of 4. Max 64.
   0Ch   WORD    Sprite height in lines. Max 64.
   0Eh   WORD    Color 0, red component
   10h   WORD    Color 0, green component
   12h   WORD    Color 0, blue component
   14h   WORD    Color 1, red component
   16h   WORD    Color 1, green component
   18h   WORD    Color 1, blue component
Note: this function only implemented in the XGA version

function 4Bh HRWVEC(X) -
 Either draws a polyline from the data in the pixel buffer, or copies the
 pixels under the polyline into the pixel buffer. The polyline starts with the
 coordinates in WORDs 8 and 0Ah and continues to each coordinate set in turn.
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(10+4*Number_of_points)
   02h   BYTE    Flags
                 Bit 0-6  Reserved(0)
                       7  Set to write data, clear to read
   03h   BYTE    Reserved(0)
   04h   DWORD   Address of data buffer. For reads the data under the polyline
                 is stored in this buffer in packed format, for writes each
                 pixel in the buffer decides the mix to use for drawing the
                 corresponding pixel of the polyline. 0 causes the pixel to be
                 drawn with the background, all other values causes the pixel
                 to be drawn with the foreground mix.
                 The buffer is max 4095 bytes
   08h   WORD    Starting X-coordinate
   0Ah   WORD    Starting Y-coordinate

 4*N+8   WORD    X-coordinate of Nth point
 4*N+10  WORD    Y-coordinate of Nth point

Note: this function only implemented in the XGA and Image Adapter/A versions

function 4Eh HSFPAL(X) -
 Saves full palette
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(Get size from HQDPS)
   02h   WORD    Format, always 8
     Palette data follows. Call HQDPS for size of palette data.

function 4Fh HRFPAL(X) -
 Restores full palette. The size of the data area should be taken from HQDPS
 Parameter Block:
 Offset: Type:   Description:
   00h   WORD    Length of data following(size of palette data +1)
   02h   WORD    Format (8)
  04h-   BYTEs   Palette data. See HQDPS for size
Note: this function only implemented in the XGA and Image Adapter/A versions

function 50h HQDEVICE(X)
 Returns device specific information
Note: this function only implemented in the Image Adapter/A version


Check for AI installed:

  if MEML[0:$1FC]<>0 then     {Int Vector 7Fh not NULL}
  begin
    rp.cx:=0;
    rp.dx:=0;
    rp.ax:=$105;
    intr($7F,rp);
    if ((rp.flags and 1)=0)                 {Carry not set}
      and ((rp.cx<>0) or (rp.dx<>0) then    {CX:DX is non-zero}
        We have an AI. CX:DX points to the jump table
  end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -