📄 ai.txt
字号:
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 + -