home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 13
/
CD_ASCQ_13_0494.iso
/
maj
/
419
/
pbclone.new
< prev
next >
Wrap
Text File
|
1994-03-19
|
23KB
|
546 lines
PBClone 2.3, 03/19/94:
The registered version of PBClone now comes with a complete
printed manual. This is 8.5" high by 5.5" wide, to fit neatly
in normal bookshelves, and GBC bound to lie flat when open
for convenient reference. It contains the entire text of the
PBCLONE.DOC and PBCLONE.MAN files.
Added BLDLIB.BAT to simplify creation of a single complete
PBClone library. Using LibWiz is still the recommended method
for creating subset libraries.
Renamed the internal critical error routines to avoid any
possible conflicts with other libraries.
Updated the archive handler to support current ARJ formats
and PKZIP 2.0 self-extracting archives.
Updated DrvType to use NetWare info if available.
Fixes:
MatchFile (no longer case-sensitive), Phone2Num,
VerticalPrint (missing docs), SDGetVer (now SDVersion),
SetMatS (bad DECLARE)
Additions:
GetPath, SetPath
PBClone 2.2, 04/26/93:
** The FReadLn routine has been renamed to FReadLine to avoid
conflict with a BasWiz routine. **
The most exciting addition to this version of PBClone is
SoundBlaster support. The SBSIM driver (which comes with the
SoundBlaster) is required. Direct BIOS joystick access is
also now provided, in case you're not satisfied with BASIC's
built-in joystick support. A set of efficient shuffling
routines for arrays and strings is included for use with
games and simulations. Access to the SMARTDRV disk cache info
is provided for SmartDrive 4.0 and later.
PBClone has gotten so large, it's become difficult for people
to download at lower speeds or copy to low-density disks. The
Right Solution, of course, is to get a better machine. Since
this is may not be a practical solution for everyone, I am
splitting PBClone into two archives for distribution: PBC#A
for docs, PBC#B for everything else. The "#" is the version
number, so it's PBC22A and PBC22B for the current release. I
hope this doesn't cause undue confusion.
My thanks this edition go to Bruce Guthrie, as always, for
his many comments and suggestions; to Jeff Sabatini, for
tracking down and killing an elusive bug in FileCopy; and to
Clifton Hodges, for tracking down and fixing a problem in
DInput. These good gentlemen have been awarded free updates.
The ADD4DOS.BAT file has been renamed to ADDFILE.BAT.
PLAYVOC.BAS has been added to demo SoundBlaster support.
Fixes:
BoxMenu and BoxMenu1 screen restore, DInput exit, ScrRest
and ScrSave DECLAREs, archive routines with far strings,
CopyFile and FileCopy error handling, FileCopy root
directory handling, DXQPrint and CRC1 far string
versions, CheckShare and CheckShare2% more robust.
Improvements:
Archive routines (ARJ self-extractors)
BoxMenu1 (select/unselect all items)
DXQPrint (more than 255 rows)
NameCase, NameCase2$ (more adroit handling of digits)
Weekday1 (shortcut for today's date)
Additions:
Bickel2, CheckCAS, CreditCard, CRC32Calc, CRC32Done,
CRC32Init, Cylinders, DblSpace, FormatPhone,
GetLogiDrive, Heads, JButtonA1, JButtonA2, JButtonB1,
JButtonB2, JButtons, JPos, LClickLoc, MatShuffleD,
MatShuffleI, MatShuffleL, MatShuffleS, MatShuffleSt,
MClickLoc, RandFile, RClickLoc, RndI, SBFreeHandles,
SBFreeXMS, SBGetActive, SBGetDrivers, SBGetVer,
SBGetVolume, SBInt, SBInitSrcFile, SBInitSrcXMS,
SBIsFree, SBLoadXMS, SBMapMIDI, SBPause, SBPlay,
SBResume, SBSetVolume, SBStatus, SBStop, SDFlush,
SDGetVer, SDRCached, SDReset, SDStats, SDWCached,
SetMatD, SetMatS, ShowBMP, ShuffleSt, ValidSt,
VerticalPrint
PBClone 2.1, 01/12/93:
*** WARNING ***
Note that the Num2Phone and Phone2Num functions rely on the
current format of phone numbers, which is apparently going to
change in a year or so. You are advised not to use these
functions, as they will not be reliable with the new setup.
The registration fee for PBClone has been raised to $35. New
releases will be coming out less often-- perhaps once or
twice per year-- since the library has become too large for
casual updates.
My thanks, this edition, to Bruce Guthrie and Raymond T.
Schwarz for bug reports and wise suggestions. They have been
awarded free upgrades.
The order form has been renamed from REGISTER.TXT to
ORDER.FRM, since that seems to be a more common convention.
Also, CREATE.BAT has been renamed to MAKEDEMO.BAT.
Some of the DECLAREs were not compatible with VB-DOS due to
use of VB-DOS reserved words. Thanks to Douglas E. Carr for
bringing this to my attention-- it has been fixed.
In the interest of keeping the size of the PBClone archive
manageable, the .EXE versions of the demo files have been
removed. Use MAKEDEMO.BAT to make them after installing the
PBClone library as explained in PBCLONE.DOC.
Fixes:
Any2Dec, FileCopy, ForceMatch, GrafPrint docs, HiByte
DECLARE, LoByte DECLARE, Month0 far string version,
PSortSt, SInput, SSrch, StripSpaces for trim left,
WindowMan4 top line.
Improvements:
Any2Dec converted to asm.
CenterSt converted to asm.
FindFirstA now supports the new PKZIP 2.0 "deflated"
format, and can read ZIP2EXE self-extracting files.
IdentifyFile covers more file types.
Additions:
BoxMenu, BoxMenu1, CheckSum2, Command2, DataSeg2,
DReadAbs, DReadAbsBig, DWriteAbs, DWriteAbsBig, FileMenu,
FLock, FUnlock, FromPostal, GetMemBox, GetPrtSc, GetPSP,
IStrNB, MMCheck2, PrintBox, ReadScreen, RotateL,
RotateLL, RotateR, RotateRL, SCrunchSS, SetLogiDrive,
ShowIcon, ToPostal, TVIdle, UnSCrunchSS
PBClone 2.0, 10/19/92:
From AdvBas to PBClone, I've kept a registration price of $25
for the last seven years. What was a good deal for a library
of some 100 routines turned into a ludicrously low price for
the 525+ routines in PBClone, however. In order to scale the
price back to a mere outrageous bargain, I am raising the
registration fee to $35 as of January 1, 1993.
Special thanks to Bruce Guthrie for his many suggestions and
attentive bug reporting, which have been of great benefit to
PBClone on a continuing basis. Kudos! (AND a free update!)
My BasWiz and PBClone libraries had a name conflict: both
contained FOpen and FClose routines. To resolve this, I've
renamed the PBClone versions to FOpen1 and FClose1.
Instructions are now included for creating a PBClone library
for use with the Visual Basic for DOS compiler.
Among the new additions are file routines for numeric I/O,
get/set individual palette values, convert a numeric ASCII
code to uppercase, read 4DOS-style file descriptions, get
mouse info, center a string, get CPU speed, and others.
A number of routines have been converted from BASIC to ASM.
This has caused changes in the DECLAREs for the following
routines:
GetScreen, InitPtr, PutScreen
A mistaken assumption about far string handling caused
problems with many far string routines. These have been
fixed. Note that since far string support was added to the
shareware version of PBClone as of v1.9, these routines have
not been tested in use as much as the near string routines,
and I expect more bugs will probably settle out within the
next few releases. If you run into any problems, tell me!
The ArcView demo program now works smoothly with archives
containing filenames that include path specifications.
Fixes and improvements:
DriveSpace& and DrvSpaceL recognize invalid drives.
IdentifyFile recognizes many more file types.
ObjScan now screens out VB-DOS internal symbols.
SubExist and SubExist2% now screen out wildcards.
Upcase1 now uses National Language Support if it can.
Additions:
BRead, BWrite, CenterSt, CPUSpeed, FDescRead, FReadLn,
GetMouseVer, GetTick, GetVGAColor, IRead, IWrite, LIRead,
LIWrite, LRead, LWrite, SetVGAColor, UpcaseI, UpcaseI1
PBClone 1.9, 07/27/92:
The source code for the PBClone routines which are written in
BASIC is now included in the shareware version. A set of near
and far string libraries for the assembly language part of
PBClone is also included. This allows you to create a PBClone
library for QuickBasic 4.x and PDS 6.0-7.1, rather than just
for QuickBasic 4.5 as in previous versions.
Fixes and improvements:
Elapsed & ElapsedTime$ allow times that cross midnight.
FileCRC is much smaller and faster.
FindFirstA can now scan self-extracting LHARC archives.
PCDat$ works properly with far strings.
Processor & Processor2% can now identify 80486 CPUs.
StrUsqu2 and StrUsqu3 now support far strings.
SubExist & SubExist2% now check drives as well as dirs.
WeekDay1 now works.
Many routines have been converted from BASIC to assembly
language. In the case of the following routines, this caused
the DECLARE to change as well:
CheckDate, DateA2R, StripBlanks, StripRange, StripSpaces
As Microsoft adds time and date functions to BASIC, the names
of certain PBClone routines become a problem. I've renamed
Month to Month0 and WeekDay to WeekDay0 in order to resolve
the conflicts. In addition, the variables Hour%, Minute%,
Second%, Month%, Day%, and Year% have been replaced by
HourNr%, MinuteNr%, SecondNr%, MonthNr%, DayNr%, and YearNr%.
Sorry for any inconvenience. Such is progress.
Added LIB_BI.DOC, a tutorial which explains how to use
libraries and include files. This is included with PBClone by
the kind permission of Daniel M. Smith, Jr., the author.
Additions:
AscM, DupeVar, HiByte, HiLite, HiWord, LoByte, LoWord,
StrSqu, StrSqu3, StrUnsq, StrUnSqu3
PBClone 1.8, 05/08/92:
A bug was fixed in SetComm, which was setting the baud rate
incorrectly. More importantly, however, I ran into a serious
Microsoft bug which I'd thought had long since been fixed. It
appears that QuickBASIC 4.0-4.5 and BASCOM/PDS 6.0-7.1
destroy vital comm port information in the BIOS data area,
making it impossible for any of the PBClone comm routines to
function. I have enclosed patch information for QB 4.5 in
QBPATCH.TXT. If you have a different compiler or do not wish
to modify your BASIC libraries, use the following
work-around:
SaveComm$ = SPACE$(8)
DGetSt &H40, 0, 0&, SaveComm$ ' save comm info
' OPEN the comm port as desired
DPutSt &H40, 0, 0&, SaveComm$ ' restore comm info
' now you can use PBClone comm routines
In the new QBPATCH.TXT file, there is information about how
to permanently eradicate that comm-killer bug, among other
things. It's been many years since Microsoft upgraded QB.
Maybe it's time for us to start fixing the bugs ourselves.
Speaking of bugs... a lot of 'em have settled out in the last
few months. Bugs were fixed in the MaxL and MinL functions,
which would return the wrong results if both parameters were
negative. A bug was fixed in FCreate, which would lock the
computer. A bug was fixed in the near-string version of
Xlate. A bug was fixed in the far-string version of
GetExecPath. Bugs were fixed in SubExist and SubExist2, which
changed the path. They were also made insensitive to a DR-DOS
flaky. The PSortSt and SortSt routines were incorrectly
documented. The Date2Int and Int2Date routines had a problem
and return different values now.
The various sort routines would not compile under BC7/PDS due
to use of a STACK array (STACK is a PDS reserved word).
The TimeN2S routine will no longer translate zeros to the
current time. After all, although "00:00:00" is an unusual
time, it is a valid one. Getting the current time can be more
easily done with the TIME$ function anyway.
The CatchError/GetError routines don't work any better than
they used to, but you can replace them with the new
GetError2% function, which appears to be more effective.
The VARCDEMO program has been renamed to ARCVIEW. As well as
the filename-only listing, it now allows a detailed view of
an archive-- try the /V option. A new demo has been added,
DIRVIEW, to show the use of the LoadDirAll routine.
If you use the excellent 4DOS command shell, try the new
ADD4DOS batch file-- it adds descriptions of all PBClone
files which will show up when you type DIR. No more guessing
about filenames!
Microsoft's simplified segment directives made it much easier
to create assembly language routines. Unfortunately, when you
have a library as big as PBClone, they're counterproductive.
I've converted the PBClone sources to use the old-style full
segment directives. The added flexibility this gave me
provided a number of benefits:
- the .QLB library is smaller, providing more QB/QBX
environment space
- data areas have been consolidated, providing more data
space
- common code has been consolidated, reducing memory
requirements (and often improving the speed, since near
calls can be used)
- improved granularity
Many of the routines that were in BASIC have been converted
to assembly language. Although few of these routines were
particularly time-critical, the translation allowed for fewer
segments and improved memory usage.
Doc files have been converted to 64 col x 59 row pages to
allow printing on a greater variety of printers. You may want
to think twice before printing out the PBCLONE?.MAN files,
though, as they total over 10,000 lines.
Additions:
CeilD, CeilS, ExplainFAttr, FarPeekI, FarPeekL, FarPokeI,
FarPokeL, FileCount, FloorD, FloorS, GetError2, GetFSize,
Int2DateSt, Int2TimeSt, IsAlNum, IsAlpha, IsASCII,
IsCntrl, IsDigit, IsLower, IsPrint, IsPunct, IsSpace,
IsUpper, IsXDigit, LoadDir, LoadDirAll, LogicalDrives,
MPrint, MWindow, Num2Phone, Odd, OddL, Phone2Num,
PrinterInit
PBClone 1.7, 01/08/92:
Argh, drat. In the rush to release a fix for PBClone 1.5, I
forgot that I'd pulled the ARCHIVE.OBJ routines out to add
new capabilities. Result? A bug fix that only had different
bugs! My apologies. I've added a group of beta testers to
prevent this sort of thing in the future.
Bug fixes affect: CheckDisk, CheckDsk, CRC, GetTimeFx,
RenSub, SInput.
I'm breaking PBClone away from its obsession with following
ProBas. I am taking this opportunity to remove dummy
parameters from routines which only included them for ProBas
compatibility, and to delete routines which are obsolete or
have no function except in ProBas. My apologies for any
inconvenience these changes may cause you. This is a one-time
thing.
Altered: CtrlKey, DCal, FindPatch, GrafRest, GrafSave,
HCls, HLine, HMode, HPrint, HSetPixel, HTestPixel
Deleted: DrvSpace, GetMoveBack, GetSizeF, HInit, HPage,
SetRows
The FindFirstA set of routines now supports ARJ and ZOO
archives.
Some of the territory covered by the new routines includes
Windows and 4DOS detection, sorting and binary searches,
control over the Break key, graphics mouse cursors, printer
checking and formatted dollar input.
Additions:
AllExtMem, AndSt, BinSeekD, BinSeekI, BinSeekL, BinSeekS,
BinSeekSt, BreakCheck, BreakOff, BreakOffDone, CRC1,
DInput, FloppyType, Get4DOSv, GetPrtAddr, InitPtr,
MouseCursor, OrSt, PrinterReady, PSortD, PSortI, PSortL,
PSortS, PSortSt, ReverseD, ReverseI, ReverseL, ReverseS,
ReverseSt, RolSt, RorSt, SetPrtAddr, ShlSt, ShrSt, SortD,
SortI, SortL, SortS, SortSt, WinCheck, XorSt, XQPrintOver
PBClone 1.6, 10/09/91:
There was an error in the PBCLONE.INF entries for GetXMSm and
GetXMSv. This has been corrected. The CheckDate routine would
bomb out if it was given an illegal month. This has likewise
been fixed.
The reference manual was getting too large for my favorite
editor, so I split it in half. PBCLONE1.MAN covers A-F and
PBCLONE2.MAN covers G-Z.
PBClone 1.5, 09/25/91:
Support for far strings has been added to PBClone. This means
you can use PBClone in the QBX environment and with the BC7
"PDS" /Fs option. Only the registered version provides this
feature, since you must recompile the BASIC sources with
whichever PDS version you have.
A bug in the DEMO.BAS file having to do with expanded memory
has been fixed. This derived from my not reading the
documentation-- take heed! EVERYBODY needs to read the
documentation!
Bugs of varying levels of significance have been collected,
labeled, and sent to the Smithsonian. Fixed routines:
FindFirstA series, FindPatch, MMButton, MMButton3, ObjScan.
In PBClone 1.4, a PBCOBJ.ZIP file was included which
contained all of the object files for PBClone. This has been
replaced with PBCLONE.LIB. Use the utilities included with
LIBWIZ (separate) to extract all of the .OBJ files from the
library to allow you to create your own custom libraries.
Complaints of bugs in BarMenu have prompted me to add
MENUDEMO.BAS and MENUDEMO.EXE. BarMenu works flawlessly, but
evidently was insufficiently documented. The addition of this
example code should help. I've added VARCDEMO.BAS and
VARCDEMO.EXE as well to demonstrate the archive-viewing
routines.
Assembly language source code has been converted from OPTASM
to MASM 6.0. While MASM is still not up to OPTASM in many
respects, it's close enough, especially given that SLR has
not updated OPTASM in the past few years and it doesn't even
support 80386 codes yet. Oh well. MASM may be yucky, but it's
still (somehow) the standard, and as of v6.0 it's at least
tolerable.
Additions:
FileCRC, GetXMSm, GetXMSv
PBClone 1.4, 03/28/91:
This library is now too large for BASIC to cope with as a
unit. Look for LIBWIZxx.ZIP (separate), a library manager
which will allow you to create custom libraries containing
just the routines you need.
The Processor and Processor2 routines can now differentiate
NEC V20 chips.
Additions:
AltKey, BarMenu, BarMenuM, CalcDate, CDROM2, CheckDate,
CheckDsk, ClearArea, CtrlKey, CWindowManager, DateA2R,
DateR2A, DCal, DCalendar, DGQPrint, DGXQPrint,
DGXQPrint1, EnhKbd, EuropeDate, EWindowManagerC,
EXQPrintC, FileCopy, FindFirstFx, FindNextFx, FindPatch,
ForceMatch, FormatDate, GetAttrFx, GetCommAddr,
GetDateFx, GetDView, GetHGA, GetLine, GetMoveBack,
GetNameFx, GetRows2, GetSizeFx, GetTimeFx, GetTView,
GetTVScreen, GXQPrint, GXQPrint1, KbdType, KbdType2,
KVal, LScroll, LVal, MemSwap, ObjScan, PatchDone, PrtSc,
Rand, RScroll, SetCommAddr, SetPatch, TypePrint,
UpdTVScreen, WeekDay1
PBClone 1.3, 02/21/91:
The GetLabel and GetLabel2 routines were fixed to overcome a
DOS 2.x bug. They should now work properly with DOS 2.0 on.
A crude TSR file viewer, FV.EXE, has been added to make
syntax and usage questions less of a bother. It would be wise
to try it out on something nonessential first-- it seems to
work fine with QuickBASIC, but it locks up my favorite
editor. See PBCLONE.DOC for details.
Additions:
CheckShare2, CloseA, CPrintScreen1, CPrintScreen2,
CursorInfo, EMSBuffer, EMSClose, EMSGet, EMSOpen, EMSPut,
EMSRest, EMSSave, FindFirstA, FindNextA, GetCRCA,
GetCRCAL, GetDateA, GetMouseLoc, GetNameA, GetSerial,
GetSizeAL, GetStoreA, GetTimeA, GQPrint, HandleInfo,
HCls, HInit, HLine, HMode, HPage, HPrint, HSetPixel,
HTestPixel, MaxD, MaxS, MinD, MinS, NumFormat, NumProc,
NumProc2, ParseFSpec, PrintFile, Processor, Processor2,
ReadBitF, RedirectIn, RedirectOut, SetBit, SetLabel,
SetMouseLoc, SInput, SInputSet, SInputSet1, SInputSet2,
WriteBitF
PBClone 1.2, 01/28/91:
A bug in the Floppies and Floppies2 routines has been fixed.
Thanks to Dennis Allen for bringing it to my attention and
suggesting a solution.
A bug in the StrIns routine has been fixed. Thanks to Birk
Binnard for bringing it to my attention.
Additions:
DRecDel, DRecIns, DReColor, DReColorArea, DWindowManager,
DWindowMan2, DWindowMan3, DWindowMan4, DXQPrint,
EGARest7, EGARest8, EGARest9, EGASave7, EGASave8,
EGASave9, GetKbd2, GrafPrint, GrafRest, GrafSave, LClose,
LGet, Locase1, LOpen, LPut, StrSqu2, StrSquLen2,
StrUnsqu2, StrUnsquLen2, TInstr, UnSplit, Upcase1
PBClone 1.1, 12/28/90:
The QLB version of the library is no longer included, to help
reduce the size of this burgeoning package. You can create it
from the LIB like so:
LINK PBCLONE.LIB/Q/SE:512,,NUL,BQLB45
See the LIBRARY.TXT and QUESTION.TXT files if this doesn't
work for you.
The manual has been split into two parts to allow easier use.
Several of the memory and string routines are now faster.
The mouse-handling part of CheckKey, CheckKey3, GetKey, and
GetKey3 has been enabled.
Additions:
AscI, BIOSInkey, CalcAttr2, DelayV, DGetRec, DOSErrM,
DOSInt, DPutRec, DScrRest, DScrSave, ElapsedTime, Exist2,
ExtendFSpec, Extract, FGetLoc2, FSize2, GetCRT2,
GetDrive, GetEGA2, GetSub2, GetSwitch2, GetVGA2,
IntVector, IStr, IVal, MaxL, MinL, MMButton, MMButton3,
MMCheck, MMClick, MMClick3, MMCursorOff, MMCursorOn,
MMGetLoc, MMSetLoc, MMSetRange, MousePen, MouseRest,
MouseBuffer, MouseSave, NameCase2, ReColor, ReColorArea,
ReplaceString, Sec2Time, Split, SubExist2, Time2Sec,
WindowManager, WindowMan2, WindowMan3, WindowMan4
PBClone 1.0, 12/03/90:
This is the initial release of the PBClone library, featuring
222 routines.