Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5160"]
Waiting for machine "ibm5160" to load....
Collection of routines written in Turbo Pascal for the IBM-PC.
BLIST.PAS and GETDIR.PAS were written for CP/M-80. Programs include
asynchronous communications routines, an excellent disk cataloging
program, and window management routines.
System Requirements: Turbo Pascal
How to Start: To read DOC files, enter TYPE filename.ext and press
<ENTER>. For instructions on PAS listings, refer to your Pascal
language manual. To run a COM program, simply type its name and press
<ENTER>.
File Descriptions:
ASYNC PAS Asynchronous communication routines
TURBO DOC Various routines -- date/time, hex math, registers
SETCURSR PAS Set cursor size for monochrome monitor
RDIBMKBD INC Procedure to read IBM keyboard -- all keys
PTOOLWIN PAS Demo/driver
PTOOLWIN DOC Documentation
PTOOLWIN INC Pascal TOOLs for WINdow management
PTOOL1 BOX Combination of PTOOLDAT, PTOOLENT, and PTOOLSCR
PTOOLSCR PAS Demonstration
PTOOLENT PAS Demonstration
PTOOLENT DOC Documentation
PTOOLSCR INC Associated file
PTOOLENT INC Pascal TOOls for record-oriented data ENTry
PTOOLDAT PAS Demonstration
PTOOLDAT INC Pascal TOOLs for DATe manipulation -- very complete
BYTES PAS Associated program
PC-DISK COM Compiled version
PC-DISK PAS Disk Catalog program -- full-featured
PARAMS PAS Demonstrates getting command line parameters
MODEM PAS Telecommunications program
HEXCALC PAS Hexadecimal calculations
BLIST DOC Brief documentation
BLIST PAS TURBO program lister and begin/end counter for CP/M-80
BLIST COM
GETDIR PAS Get 8-sector, DSDD disk directory -- not TURBO
CRFONTS PAS Character font creation and editing
DATETIME INC Date and time functions
CRFONTS DOC Documentation
BLIST COM Complied version of BLIST.PAS
BList is a Turbo Pascal Source Code lister and BEGIN/END Counter
program. It can print a listing to Console or Printer, with
optional begin/end, case/end, and record/end counter. It was
initially published in the Aug./Sept. issue of TUG Lines.
This version of the code is specific to CP/M-80 because the program
looks for a parameter passed by CP/M at absolute location $80.
However, I believe it can be easily modified for MS-DOS. The
program PARAMS.PAS (published in Jun./July issue of TUG Lines)
implies that only a few declarations need to be changed in the
BLIST.PAS program. The following declarations should be changed
in the GET_IN_FILE procedure:
Var FNam: String[14];
Parm: String[14] Absolute CSeg:$0081;
ParmLth: Byte Absolute CSeg:$0080;
Existing: Boolean;
San Francisco PC Users Group: S O F T W A R E L I B R A R Y
=================================================================
Volume 158: TURBO PASCAL/4 (programs and utilities -- various authors)
This is a DOUBLE-SIDED diskette.
Index Name Description
158.01 ASYNC .PAS Asynchronous communication routines
158.02 BLIST .PAS TURBO program lister and begin/end counter for CP/M-80
158.03 BLIST .COM ^Compiled
158.04 BLIST .DOC ^Brief documentation
158.05 CRFONTS .PAS Character font creation and editing
158.06 CRFONTS .DOC ^Documentation
158.07 DATETIME.INC Date and time functions
158.08 GETDIR .PAS Get 8-sector, DSDD disk directory -- not TURBO
158.09 HEXCALC .PAS Hexadecimal calculations
158.10 MODEM .PAS Telecommunications program
158.11 PARAMS .PAS Demonstrates getting command line parameters
158.12 PC-DISK .PAS Disk Catalog program -- full-featured
158.13 PC-DISK .COM ^Compiled version
158.14 BYTES .PAS ^Associated program
158.15 PTOOLDAT.INC Pascal TOOLs for DATe manipulation -- very complete
158.16 PTOOLDAT.PAS ^Demonstration
158.17 PTOOLENT.INC Pascal TOOls for record-oriented data ENTry
158.18 PTOOLSCR.INC ^Associated file
158.19 PTOOLENT.DOC ^Documentation
158.20 PTOOLENT.PAS ^Demonstration
158.21 PTOOLSCR.PAS ^Demonstration
158.22 PTOOL1 .BOX Combination of PTOOLDAT, PTOOLENT, and PTOOLSCR
158.23 PTOOLWIN.INC Pascal TOOLs for WINdow management
158.24 PTOOLWIN.DOC ^Documentation
158.25 PTOOLWIN.PAS ^Demo/driver
158.26 RDIBMKBD.INC Procedure to read IBM keyboard -- all keys
158.27 SETCURSR.PAS Set cursor size for monochrome monitor
158.28 TURBO .DOC Various routines -- date/time, hex math, registers
158.29 README .158 YOU ARE READING IT
------------------------------------------------------------------------
Disk No 365 Turbo Pascal #4 v2 DS2
------------------------------------------------------------------------
Collection of routines written in Turbo Pascal for the IBM-pc. BLIST.PAS
and GETDIR.PAS were written for CP/M-80.
ASYNC PAS Asynchronous communication routines
BLIST PAS TURBO program lister and begin/end counter for CP/M-80
BLIST COM Compiled
BLIST DOC Brief documentation
CRFONTS PAS Character font creation and editing
CRFONTS DOC Documentation
DATETIME INC Date and time functions
GETDIR PAS Get 8-sector, DSDD disk directory -- not TURBO
HEXCALC PAS Hexadecimal calculations
MODEM PAS Telecommunications program
PARAMS PAS Demonstrates getting command line parameters
PC-DISK PAS Disk Catalog program -- full-featured
PC-DISK COM Compiled version
BYTES PAS Associated program
PTOOLDAT INC Pascal TOOLs for DATe manipulation -- very complete
PTOOLDAT PAS Demonstration
PTOOLENT INC Pascal TOOls for record-oriented data ENTry
PTOOLSCR INC Associated file
PTOOLENT DOC Documentation
PTOOLENT PAS Demonstration
PTOOLSCR PAS Demonstration
PTOOL1 BOX Combination of PTOOLDAT, PTOOLENT, and PTOOLSCR
PTOOLWIN INC Pascal TOOLs for WINdow management
PTOOLWIN DOC Documentation
PTOOLWIN PAS Demo/driver
RDIBMKBD INC Procedure to read IBM keyboard -- all keys
SETCURSR PAS Set cursor size for monochrome monitor
TURBO DOC Various routines -- date/time, hex math, registers
PC Software Interest Group (PC-SIG)
1030 E Duane, Suite J
Sunnyvale, CA 94086
(408) 730-9291
PTOOLENT.INC Copyright 1984 R D Ostrander Version 1.0
Ostrander Data Services
5437 Honey Manor Dr
Indianapolis IN 46241
This Turbo Pascal include file is a display and data entry tool. It Displays
a given String (or Character Array), Integer, or Real (Dollar) data field
in a given screen area and allows the operator to make changes via the
keyboard. It allows the operator to end the editing using many ending
keys and passes information about those keys to the calling program.
This program has been placed in the Public Domain by the author and copies
may be freely made for non-commercial, demonstration, or evaluation purposes.
Use of these subroutines in a program for sale or for commercial purposes in
a place of business requires a $20 fee be paid to the author at the address
above. Personal non-commercial users may also elect to pay the $20 fee to
encourage further development of this and similar programs. With payment you
will be able to receive update notices, diskettes and printed documentation
of this and other PTOOLs from Ostrander Data Services.
PTOOL, and PTOOLxxx are Copyright Trademarks of Ostrander Data Services.
Turbo Pascal is a Copyright of Borland International Inc.
The Call format for PTOOLENT is:
Set Data <String, Integer, or Real> initial display value.
Set DataType <Char> type of edit.
Set DisplaySize <Integer> number of spaces for display.
Set DisplayDecimals <Integer> for Real numbers only.
Set ReturnCode <Integer> need not be set but must be a variable.
GoToXY (X, Y) to set the Display Area location.
PTOOLENT (Data, DataType, DisplaySize, DisplayDecimals, ReturnCode);
Examples: Var CustomerName : String [24];
ReturnCode : Integer;
Begin
CustomerName := ' ';
Gotoxy (1,1)
PTOOLENT (CustomerName, 'S', 24, 0, ReturnCode);
See companion program PTOOLENT.PAS for further examples.
Note that the DisplaySize must be > DisplayDecimals + 1.
Invalid data and cursor movements cause beeps to the operator.
Editting Keys for use by the operator are:
Left Arrow : Move cursor to left one position
Right Arrow : Move cursor to right one position
Ctrl-Left Arrow : Move cursor to 1st position
Ctrl-Right Arrow : Move cursor to first position past last character
Tab : Move cursor right to next word
Shift-Tab : Move cursor left to previous word
Backspace : Erase character to left of cursor
Del : Erase character under cursor
Ctrl-E : Erase editing area
Ctrl-F : Fill field with character to left of cursor
Ctrl-X : Erase all characters from cursor on
Ctrl-L : Left justify data
Ctrl-R : Right justify data
Ctrl-S : Start Editting over
Ctrl-N or Ctrl-Q : Quit with no change in data
Ctrl-P : Retreive Previous data or Ctrl-E(rased) data
Ctrl-U : Change all data to Upper Case
Ctrl-D : Change all data to Lower Case
Ins : Toggle Insert function on/off
Alt-Numerics may be used to enter character graphics codes
Return codes are:
0 = Esc
1 = C/R or Ctrl-N or Ctrl-Q
2 = (Filled Field)
3 = Ctrl-Break or Ctrl-C (if $C- not set)
16-26, 30-38, 44,50 = Alt-Alphabetics
59-68 = F1 - F10
71 = Home These are the codes returned to the
72 = Up Arrow calling program in the ReturnCode
73 = PgUp field when the operator ends the
79 = End editing by pressing one of these
80 = Down Arrow keys. Other key combinations can
81 = PgDn also cause an end of edit & return
84-93 = Shift F1 - F10 spurious codes. Note that the code
94-103 = Ctrl F1 - F10 of 2 is returned when the operator
104-113 = Alt F1 - F10 enters a character (or space) in
114 = Ctrl-PrtSc the last position of the field.
117 = Ctrl-End
118 = Ctrl-PgDn
119 = Ctrl-Home
132 = Ctrl-PgUp
Now go out and try PTOOLENT and by all means, look at the code of both
PTOOLENT.PAS and PTOOLENT.INC to completely understand how to incorporate
the Ostrander Data Services product into your programs.
Write to find out about other ODS software available that might not be
on this bulletin board.
PTOOLWIN.INC Copyright 1984 R D Ostrander Version 1.0
Ostrander Data Services
5437 Honey Manor Dr
Indianapolis IN 46241
These Turbo Pascal procedures are text window manipulation tools used to ease
the manipulation of Windows in an IBM PC environment. They are used to open
and close windows while saving the data covered by the window. Borders around
windows are also supported.
This program has been placed in the Public Domain by the author and copies
may be freely made for non-commercial, demonstration, or evaluation purposes.
Use of these subroutines in a program for sale or for commercial purposes in
a place of business requires a $20 fee be paid to the author at the address
above. Personal non-commercial users may also elect to pay the $20 fee to
encourage further development of this and similar programs. With payment you
will be able to receive update notices, diskettes and printed documentation
of this and other PTOOLs from Ostrander Data Services.
PTOOL, and PTOOLxxx are Copyright Trademarks of Ostrander Data Services
Turbo Pascal is a Copyright of Borland International Inc.
Procedures available in PTOOLWIN.INC are:
PTWSet (Screen#, X1, Y1, X2, Y2, - Sets up window coordinates so that later
BorderSwitch, references can be made by Mnemonic only.
BackgroundColor, PTWSet must be done once for each window
ForegroundColor) before it is Opened.
The Screen# is a number between 1 and
the maximum number of windows allowable
set in the Constants Block below.
The X and Y Coordinates are the same as
for the Turbo Pascal Window procedure.
A border may be placed around the window
and the size of the window will be
decreased to fit inside the border. The
BorderSwitch functions are:
0 - No border
1 - Single line block graphics border
2 - Double line block graphics border
-1 - Single line Reversed color border
-2 - Double line Reversed color border
The BackgroundColor and ForegroundColor
parameters are the same as for the Turbo
Pascal TextColor and TextBackground
procedures.
PTWOpen (Screen#) - Activates a window (previously set by
PTWSet) and saves the screen covered by
the window.
In the Constants Block following, there
is a parameter that sets the maximum
number of windows that may be open at
any one time.
PTWClose - De-activates the open window, activates
the previous window and restores the
screen covered by the closed window.
Note that the PTWOpen & PTWClose have a
"Push/Pop" type of action.
Constants in the PTOOLWIN.INC file that must be set by the programmer before
compilation are:
PTOOLWIN_Number_of_Windows = 10;
This determines the number of windows that may be set with the
PTWSet procedure. This is easily determined when the calling
program is designed.
PTOOLWIN_Max_Number_Open = 10;
This determines the number of windows that may be open at any one
time. The programmer will want to set this accurately to the maximum
number needed by the calling program since 4006 bytes of memory are
taken for each window that may be opened. This memory is taken in the
data area at compilation time. This was done in order to allow the
calling program the widest possible latitude in design; the stack is
not used for this since running out of memory at execution time would
be very inconvenient.
There is a constant that must be set before the PTWOpen or PTWClose procedures
are called:
PTOOLWIN_Screen_Type : Char = 'C';
If the final program is going to be run on an IBM PC with a Monochrome
video card then this parameter must be set to 'M'. If the PC has
a Color/Graphics card then it must be set to 'C'. This setting may be
done at run time rather than at compile time since the difference that
this parameter makes is whether to store and recall the screen data at
$B8000 (Color Graphics) or $B0000 (Monochrome) via the absolute
variables :
PTOOLWIN_C_Screen : Char absolute $B800:$0000;
PTOOLWIN_M_Screen : Char absolute $B000:$0000;
This may be found in the calling program by using either the
PTEMonoAttached or PTEColorAttached functions found in the PTOOLENV
Environment control.
Volume in drive A has no label
Directory of A:\
ASYNC PAS 12544 2-06-85 2:05a
BLIST COM 9856 12-01-84 12:43a
BLIST DOC 896 12-01-84 12:42a
BLIST PAS 7552 12-01-84 12:45a
BYTES PAS 1292 2-23-85 2:23p
CRFONTS DOC 2944 2-23-85 2:40p
CRFONTS PAS 15744 2-23-85 2:40p
DATETIME INC 2304 11-04-84 11:50p
GETDIR PAS 2304 11-21-84 1:04a
HEXCALC PAS 3584 11-19-84 2:35a
MODEM PAS 17408 2-05-85 2:39a
PARAMS PAS 640 12-01-84 12:43a
PC-DISK COM 33536 2-23-85 2:22p
PC-DISK PAS 38998 2-23-85 2:23p
PTOOL1 BOX 57794 1-01-85 5:05p
PTOOLDAT INC 36352 2-23-85 2:00p
PTOOLDAT PAS 6784 2-23-85 2:00p
PTOOLENT DOC 5248 2-23-85 2:02p
PTOOLENT INC 20864 2-23-85 2:02p
PTOOLENT PAS 6016 2-23-85 2:02p
PTOOLSCR INC 11904 2-23-85 2:03p
PTOOLSCR PAS 3456 2-23-85 2:03p
PTOOLWIN DOC 5760 2-23-85 2:18p
PTOOLWIN INC 11392 2-23-85 2:18p
PTOOLWIN PAS 4352 2-23-85 2:18p
RDIBMKBD INC 1664 2-03-85 10:23p
TURBO DOC 9344 11-17-84 7:03p
SETCURSR PAS 1366 3-08-85 2:48p
FILES TXT 1920 3-25-85 4:30p
FILES365 TXT 1792 5-23-85 4:05p
30 file(s) 335610 bytes
11264 bytes free