home *** CD-ROM | disk | FTP | other *** search
- ─────────────────────────────────────────────────────────────────
- Visionix Developers Libraries (VDL)
- Release 0.20 BETA
- April 14, 1993
-
- Copyright 1991-1993 Visionix
- ALL RIGHTS RESERVED
- ─────────────────────────────────────────────────────────────────
-
- Visionix is a trademark of Visionix.
- Visionix Developers Libraries and VDL are trademarks of Visionix.
- VIOPRO is a trademark of Visionix.
-
-
- ABOUT VDL
- ─────────────────────────────────────────────────────────────────
- The Visionix Developers Libraries (VDL) are a collection of
- libraries designed to make software development easier for
- Turbo/Borland Pascal programmers. Years of experience has been
- put into this design. With but few exceptions, this product
- steps beyond the majority of pascal libraries, providing the most
- needed functions which programmers ask for - to be used as a case
- tool for applications and systems design.
-
- Beta 0.20 is a test release only - please note that the libraries
- are still under construction and that the naming conventions and
- the like are not settled upon. We feel these functions are
- relatively stable, but we do not intend for this version to be
- used commercially. So, if you do use this version, keep in mind
- some things may change between here and the final release.
-
- It is our hope that anyone who reviews or uses these libraries
- will send us a note on what they thought was wrong or right about
- them.
-
- We are not at all against making changes or adding code just
- because we didn't think about this. Also, if you have some of
- your own libraries that you have found valuable, and if you are
- interested in distributing them with VDL, let us know -- We're
- sure we can come up with an arrangement.
-
- SEND ALL COMMENTS TO:
- ---------------------
-
- US-Mail: Fido-Mail:
-
- Visionix User: Visionix
- 1240 Golfview St Node: 1:363/111
- Orlando, Fl 32804 SCSI Resource BBS
- 407-862-4724
- USR Dual Standard
-
- A NOTE ON VDL FILENAMES:
- ------------------------
-
- VDL020D.ZIP - VDL documentation files.
- VDL020U6.ZIP - VDL units for TP 6.0 (TPUs).
- VDL020U7.ZIP - VDL units for TP/BP 7.0 (TPUs and TPPs).
-
-
- ABOUT THE TPUs
- --------------
-
- All the VDL TPUs start with the letter "V".
-
- It should be noted that the TPU zip file contains a few TPU files
- that don't start with "V". The Non-"V" TPUs are only temporarily
- included with this release, and will be removed or renamed in the
- final VDL release.
-
- The protected mode version of the units (TPPs) are not available
- for this BETA release.
-
- ABOUT THE DOCUMENTATION:
- ------------------------
-
- Please pardon our dust as the documentation is not complete at
- this time, but is progressing steadily.
-
- The VDLxxxd.zip file contains the current documentation. This
- file has one ????????.DOC file for each VDL unit. The DOC file
- contains the complete INTERFACE section of the unit, and a
- description of each function.
-
- ABOUT THE PRODUCT:
- ------------------
-
- The Shareware version:
-
- The ASCII documentation and TPU/TPP files will be distributed as
- shareware. Since this is a BETA version of VDL, we are not
- interested in distributing it too much -- yet. If you found the
- VDL files or someone gave them to you, well great. Use them all
- you want. We wouldn't necessarily upload it to any other BBSs
- yet though. Some people get confused about exactly what a BETA
- release is, and we'd hate to see someone develop code around the
- BETA release, and then have all the function names change.
-
- Registration of the final shareware release will be between $50-
- $200. We haven't decided yet (Opinions are more than welcome
- --since we think this is the best developers kit, we are looking
- to continue to update it - so we'd like to make some money so we
- can keep doing this!) Because 400,000 copies of VDL will never
- get paid for ;-) But hey, at least the fun people pay.
-
- Registration of the shareware version will get you a copy of the
- commercial version of the libraries.
-
- The Commercial version:
-
- The commercial version is going to be advertised way in the back
- of Dr. Dobbs and other programmer oriented magazines, releasing
- with Borland support libraries, and many other "over-the-counter"
- methods. The commercial version will include high-tech, printed,
- cute-looking, graphical, multi-font, Pagemaker created
- documentation in either 3-ring binders or actual books.
-
- The commercial version will also include the full VDL source
- code, technical support, and the right to have upgrades mailed to
- you as soon as they are available. The registered shareware
- version and the commercial version are in all other regards
- identical.
-
- The commercial version will cost the same as the shareware
- registered version: between $50-$200.
-
-
- INTRODUCTION
- ─────────────────────────────────────────────────────────────────
- The Visionix Developers Libraries fall into 7 categories:
-
- General
- Console I/O
- User Interface
- Memory
- Devices
- File System
- O/S Specific
-
- The following is a brief description of the VDL libraries. In
- this description, a "?" before a file name indicates that the
- specific library may not be in the VDL 1.0 release, and a "*"
- before the file name indicates that it almost certainly will not
- be in the 1.0 release, but is under development.
-
-
- General Libraries
- =================
-
- VALARM Internal alarm clock functions for timers, events, and
- multi-purpose timer-tick functions.
-
- VAPM Advanced Power Management functions for laptop systems
- which will report on power consumption and power
- expediency.
-
- VATM Assign To Memory; A Turbo Pascal Text File Device
- Driver (TFDD) that writes its output to memory. Great
- for building screen displays or WView scrolling
- displays.
-
- VBIOS Multiple routines to get information out of RAM and
- ROM-BIOS.
-
- VDATES Time and Date functions; Julian, Gregorian and
- DateTime.
-
- VDOSHIGH Extra functions for DOS calls.
-
- VEQUIP Equipment information unit; reports info about
- parallel ports and serial ports, floppy drives, bios
- name/date, math coprocessor and game-port; info on the
- primary and alternate consoles; and more.
-
- VGEN General functions; search and replace, buffer compares,
- int, word, longint, byte, and pointer to hex-string
- conversions and vise-versa; padding, trimming, and
- string filling; ASCIIZ/String (C/PASCAL string)
- conversion, and too much more to mention.
-
- VMATH Included are trigonometric, statistic, algebra, and
- calculus functions.
-
- VMULTI MultiProc unit; for non-preemptive calling of "multi-
- procedures" which can do things like on-screen clock,
- "background" printing, etc.
-
- VPROC Sets up an easy "ExitProc" Stack, where you can push
- and pop procedures onto. Great for non-messy exits
- that deallocates and resets memory, for example.
-
- VRESFILE Resource file; holds int, text, dialog, color & menu
- info in a "????????.VRF" file; program can ask for
- information from the resource file at run time. Put
- all the text of your program here, and its easy to
- convert your software to other languages, without
- recompiling. Many other uses.
-
- VTYPES All the types and constants for the VDL libraries in
- one central file. No more hunting all over the system
- for constants, flags, or error codes.
-
-
- Console Libraries
- =================
-
- The Visionix Console I/O libraries allow for the creation of
- input and output "channels" to which 1 or more console drivers
- can be attached. As an example, the included VCRT unit has a VIN
- driver for the keyboard and a VOUT driver for the CGA, EGA, VGA,
- and hercules text-mode screen. The VCRT unit automatically
- creates one "CRT input" channel to which it puts its keyboard
- driver, and one "CRT output" channel to which it puts its
- text-mode screen driver. By calling the appropriate VIN and VOUT
- functions when its Turbo Pascal CRT emulation routines are
- called, VCRT then serves as a full-functions Turbo Pascal CRT
- replacement unit, with the added advantage that your program can
- add its own input or output drivers to the CRT channels, allowing
- you to replace, redirect, or add to VCRTs output. For example,
- you could add a driver to the CRT output channel which sent ANSI
- sequences over a serial port, thereby allowing you to write a
- BBS-door that used STANDARD CRT function calls! Much to
- functional to fully explain here; for more info, check out the
- manual (when available).
-
-
- VIN Channel management library for input consoles.
-
- VOUT Channel management library for output consoles.
-
- VCRT Turbo Pascal CRT replacement unit; works through
- VIN/VOUT.
-
- ?VCRTFAST CRT replacement unit--direct to video; FAST and
- efficient.
-
- ?VANSI ANSI functions library and VOUT/VIN drivers for ANSI.
-
- ?VAVATAR AVATAR functions library and VOUT/VIN drivers for
- AVATAR.
-
- ?VIOPRO VIOPRO functions library and VOUT/VIN drivers for
- VIOPRO (VIOPRO=Visual I/O PROtocol, a collection of
- extensions to AVATAR we have come up with to allow for
- BBS based "graphical" user interface with windows,
- dialog boxes, etc).
-
- *VTERMCAP Unix TERMCAP functions library and VOUT/VIN drivers for
- TERMCAP supported terminals.
-
- VCOLOR Color & Color Palette management.
-
- *VPOINT Library for pointer devices.
-
- VFONT EGA/VGA Font Manipulation Unit. Create your own fonts
- and bitmap them into usable icons.
-
-
- User Interface Libraries
- ========================
-
- The Visionix User Interface (VUI) libraries are a complete set of
- user interface libraries, including support for windows, push-
- buttons, radio buttons, check boxes, pick-lists, formatted text,
- integer, hex and "mask" based input, dialog boxes, fixed and
- scrolling menus, scrollable "view" windows, form-based input,
- full mouse support, and more.
-
- The VUI libraries:
-
- o Supports all VGA/EGA/CGA/Hercules text modes.
-
- o not event driven or object oriented (admittedly, this may be
- as much of a disadvantage as an advantage).
-
- o easy to use, quick to get up and running.
-
- o variety of "looks", including norton utils PC-TOOLS
- redefined text character "graphics look", and several other
- clean and efficient "looks".
-
- Additionally, three "frameworks" or templates are supplied to
- allow you to develop VUI applications quickly. These
- "frameworks" include:
-
- o Visionix Action Object framework (VAOFrame).
-
- o Visionix Modal-Menu (VMMFrame).
-
- o Visionix Drop-Down menu framework (VDDFrame).
-
-
- VWINLOW Window creation and management library.
-
- VWINHIGH High-level window functions: Dialog boxes, menus etc.
-
- VFORM Form creation and control library.
-
- VACTWIN "Action Window" library.
-
- VHELP ASCII file-based, indexed help system. Allows you to
- create ASCII help files using a simple "help language"
- that lets you define help screens with buttons that can
- have GOSUB or GOTO connections to other help screens.
-
- ?VWFSBOX Window File Selection box that allows a user to pick
- a file from a list of files. Like the standard file
- open/close dialog boxes in windows.
-
-
- Memory Access & Management Libraries
- ====================================
-
- The Visionix Memory Access & Management libraries support the
- creation and usage of multiple "heaps" which can be based in
- "DOS" (below 1mb) memory, EMS, XMS, or paged in from disk. After
- a heap has been created, the caller can allocate or deallocate
- memory from the heap. This BETA release only supports usage of
- normal DOS memory, and doesn't have multiple heap support.
-
- VMEM Memory/Heap management library, supports variety of
- memory methods.
-
- VEMS DOS/EMS library.
- VXMS DOS/XMS library.
-
-
- Operating Environment Specific Libraries
- ========================================
-
- The Visionix Operating Environment Specific Libraries provide
- functions that interface with functions that are specific to a
- given operating environment (DOS and OS/2 DOS boxes in this case)
-
- VVDS Virtual DMA Services library.
-
- VDPMI DOS Protected Mode Interface library.
-
-
- Device Access & Management Libraries
- ====================================
-
- Serial Channel Libraries
- ------------------------
-
- The Serial Channel Libraries allow for the creation of serial
- communication channels, to which a single serial driver can be
- added. This architecture allows us to present a single serial
- programming interface which will work on a variety of serial
- communication uarts or drivers.
-
- VSER Serial channel management library.
-
- VSERLOW Serial channel common data and methods defined.
-
- *VSERHI High-level serial library; zmodem, terminal, etc.
-
- VFOS Serial channel driver for the FOSSIL (Fido, Opus,
- Seadog interface library) INT 14 based serial
- interface.
-
- *VUART Serial channel driver for the 8250, 16450 and 16550
- serial controller UARTs; fully interrupt driven code.
- Takes advantage of 16550s on-board FIFOs for enhanced
- performance in multi-tasking environments.
-
- *VNETI14 Serial channel driver for networked "shared" modems,
- allows for usage of modems which are not connected
- to a machines local serial ports.
-
- *VDIGIBRD Serial channel driver for DigiBoard multi-port serial
- controllers and compatible.
-
- *VSTRGATE Serial channel driver for StarGate multi-port serial
- controller and compatible.
-
- MIDI Libraries
- --------------
- THIS LIBRARY IS NOT LIKELY TO BE INCLUDED IN THE VDL 1.0 RELEASE.
-
- The Visionix MIDI communications library allows for full access
- and control of any MPU-401 compatible midi controller, as well as
- Windows 3.1 and Windows NT compliant drivers.
-
- *VMIDI MIDI communications library.
-
- *VMIDIHIGH High-level MIDI library; Play notes, SysEx dump,
- MIDI standard Sample dump, MIDI standard file
- transfers, etc.
-
- SCSI Libraries
- --------------
-
- The Visionix SCSI libraries allow for full access and control of
- any SCSI device, including (but not limited to) Disk, Removable
- Disk, Magneto Optical, Tape, Printer, Scanner, and Network
- controller.
-
- The Visionix SCSI abstraction library allows your program to run
- on any host adapter that supports the ASPI, CAM, SDLP, HACMAN, or
- SyQuest Software Utility Interface programming interfaces. Simple
- functions allow you to execute any SCSI Command Descriptor Block
- (CDB) without learning all the complicated details of your host
- adapter or SCSI software manager. Additionally, the SCSI
- Abstraction Library-HIGH (VSALHIGH) library implements a function
- for every SCSI-2 command, so you don't even have to build the
- CDBs yourself.
-
- VSAL SCSI Abstraction library, supports variety of SCSI
- execution methods.
-
- VASPI ASPI functions library.
-
- ?VSDLP SDLP functions library that uses an SDLP BIOS or
- implements all SDLP functions locally.
-
- ?VHACMAN HAC (host adapter channel) Manager functions library.
-
- *VCAM CAM functions library.
-
- VSALHIGH High-level SCSI functions; SCSI-2 command set, disk,
- cd-rom, tape, worm, processor, printer, etc.
-
- CD-ROM Interface libraries
- --------------------------
-
- The Visionix CD-ROM interface library allows you to access and
- control any Microsoft CD-ROM Extensions (MSCDEX) compatible
- CD-ROM drive. The library supplies easy to use functions to play
- audio tracks, minute:second regions, block regions; read
- "Q-Channel" (or play time) information, read track indexes, pause
- drives, eject disks, and more.
-
- ?VCDROM Generic CD-ROM interface library. Uses VMSCDEX or
- VSCSICD.
-
- VMSCDEX Microsoft CD-ROM Extensions interface library.
-
- ?VSCSICD Direct SCSI CD-ROM library that does not require
- MSCDEX.EXE. Works on NEC, Chinon, Denon, Toshiba,
- Sony, Texel, Hitachi, and SKC SCSI CD-ROM drives.
-
- Disk Interface libraries
- ------------------------
-
- *VDISK Direct-access/DISK device library.
-
- *VINT13 Interrupt 13 disk library.
-
- Sequential Access (TAPE) interface libraries
- --------------------------------------------
-
- *VTAPE Sequential-access/Tape device library. Supports
- buffered reads and writes, filemarks, setmarks, and
- more.
-
- *VCPIO Unix copy in/out (CPIO) file functions.
-
- Network communications libraries
- --------------------------------
-
- *VPIPES Inter-process and inter-node communications library.
-
-
- File System Libraries
- ======================
-
- VCOPY Intelligent file-copying unit. Great for install
- programs, xcopy replacements, etc. Supports wildcards,
- file-lists, move operations, date/time ranges,
- attributes, and more. Many useful functions within one
- function call.
-
- *VDOS Turbo Pascal DOS replacement library. Performs I/O
- via DOS calls or via VFAT or VMACFS, allowing direct
- access to FAT or MAC filesystems.
-
- ?VFDISK FDISK Partitioning library.
-
- ?VSDPS SDPS Partitioning library.
-
- ?VFAT Direct FAT file-system manipulation library; provides
- access to FAT filesystems without going through DOS.
-
- *VMACFS MACintosh file system library (similar to VFAT, but
- works on media formatted with the MAC filesystem).
-
- Demo programs included with VDL
- ===============================
-
- VISTERM A Simple ANSI terminal program. Uses VDL serial
- libraries, VDL user interface libraries, general
- functions, etc.
-
- VISCAL A Simple Calendar program. Uses VDL data/time
- libraries.
-
- VDLMAN Visionix Developers Libraries Manual manipulation
- program.
-
- VISMENU A Simple DOS menu program.
-
- VISSCSI A Simple SCSI CDB execution program. Uses VDL SCSI
- VDL SCSI libraries.
-
- VISXCOPY A XCOPY replacement program. Uses VCOPY.
-
- VISPLAY A Simple CD-ROM audio control panel: Play, stop,
- pause, track skip, etc. Uses VDL CD-ROM audio
- libraries.
-
- INSTALL A simple, generic install program.
-
-
- FINAL COMMENTS
- ─────────────────────────────────────────────────────────────────
- C++ is dominating the market as the standard for programming, but
- this does not mean it is the best language. Borland has been
- attempting to create a language of their own which has no limits
- or committees designating what they can or can not do. This is
- Turbo Pascal - a language with small beginnings, but is quickly
- becoming a dominating force in the programming world.
-
- With ever more APIs and programmers coming into the world,
- standardization is harder than ever. So, with new committees and
- standards becoming commonplace, true genius and expression has
- been inversely declining. How does one begin with a new concept
- and exploit it when everyone is yelling stop?
-
- Never forget the whole concept of the personal computer and its
- roots - individual control and power - not networked, organized,
- and governed isolationism. This might sound old-fashioned
- "hackerism", but there is much truth in it. Too much government
- will stall this great and open industry - and it is to the
- programmers of today and tomorrow to be without limits. Our hats
- goes off to Borland.
-