home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 19
/
CD_ASCQ_19_010295.iso
/
dos
/
prg
/
bas
/
asilib11
/
asilib.doc
next >
Wrap
Text File
|
1994-10-23
|
21KB
|
357 lines
ASILIB version 1.1 programmer's toolkit
for 80/20 software's ASIC compiler
ASILIB Copyright (C) 1994 Douglas Herr ■ all rights reserved
WHAT IS ASILIB?
ASILIB is a library of subroutines which greatly extend the capabilities
of the ASIC compiler. All ASILIB subroutines were written in Assembly
language.
WHY USE ASILIB?
80/20 Software's ASIC compiler is a simple, reliable compiler that
produces fast, compact compiled programs. However, ASIC's built-in
capabilities are quite limited compared with many other programming
languages. Fortunately for us, ASIC has provision for linking external
subroutines to the main code in order to provide additional capabilities.
Do you want to use EMS or XMS memory? Do you want more graphics modes?
Do you want fast, reliable file I/O, or want to use more than 3 files
at a time? This is where ASILIB comes in. ASILIB's subroutines provide
many functions and screen modes which are impossible with ASIC alone, as
well as many other handy functions.
DISCLAIMER
Each ASILIB routine has been tested extensively, but since I cannot
foresee every possible use or abuse of ASILIB, I cannot be held
responsible for any damages resulting from its use.
DISTRIBUTION and REGISTRATION
ASILIB is user-supported shareware, NOT public domain software. The
ASILIB files you have received are the complete ASILIB package,
fully linkable with your ASIC object modules to create stand-alone
.EXE programs. These files may be distributed freely in un-altered
form, but if you use ASILIB in your ASIC programs, you are expected to
register.
The advantages of registering are many:
Registered users receive the latest version available when they register
and may upgrade at any time for the paltry fee of $10.00.
Registered users will receive an updated ASILIB.LIB
Your registration fee supports my efforts, and encourages me to continue
development of ASILIB.
No royalties are required and registration costs only $25, and you will
have confidence that you are using a version of ASILIB which has not been
altered by others.
Register by sending $25 to:
Douglas R. Herr
P. O. Box 207
Sacramento, CA 95812
U. S. A.
telephone (916) 721-8762, voice only
CompuServe 71247,3542
Please specify which size disk you prefer. Complete assembly-language
source code for ASILIB is an additional $25.
Any questions or problems should be sent to me at the above address.
Please include a stamped, self-addressed envelope if you are not a
registered user, or for fastest response, send a message on CompuServe.
ASILIB is a rapidly evolving library, so it is likely that by the time
you register there will be several additional routines or refinements
to existing routines available.
HOW DO I USE ASILIB?
ASILIB is designed for use with 80/20 Software's ASIC compiler
version 4.0 or greater. To use ASILIB, you must use ASIC's "object
file output" feature. This also requires that you have a copy of
Microsoft's LINK.EXE or a similar linker. Many ASILIB subroutines
also require ASIC's Extended math option.
From the ASIC development enviornment, select "Advanced options" from
the Compile menu, and choose:
1) Obj output file
2) liBrary names ...
enter ASILIB
3) Link.exe path ...
enter the name of the directory where LINK.EXE is located.
From the DOS command line, compile and link your ASIC source code
using ASICC: (lower case- you supply the correct name)
ASICC yoursrc[.asi] B/OBJ [E] LIB=ASILIB LNK=C:\linkpath
ASILIB's documentation has been divided into several files in order to
keep each one down to a managable size. The .DOC files are:
ASILIB.DOC this file
INPUT.DOC keyboard input subroutines
DATA.DOC data manipulation subroutines
DISK.DOC disk and file management subroutines
EMSXMS.DOC Expanded and Extended Memory subroutines
GRAPHICS.DOC subroutines for graphics
MULTIWIN.DOC multiple pop-up windows (text mode)
SYSTEM.DOC subroutines which determine PC equipment or status
TEXT.DOC video input and output subroutines (text modes)
SUBROUTINE REFERENCE
Documentation for ASILIB's subroutines can be found in the following .DOC
files:
Name description .DOC file
AllocEMS allocate an expanded memory block EMSXMS.DOC
AllocDOS dynamic memory allocation from DOS memory area SYSTEM.DOC
AllocXMS allocate an extended memory block EMSXMS.DOC
ANSIColor determines color attribute used by ANSI.SYS TEXT.DOC
BitBlockBytes graphics screen manipulation GRAPHICS.DOC
BitPlaneBytes calculates bytes required for BitPlaneSave GRAPHICS.DOC
BLINKOFF disable blinking attributes TEXT.DOC
BLINKON enable blinking attributes TEXT.DOC
Border changes color of screen border TEXT.DOC
BufferDim re-dimension graphics memory buffer GRAPHICS.DOC
CircleAspect DrawCircle options GRAPHICS.DOC
ClearEOL clears a row from cursor to edge of screen TEXT.DOC
ClearKey clears the keyboard 'type ahead' buffer INPUT.DOC
Color16 calculate color value for changing palette GRAPHICS.DOC
Color256 calculate color value for changing palette GRAPHICS.DOC
ColorAttr calculate color attibute TEXT.DOC
CopyMem copies a block of memory DATA.DOC
CursorColor enables InColor color palette, sets cursor color TEXT.DOC
CursorOFF makes text cursor invisible TEXT.DOC
CursorON places cursor on text screen TEXT.DOC
DayName returns ASCII day name given day number 1-7 DATA.DOC
DiskWP traps "drive not ready" errors DISK.DOC
DotBAK renames existing file as backup (.BAK) file DISK.DOC
DrawBox draws a box on a graphics screen GRAPHICS.DOC
DrawCircle draws a circle on graphics screen GRAPHICS.DOC
DrawLine draws a line on graphics screen GRAPHICS.DOC
DriveSpace determine free and total space on a disk DISK.DOC
EMGet copies data from EMS memory block to an array EMSXMS.DOC
EMMove move data within an EMS memory block EMSXMS.DOC
EMSSpace determines available EMS memory EMSXMS.DOC
EMPut copies data to an EMS memory block EMSXMS.DOC
EXEName returns full drive and path name of program SYSTEM.DOC
FExist see if a file or subdirectory exists DISK.DOC
FCopy copy a file to another disk or directory DISK.DOC
FClose close a file opened by FCreate or FOpen DISK.DOC
FCreate creates a new file for fast binary I/O DISK.DOC
FFlush flushes ASILIB and DOS file buffer DISK.DOC
FGet buffered input from a file opened by FOpen DISK.DOC
FGetCHR fast 1-byte input from a file opened by FOpen DISK.DOC
FGetPos get file position for file opened by FOpen DISK.DOC
FGetSTR fast string input from a file opened by FOpen DISK.DOC
FCount counts the number of files matching a template DISK.DOC
FillArea fills an irregular region on graphics screen GRAPHICS.DOC
FillBox fills a box on graphics screen GRAPHICS.DOC
FillEOL fills from cursor position to edge of screen TEXT.DOC
FillPattern establish fill pattern GRAPHICS.DOC
FLoad quickly loads a disk file into far memory DISK.DOC
FLoadEMS quickly loads a disk file into EMS memory EMSXMS.DOC
FLoadXMS quickly loads a disk file into XMS memory EMSXMS.DOC
Floppies determine number of floppy drives installed SYSTEM.DOC
FloppyType determine type of floppy drive installed SYSTEM.DOC
FOpen opens an existing file for fast input or output DISK.DOC
FPut fast output to a file opened by FOpen or FCreate DISK.DOC
FPutCHR fast byte output to file opened by FOpen/FCreate DISK.DOC
FPutCRLF CR+LF output to file opened by FOpen or FCreate DISK.DOC
FPutSTR string output to file opened by FOpen or FCreate DISK.DOC
FreeEMS releases expanded memory block EMSXMS.DOC
FreeDOS releases memory block allocated by ASILIB DATA.DOC
FreeXMS releases extended memory block EMSXMS.DOC
FSaveEMS save EMS memory block as a disk file EMSXMS.DOC
FSaveXMS save XMS memory block as a disk file EMSXMS.DOC
FSeek set the file pointer position for a file DISK.DOC
FSize determine size of a file opened by ASILIB DISK.DOC
GBaseSeg direct ASILIB graphics to an alternate buffer GRAPHICS.DOC
GCopy copies one page of Graphics memory to another GRAPHICS.DOC
GCursor puts a text cursor on graphics screen GRAPHICS.DOC
Get2 get 2 bytes from far memory DATA.DOC
Get4 get 4 bytes from far memory DATA.DOC
GetBitBlock save part of graphics screen GRAPHICS.DOC
GetBitPlane save part of a plane of graphics screen GRAPHICS.DOC
GetBorder determine border color on CGA, EGA, VGA systems TEXT.DOC
GetCMD returns case-sensetive command line parameter SYSTEM.DOC
GetCPU determine processor installed SYSTEM.DOC
GetCRT determine video system SYSTEM.DOC
GetPOS determine current cursor position TEXT.DOC
GClear clear portion of Graphics screen GRAPHICS.DOC
GetDOSVer determine DOS version installed SYSTEM.DOC
GetDot determine pixel status on graphics screen GRAPHICS.DOC
GetKey returns first key pressed INPUT.DOC
GetScreen copies screen to restore later TEXT.DOC
GetScreenSize determines the dimensions of the screen TEXT.DOC
GetView determine current graphics viewport GRAPHICS.DOC
GLoad copies a graphics image file to video memory GRAPHICS.DOC
GLoadEMS copies a graphics image from EMS to screen GRAPHICS.DOC
GLoadXMS copies a graphics image from XMS to screen GRAPHICS.DOC
GPage combines UseGPage and ShowGPage subroutines GRAPHICS.DOC
GPrint print text on a graphics screen GRAPHICS.DOC
GPrintDOWN text on graphics screen from top to bottom GRAPHICS.DOC
GPrintUP text on graphics screen from bottom to top GRAPHICS.DOC
GPrintX expanded text on graphics screen GRAPHICS.DOC
GPrint2X expanded text on graphics screen GRAPHICS.DOC
GPrintDOWNX expanded text on graphics screen GRAPHICS.DOC
GPrintDOWN2X expanded text on graphics screen GRAPHICS.DOC
GPrintUPX expanded text on graphics screen GRAPHICS.DOC
GPrintUP2X expanded text on graphics screen GRAPHICS.DOC
GraphColor set color attribute used by ASILIB graphics GRAPHICS.DOC
GSave saves a graphics screen as a file GRAPHICS.DOC
GSaveEMS saves a graphics screen in EMS memory GRAPHICS.DOC
GUCursor puts underscore cursor on graphics screen GRAPHICS.DOC
HGraph establish Hercules graphics mode GRAPHICS.DOC
HGraph0 same as HGraph, but clears only page 0 GRAPHICS.DOC
HideMouse make mouse cursor invisible INPUT.DOC
HRam8043 switch to RamFont 43-row mode TEXT.DOC
HRam9025 switch to RamFont 90-column mode TEXT.DOC
HRam9043 switch to RamFont 90-column, 43-row mode TEXT.DOC
HScroll quick horizontal scroll of text screen TEXT.DOC
HText return to text mode from Hercules graphics GRAPHICS.DOC
I2TOSTR convert a 2-byte integer to a string DATA.DOC
I4TOSTR convert a 4-byte integer to a string DATA.DOC
IsATT determines if ATT-type display installed SYSTEM.DOC
IsEMS determines if EMS is installed EMSXMS.DOC
IsEVGA determines if EGA or VGA is installed SYSTEM.DOC
IsMouse determine if mouse is available SYSTEM.DOC
IsSEVGA determines if a Super EGA/VGA is installed SYSTEM.DOC
IsXMS determines if XMS driver is installed EMSXMS.DOC
JaNein German language version of YesNo INPUT.DOC
KeyIfWaiting returns key if one is waiting in keyboard buffer INPUT.DOC
KeyOrButton returns first keyboard or mouse input INPUT.DOC
KeyWaiting determines if a key has been pressed INPUT.DOC
LinePattern DrawLine and DrawBox option GRAPHICS.DOC
LoadPCX read, decode and display a .PCX-format file GRAPHICS.DOC
MathChip find math coprocessor SYSTEM.DOC
ModeColor switch to color text mode TEXT.DOC
ModeMono switch to monochrome monitor TEXT.DOC
Mode43 switch to EGA 43-row mode (VGA 50-row mode) TEXT.DOC
MonthName returns ASCII month name given month number DATA.DOC
MouseLimit limit range of mouse motion SYSTEM.DOC
MousePos position mouse cursor on the screen SYSTEM.DOC
MouseStatus returns mouse position and button status INPUT.DOC
MovePOS move current cursor position TEXT.DOC
OuiNon French language version of YesNo INPUT.DOC
Paint quick complete color change, entire screen TEXT.DOC
Palette16 change color palette in E/VGA 16-color modes GRAPHICS.DOC
Palette256 change color palette in 256-color modes GRAPHICS.DOC
Path returns the path in the program's enviornment SYSTEM.DOC
PCXInfo get important information about a .PCX file GRAPHICS.DOC
Put2 put 2 bytes in a far memory block DATA.DOC
Put4 put 4 bytes in a far memory block DATA.DOC
PutBitBlock restore graphics screen saved earlier GRAPHICS.DOC
PutBitPlane restore graphics plane saved earlier GRAPHICS.DOC
PutDot turn Graphics pixel on or off GRAPHICS.DOC
PutScreen restores a screen saved by GetScreen TEXT.DOC
RAMsize determines installed base RAM SYSTEM.DOC
ReColor quick selective color change, entire screen TEXT.DOC
RTrim used to trim blanks off the end of a string DATA.DOC
ScreenMem allocates memory required to store a screen TEXT.DOC
ScreenMode set text/graphics screen mode GRAPHICS.DOC
ScreenOrigin control position of video buffer on screen GRAPHICS.DOC
SetPOS position the cursor on the screen TEXT.DOC
SetView establish active graphics viewport GRAPHICS.DOC
ShowGPage changes graph page visible on the screen GRAPHICS.DOC
ShowGraphPlane select visible color plane in 16-color graphs GRAPHICS.DOC
ShowMouse make mouse cursor visible INPUT.DOC
ShowTPage switch visible screen page (text mode) TEXT.DOC
SiNo Spanish language version of YesNo INPUT.DOC
SmallText GPrint and GLineEdit option GRAPHICS.DOC
SnowOFF disable CGA "snow" control TEXT.DOC
SnowON enable CGA "snow" control (ASILIB's default) TEXT.DOC
SortI2HI sort integer array, highest first DATA.DOC
SortI2LO sort integer array, lowest first DATA.DOC
SortI4HI sort long integer array, highest first DATA.DOC
SortI4LO sort long integer array, lowest first DATA.DOC
StdText restores normal text size on graphics screen GRAPHICS.DOC
STRCHR finds the first matching character in a string DATA.DOC
STRICHR find matching char. in a string, case-insensetive DATA.DOC
STRIPCHR remove specified character from string DATA.DOC
STRISTR find substring in a string, case-insensetive DATA.DOC
STRLEN determine length of ASIC or ASILIB string DATA.DOC
STRLWR converts text to lower case DATA.DOC
STRREV reverses all characters in a string DATA.DOC
STRRCHR finds the last matchimg character in a string DATA.DOC
STRRSTR find last matching substring in a string DATA.DOC
STRSTR find first matching substring in a string DATA.DOC
STRUPR converts text to upper case DATA.DOC
SVGA132 switch to 132-column text mode TEXT.DOC
SVGA16 set SuperVGA 16-color modes GRAPHICS.DOC
SVGA256 set SuperVGA 256-color modes GRAPHICS.DOC
SWAPB swaps specified number of bytes DATA.DOC
SYSTEM SHELL-like command; run another program SYSTEM.DOC
TClear quickly clear entire screen TEXT.DOC
TCenter centers a string on the screen TEXT.DOC
TCopy copies one screen page to another (text or Herc) TEXT.DOC
TFill fill entire screen with specified character TEXT.DOC
TGetCHR determine character & color at screen location TEXT.DOC
TLoad loads a disk file into video memory TEXT.DOC
Tprint quick print to screen or virtual screen TEXT.DOC
Tprintce quick print and clear to end of line TEXT.DOC
TPutCHR print a single character on the screen TEXT.DOC
TPage combines UseTPage and ShowTPage subroutines TEXT.DOC
Today returns today's date DATA.DOC
UCursorON places underscore cursor on text screen TEXT.DOC
Use32k Hercules memory management GRAPHICS.DOC
Use64k Hercules memory management GRAPHICS.DOC
UseGPage change active graphics page GRAPHICS.DOC
UseTPage set active page in text mode TEXT.DOC
VGA13X extended 256-color modes for standard VGA GRAPHICS.DOC
VScroll quick vertical scroll of screen TEXT.DOC
WClear quick clear portion of screen TEXT.DOC
WFill quickly fill a portion of a text-mode screen TEXT.DOC
WFrame quick window outline draw TEXT.DOC
WPaint quick complete color change, part of screen TEXT.DOC
WReColor quick selective color change, part of screen TEXT.DOC
WRestore restores portion of screen saved by WindowSave TEXT.DOC
WSave copies a portion of screen to restore later TEXT.DOC
WindowMem allocates memory needed to store screen TEXT.DOC
XMGet copies data from extended memory to DOS memory EMSXMS.DOC
XMPut copies data to extended memory from DOS memory EMSXMS.DOC
XMSSpace determines XMS memory available EMSXMS.DOC
YesNo waits for "Y" or "N" key to be pressed INPUT.DOC
If ASIC isn't your primary programming language, you may want to consider
my other programming libraries:
QLIB for QuickBASIC, PDS 7.x and VBDOS
ASM16 for 16-bit assembly-language programming
ASM32 for 32-bit assembly-language programming with the CauseWay extender
Call or write for a review copy of any of these fine software packages.
Doug Herr
P. O. Box 207
Sacramento, CA 95812
(916) 721-8762
CompuServe 71247,3542