Apparatus and method for communicating textual and image information between a host computer and a remote display terminal5235680Abstract A system and method for storing, retrieving displaying, printing and otherwise manipulating color images stored in a central "host" computer from a realtor's remote data terminal includes a host computer which stores and maintains a database containing listings of real estate properties on the market. The host computer also optionally can store image information relating to specific properties. Images can be loaded from remote terminals over telephone lines to the host system on an interactive basis. Images can then be retrieved from the host system, also on an interactive basis, for display, printing, or storage on a storage medium associated with the remote display terminals. Images may also be deleted on an interactive basis from a remote terminal. A specific communications protocol conveys image data between the host computer and remote data terminals. This protocol includes specific "time-out" limitations, CRC error checking schemes, and a specific "handshaking" signalling sequence that must be observed before the host system will permit manipulation of image files. Claims What is claimed is: Description FIELD OF THE INVENTION
______________________________________
Speed Seconds
______________________________________
300 80
1200 40
4800 20
9600 10
______________________________________
In somewhat more detail, display terminal 300 configured for "retrieve only" functions in the preferred embodiment includes a Zenith 158 PC with color graphics (blocks 310, 312, 314), an AT&T VDA card (block 318), a Sony CPD-131 color monitor (block 304), and an optional Panasonic KXP-1091 printer in the preferred embodiment. Both the monitor 304 and the color graphics port are attached to the AT&T VDA card 318 so that the monitor can display either text from the color graphics port or graphics from the AT&T card under software control (thus avoiding the expense of a second pointer). The remote data terminal 300 software includes TTY terminal emulation routines. Provision is made for saving parameters for and accessing 15 different host systems. Once a serial connection is established, the user display terminal 300 is in conversational mode with the host REAL-TRIEVE system 200. When the user wants to retrieve a picture in the database, the photo function (PHO) is requested. After loading the module 226, the host computer 200 sends a special inquiry sequence and awaits a reply that indicates matching software is executing on the remote data terminal 300. Then the module 226 prompts the user for a listing number. The user's response is verified against the text database and is rejected if the requested listing is not found. Otherwise, host 200 sends the three portions of the photo listing--brief text ("mini-listing"), picture, and full listing text--each delimited by a special sequence (as will be explained shortly). At the remote data terminal 300, when the software receives the special start brief text sequence it switches the monitor from color graphics text to the VDA graphics mode. The mini-listing text is displayed on the lower half of the graphics screen. Then, as each block of the picture is received, it is painted on the upper left quadrant of the screen while the next block is being received. The full listing text following the picture is painted in the internal memory of color graphics text card 318, but the monitor 304 is left in VDA graphics mode. The user can use the keyboard to switch between the two display modes. If additional pictures are available, the user may request host 200 to send them one at a time. Additional functionality is provided at the remote data terminal 300 with extensions to the TTY terminal emulation. A four page buffer is maintained that permits the user to view text that has scrolled off the screen. Users can save text in a file or print it as it is received on the communications link. The last received mini-listing text, photo, and full listing can also be added to a local database stored on terminal disk 312 if desired. In an off-line mode both the text and the photos that have been saved can be reviewed and printed. USER DISPLAY TERMINAL ENVIRONMENT The user interface includes two logical screens --a conversational screen and a graphics screen. In a dual monitor environment, the logical screens may actually be displayed on two separate monitors. In a single monitor environment, the user can flip back and forth between the two logical screens by pressing a "hot key" (e.g., F10). Access by users to the functions which manipulate image files is controlled by the standard function validation mask in a user's Terminal Control File. This is the same security mechanism used for all other online functions (e.g. add new listing) in the preferred embodiment. (A) Retrieving a Photo (PHO) To retrieve an image, the user connects to the Realtrieve online host system 200 in the standard fashion. The MLS listings are searched for probable matches using the Search Listing (SL) function. The MLS number is used to display additional information using the Print Listing (PL) or Full Listing (FUL) functions. Once the selections have been narrowed a color photo can be displayed using the Photo function (PHO) as shown: ##STR1## A `What Are You` probe is sent to the user's display terminal 300 to verify that the display terminal has the appropriate photo display or capture capability. If the terminal does not respond to the probe (or responds incorrectly), the function is terminated. If the probe is successful, the user is prompted for the MLS number: ##STR2## The MLS number is validated by host system 200. Host system 200 then transmits digital data representing the "Mini-Form" of the property listing text (40 columns by 9 lines) for display on the bottom of the display terminal graphics screen (as will be discussed shortly, the "mini-form" is a synopsis of the full property listing text which includes current information from the MLS database). Different colors are used to highlight the data portions of the Mini-Form in the preferred embodiment: ##STR3## Following this display, the digitized photo is transmitted for display in the upper left portion of the graphics screen. Immediately after the photo is transmitted, the host system 300 automatically executes the "PFL" function to display a full listing on the conversational screen: ##STR4## If multiple photos are stored for the listing, the user is asked whether additional photos should be transmitted. In a single monitor environment, the user will see this prompt when flips from the graphics screen to the conversational screen. Subsequent photos are successively displayed in the upper left-hand quadrant of the graphics screen. Note that the full listing data appears only after the first photo: ##STR5## When no more photos remain, the user is prompted for the next MLS number and the process repeats. The user can "escape" to the "function level" at any time as shown: ##STR6## (B) Adding a Photo (SPH) The process of adding a new photo to the database follows a similar format using the two logical screens. Once again, the user gains access to the Realtrieve online host system 200 and invokes the Add (store) Photo function (SPH) as shown: ##STR7## A `What Are You?` probe is sent to the user's terminal 300 to verify that the display terminal has graphics capture capability. The terminal 300 responds to this probe with display terminal profile information indicating whether the terminal has capture capability. If the terminal does not respond to the probe (or responds incorrectly), the function is terminated. If the probe is successful the user is prompted for the MLS number: ##STR8## Host 200 determines whether the requested listing number is stored on host disk 206 in the MLS database before a photo can be added. The address of the listing is then read from the MLS database stored on disk 206 by host 200, transmitted from the host to display terminal 300, and displayed for verification by the display terminal. Any information about existing photos is also shown. The user is then asked to assign a photo number. If the photo number chosen already exists, the previous photo is replaced. Otherwise, the new photo is added to the database. The first photo is normally assigned number of one (1). A photo number of zero will cancel to process and return to the `Listing number?` prompt. The following shows the text and graphics screens during the exchange of information set forth above. ##STR9## At this point, control is turned over to the display terminal 300 to scan the photo (i.e., the terminal becomes the "master" and the host becomes the "slave"). When the photo has been successfully scanned and the resulting digital data signals have been data-compressed using conventional digital data reduction techniques, the data is transmitted to the host 200 and added to the photo database stored on disk 206. Any errors will be displayed on the display terminal conversational screen. If the process is successful, a positive acknowledgement will be displayed as shown: ##STR10## A second photo for the same listing is added by entering the MLS number, checking the validation information and then specifying a new photo number as shown: ##STR11## The second photo is scanned and transmitted. A positive acknowledgement is received. If there are no more photos to be added the user escapes to the `Function?` prompt as shown: ##STR12## HOST ENVIRONMENT As mentioned previously, the Phototrieve product exists on host system 200 as two RSX-11M task images. These are: 1) PHOTO-TO-FILE Module 226: Transmits a photo from a temporary sequential photo file over a dial up line to the remote user, receives a photo file from a remote user over a dial-up line and stores it in a dynamic region, and/or deletes a previously stored specific photo; and 2) PFM - Photo File Manager 231: Adds photos to the Photo File from a dynamic region copies photos from the photo file to a dynamic region, or deletes photos in the photo file on requests from SPH module 226 transmitted via "send blocks.". PHOTO-FILE module 226 is activated by the SIGNON task in response to the PHO, SPH, or DPH commands. PFM 231 is active all the time but is stopped waiting for a send packet from task 226. When module 226 requires the services of PFM 231, it issues a send block and then "unstops" PFM--after which it attempts to read a return send block. On completion of the requested service, PFM task 231 issues a send block and in turn "unstops" the requestor task. The operation of "send block" on PDP-11 systems is well understood by those skilled in the art. The operation of these programs in response to the various user commands is described in the sections below. Display Photo Command (PHO) This command is used to retrieve a specified photo from the host photo file. When the command is entered, the SIGNON task activates the PHOTO-FILE task 226. The following sequence of steps is then performed by host 200: "PHO"--Retrieve Photo Task, module 226 Send identification request ESC.sub.-- DIS escape sequence to user terminal. If ESC-PC escape sequence response not received, print error message on user terminal and return to "sign-on" to issue "FUNCTION" prompt. Prompt user for list number. Verify existence of listing in master file. Build `inquire` send block containing the list number and send it to PFM module 231. Wait for response send block from PFM. PFM--Photo File Manager Task 231 Receive send block and decodes `inquire` command. Get list number from send block, and searches photo file for all photos for the specified listing. Build a photo mask with bits set corresponding to each existing photo. Returns send block to module 226. PHO--Retrieve Photo Task, module 226 Receive the send block and examine photo mask If no photos exist: Send message to that effect to the user terminal Return to the `list number` prompt. Send message to user terminal indicating which photo numbers exist in the photo file. Send ESC.sub.-- PML escape sequence to signal start of mini-listing. Generate mini-listing and transmit it to display terminal with color control codes embedded in the text. Send ESC-ASY escape sequence to signal return to asynchronous mode. Build a `get` send block requesting the first photo Send the send block to PFM PFM--Photo File Manager 231 Receive the send block and decode `get` command. Get specified photo data from file and store it in a dynamic region 235. Return send block to module 226 with dynamic region identifier in it. PHO--Retrieve Photo Task, module 226 Attache to dynamic region Send ESC.sub.-- PHO escape sequence to signal blocked protocol. Enter the protocol mode as "master" and transmit the photo data to the display terminal 300 (which acts as "slave." Send ESC.sub.-- ASY escape sequence to signal return to asynchronous mode. Delete the dynamic region 235. Automatically execute "PFL" function to print the listing data (Note that this occurs only after the first photo is transmitted) If any more photos exist Ask user if next photo should be displayed If so, build `get` send block requesting next photo from PFM and repeat the sequence. If not, return to `list number` prompt.--[esc] character Add Photo Command (SPH) This command is entered to transmit a photo from the display terminal 300 to the host 200 and add it to the photo database. When the command is entered, the SIGNON task module 225 activates the PHOTO-FILE task module 226. The following sequence of steps are then performed: DPH--Add Photo Task, module 226 Decode `add` command from SIGNON Send identification request ESC.sub.-- CAP escape sequence to user terminal. If not ESC-PC escape sequence response Print error message on user terminal and return to SIGNON to issue `function` prompt. Build `inquire` send block containing the list number and send it to PFM 231. Wait for response send block from PFM module 231 PFM--Photo File Manager Task 231 Receive send block and decodes `inquire` command. Get list number from send block and search disk 208 for all photos for the specified listing. Build a photo mask with bits set corresponding to each existing photo. Return send block to module 226. DPH--Add Photo Task, module 226 Receive the send block and examine photo mask Send message to user terminal indicating the numbers of all existing photos. Ask user terminal for number of photo to be added or replaced. If the number entered is the number of an already existing photo, the existing one will be replaced. If the number entered does not already exist, a new photo will be added. Send ESC-APH escape sequence to signal blocked data protocol to transmit photo from display terminal to host. Send 11 character photo identifier--nine character list number plus 2 ASCII character photo number (decimal). Enter protocol as "slave" and receive the photo data. Send ESC-ASY escape sequence to signal return to asynchronous mode. On completion of photo data transfer, build a send block containing a region identifier for the dynamic n. If photo number already exists, put `replace` command in send block. If photo number is new, put `add` command in send block. Send block to PFM module 231 PFM--Photo File Manager 231 Receive the send block and decode command. If `replace` command Delete the existing photo from photo file. If `add` or `replace` command Add the new photo file to disk 208 database. Return send block to module 226 with success status. DPH--Add Photo Task, module 226 Delete the dynamic region 233. Print success or fail message on user terminal depending on status returned from PFM 231. Return to `list number` prompt. User returns to `function` prompt by typing [esc] character. Delete Photo Command (DPH) This command is entered to delete a specified photo from the host photo file database stored on disk 208. When host computer 200 receives the command DPH, the SIGNON task 225 activates the task module 226. The following sequence of steps are then performed by host computer 200. DPH--Delete Photo Task, module 226 Decode `delete` command from SIGNON Send identification request ESC.sub.-- CAP escape sequence to user terminal. If not ESC-PC escape sequence response return to SIGNON task 225 to issue `function` prompt. Build `inquire` send block containing the list number and send it to PFM module 231. Wait for response send block from PFM 231 PFM--Photo File Manager Task 231 Receive send block and decodes `inquire` command. Get list number from send block and searches photo file for all photos for the specified listing. Build a photo mask with bits set corresponding to each existing photo. Return send block to module 226. DPH--Delete Photo Task 226 Receive the send block and examines photo mask If no photos exist Send message to that effect to the user terminal Return to the `list number` prompt. Send message to user terminal indicating which photo numbers exist in the photo file. Prompt user for number of photo to delete. Build a `delete` send block with the specified photo number. Send send block to PFM 231 PFM--Photo File Manager 231 Receive the send block and decode `delete` command. Delete the existing photo from disk 208. Return send block to module 226 with status. DPH--Delete Photo Task, module 226 Print success or fail message to user terminal depending on status from PFM module 231. If any more photos exist Prompt user terminal for number of next photo to delete If number entered, loop back to build `delete` send block and repeat sequence. If either [ESC] or [CR] only entered return to `list number` prompt. User returns to `function` prompt by typing ESC] character. COMMUNICATIONS BETWEEN MODULES 226, 231 Communications between PHOTO-FILE module 226 and PFM module 231 are via 13 word "send blocks." When module 226 wishes to access the photo file manager module 231 services to obtain or store a photo (image file), it notifies PFM 231 of its requests via a send block. After completion of the service, PFM 231 returns a send block to module with the requested data, or in the case of a photo, with the file id of an image file. Communications of command in function between PFM 231 and module 226 in accordance with the following send block format:
______________________________________
Send Block Format
Bytes Definition
______________________________________
2 Command (explained below)
2 Status (Complete Status)
9 9 Char List No (List and photo
number to be stored
or retrieved)
1 Photo No.
2 Photo Mask (Flags present
photos)
4 Four byte (Region Identifier)
Region id
4 Unused
2 Two byte TID (Terminal ID)
______________________________________
Commands in first field are selected from the following:
______________________________________
* ADD Add a photo to the photo file
* DELETE Delete a photo from the photo file
* REPLACE Replace an existing photo in the file
* INQUIRE Search for all photos for a listing
* GET Retrieve a photo from the file
* NEXT Return next list number for which
photos exist in the photo file.
______________________________________
PHOTO FILE FORMAT The photo file used in the preferred embodiment is an Indexed RMS variable length record file with a single key and a bucket size of 1k-2k bytes. The data representing each image is divided into one or more photo segments (records), each of which is sized to fit into a `bucket` of the RMS file--these segments corresponding to the lines of data packets transmitted in blocked data protocol. Each photo can have a maximum length of 254 segments. The file key used in the preferred embodiment is an eleven character field consisting of a nine character list number, a one character photo number, and one character photo segment number. The list number is the MLS listing number of the property corresponding to the image. The photo number is an arbitrary value between 1 and 16 which is assigned by the user when the photo is submitted for storage. Once the photo number is assigned, it cannot be changed in the preferred embodiment. Photos are always stored in the photo file in order of increasing photo number. Photos may be retrieved by photo number, or they may be retrieved sequentially in order of photo number. In the latter case, the photo number affects the order of retrieval of photos from the file. The segment number portion of the record key is one (1) for the first segment of each photo and is incremented for each photo segment. This method provides each record (photo segment) with a unique key. Each record, or segment, of the photo file has the key field described above at the beginning of the file record header before it is written to the file. The record header is removed on retrieval before transmission of the photo to the display terminal. FIG. 7 is a schematic diagram of a typical image file record format. PHOTO-FILE MAINTENANCE A photo deletion utility task (which may be run periodically via an "MCR" command issued on host computer 200) scans the photo file and compare list numbers found there with list numbers contained in the master list file. Any photos for listings which do not appear in the master list file are automatically deleted from the photo file. This utility uses PFM module 231 services for all access to the photo file--since in the preferred embodiment, access to image files stored on disk 208 is strictly limited to the PFM module in order to prevent conflicting operations from being performed on individual files--and also to permit this routine maintenance utility to be run on line without affecting normal photo file access. As list numbers and their accompanying photos are deleted, the disk 208 space remains dedicated to original list numbers (keys) while at the same time new list photos with higher list numbers will cause files to be extended. Files therefore need to be compressed periodically to ensure that all images relating to a particular listing are stored contiguously on disk 208 (and thereby decrease disk access time). File compression can be performed using standard host RMS operating system utilities to compress the file. In order to compress files, unused disk space equal to the size of the input files are required on the disk. User access to the photo files is denied by the host software while this compression process is in progress. MINI-LISTING The `Mini-Listing` described in this section refers to an abbreviated version of the Print Full Listing (PFL) used for display on the color graphics terminals having a 40 column output restriction. Mini-listings have a 9 line limit--allowing then to be displayed concurrently with the color photos. The first line of the Mini-Listing in the preferred embodiment displays the current list price (LP), selling price (SP) and listing status (ST e.g., NEW, ACTV, SOLD) taken from the Master Multiple listing service record corresponding to the property of interest. This is similar to the current Print Full Listing function. Mini-Listing formats will be defined using the "EasyEntry" forms editor (EASYED) as is currently done for the full listing forms. An additional definition file defines a subset of fields to be extracted from the full listing record for display in the Mini-Listing. When the Mini-Listing is displayed as part of the photo retrieval function (PHO), additional color control characters are inserted in the output stream in the preferred embodiment, allowing the variable data and the background form to be highlighted in different colors. The Mini-Listing is displayed as part of the photo retrieval function (PHO). The existing Print Full Listing shared code already in use by REAL-TRIEVE to generate full listing formats is used, with the following modifications, for generation of mini listing formats: A custom PRINTLIST definition (with a 40 column limit) is used for the first line to display the list price (LP), selling price (SP) and listing status (ST). Special color control codes are inserted in the output stream. The control character COLOR.sub.-- BKGRND precedes each background or fixed portion of the text. The control character COLOR.sub.-- DATA precedes each data or variable portion of the text. The existing code for `vectored data` is used to selectively display portions of the full listing record. This allows selection of any incorporation of the selected fields into the mini listing format in any desired order rather than displaying the data as a sequential stream (as is done for PFL). PROTOCOL OF COMMUNICATIONS BETWEEN THE HOST AND THE DISPLAY TERMINAL Communication between the host computer 200 and the display terminal 300 occurs at two levels-- the command level and the data transmission level. All user commands and response messages from the host 200 occur at the command level. Photo data transmission occurs at the data transmission level. To move from the command level to the data transmission level, one of two escape sequences--to indicate direction of pending data transfer--is transmitted by the host 200 to the display terminal 00. On completion of the photo data transmission, and following the normal exit from the transmission level protocol, an additional escape sequence is transmitted by the host to insure that both sides of the line remain in sync--that is, that both the host and the display terminal recognize the return to command level protocol. Each of the escape sequences is transmitted by the host to the display terminal in the preferred embodiment--none are transmitted by the terminal to the host. The command level protocol used in the preferred embodiment is a conventional asynchronous terminal character protocol. Image data transmission protocol is based on the ANSI X3.28 blocked data protocol. After a user has inputted a photo command at a display terminal 300, and when the picture data is to be transmitted, the host 200 sends one of two escape sequences (to indicate photo transmission or reception) to the display terminal directing it to enter the blocked data protocol. When picture data transmission is completed, the blocked data prococol is exited as provided for in the protocol, after which the host sends a `protocol exit` escape sequence to insure that both side recognize the return to the command level. While the blocked data protocol used by the preferred embodiment is based on the ANSI X3.28 protocol, there are some significant differences. For example, the two bytes of checksum data are never allowed to be control character codes in the preferred embodiment. If the low order 7 bits of either checksum byte represent any control characters (i.e., less than 40 octal), an octal 100 is ORed with the byte both at the transmitting side before transmission of the CRC and at the receiving side after computation of the CRC and before the receiver checks CRC. This convention prevents CRC error checking information from being confused with reserved control character information. An additional restriction placed on the transmitted data is that appearance of the following control characters in the data stream must be restricted. S,Q,E--Control S, Q or E (octal 23, 21, 05)--DC3 and DC1 These characters are reserved to allow for flow control by any status multiplexers which may be in the data path. Note that this convention is observed without regard to the high order bits of eight bit characters. That is, each character really represents two eight bit values. For example, "control S" implies both 023 and 223 octal. P--Cohtrol P (octal 20)--DLE For efficiency of the host 200 input, this character should only appear as a part of the TSTX and TETX (Transparent start and end of text) sequences. This character causes termination of a data read request by the host 200. Thus, appearance of this character in the binary data stream transmitted from the display terminal 300 to the host 200 causes the termination and reissuance of a read request, resulting in several reads being issued by the host to read a single block of data. While such repeated read requests do not seriously disrupt system operation, they do decrease the efficiency with which the host 200 handles input signals and therefore decrease overall system throughput. Display Terminal Escape Character The character selected by the display terminal 300 to escape or flag the encoding of the above characters in the data must itself, of course, be escaped. That is, if `esc` is the escape character selected, then an `esc` in the data must be transmitted as `esc` `esc`. The above characters, wherever they appear in the photo data, must be encoded by the display terminal 300 transmission of photo data to the host and be decoded again by the display terminal on retrieval of the data again for display. The method of encoding and decoding these characters is entirely at the discretion of the display terminal software since they are treated transparently by the host 200--that is, they are stored in the photo file and returned back to the display terminal 300 exactly as originally encoded by the display terminal. Storage of encoded data without interpretation by the host implies that on retrieval of the data by the same or different display terminal 300, it is possible that the escape character used to flag the encoded character--which should not be the DLE character--could be the last character in one record and the encoded character itself may be the first character in the next record. An exemplary communication between host 200 and a display terminal 300 using the ANSI X3.28 protocol is described pictorially as follows.
______________________________________
Host Display Terminal
1) Host is ready to enter protocol to
transmit/receive photo data
[ESC] `sequence` .fwdarw.
where `sequence` is:
ESC SPH to receive data (causes the display
terminal to become the master in the following
exchanges), or
ESC PHO to transmit data - (causes the host to
become the "master" in the following exchanges).
2) Connect Phase
Master Slave
ENQ .fwdarw.
.rarw.
ACK0
3) Data Transmission
The following sequence of `Data Packet`
followed by `ACKx` response is repeated until
all data has been transmitted. ACK0 and ACK1
are alternated on successive packets to allow
the master to detect a missed packet.
Master Slave
Data Packet .fwdarw.
.rarw.
ACK1/ACK0
`Data Packet` has the following format in the
preferred embodiment:
[DLE] [STX] [1-256 data characters] [DLE]
[ETX] [2 byte CRC]
where
"DLE" is the "protocol escape" character, "STX"
is the start of the XL (hereafter, "ETX" is the
"end of text" character, and CPC is checksum data.
In the event the receiving unit detects a CRC
error in the received data, the "slave" responds
with `NAK` (not acknowledge) instead of `ACKx` and
the "master" retransmits the incorrectly received
block. Provision is also made for the "slave" to
respond with an `abort` response in which case the
"master" stops transmitting picture data, exits the
blocked data protocol, and returns to command level.
(4) Termination Phase
Master Slave
[DLE] [EOT] .fwdarw.
On transmission by the master and reception by
the slave of this end of transmission sequence,
each returns to character asynchronous (command
level) protocol.
Host Display Terminal
ESC ASY .fwdarw.
The following escape sequence from host 200 to
display terminal 300 flags the end of the
blocked data protocol and the return to the
asynchronous protocol.
______________________________________
MENU AND COMMAND STRUCTURE System 100 has been designed to be a "user friendly" environment so make it easier for a user of remote display terminals 300 to perform image related tasks. Accordingly, system software is "menu driven" with menus organized in a hierarchical structure. FIG. 6 is a schematic diagram of the hierarchical user menu structure of the preferred embodiment. The following are detailed examples of the preferred embodiment menu formats and command options shown in FIG. 6, along with a summary of the steps performed by system 100 in response to selection of menu options.
______________________________________
PROGRAM INITIALIZATION
Install printer driver from
East Coast Software for
graphics
Install routines from Blaise for
serial port interrupt handling
Install clock and error
interrupt handling routines
using routines from Blaise for
interrupt replacement
Set up memory buffer space
using routines from Blaise for
memory management
Initialize AT&T VDA board
using routines from AT&T for
graphics
Initialize text graphics adapter
using routines from Blaise for
screen management
Setup the base communications
and terminal parameters using
default settings from the
PTERM.CFG parameter file
on the drive in the directory
where the program was found
Display the main menu and
Routines for text display
accept user input using routines
use routines from Blaise that
(pg 3) actually paint the screen;
routines for user input use
routines from Blaise that
actually retrieve the keystrokes
USER INPUT SCREEN
User input screens are used
The screen presents a prompt
throughout the system where
defining the type of input re-
choices for a variable cannot
quired and a window sized to the
be presented sequentially
maximum characters permitted
and containing the current value
of the prompted variable with the
cursor placed at the end of that
value; some variables are
restricted to text only input and
others permit any 8 bit value
generated by the keyboard; 3
special key sequences are
supplied
Cancel Exits the input screen leaving the
value of the prompted variable
set as it was when the screen was
entered
Backspace key Erase the previous character and
back up the cursor
Return Validate and set the variable to
the value in the window
FILE SELECTION SCREEN
File selection screens are
The screen presents a list of the
used throughout the system
file names with the current
to let the user view and
selection highlighted in reverse
select from a number of names
video; the selection is changed by
moving the highlight with the
cursor keys; various operations
can be performed by selecting
the appropriate function key as
defined with that screen
______________________________________
C1:Main Menu: local Photo-Term.TM. Copyright 1986 by Moore, Data Management Services Division <F1> Exit to DOS <F2> Change setup <F3> Format data disk <F4> <F5> <F6> <F7> Display text <F8> Display photos <F9> Select setup **DEFAULT** <F10> Call the host computer Press the appropriate function key to make your selection. F1--Exit to DOS: Pressing F1 returns your monitor screen to the DOS C>prompt. F2--Change setup: Pressing F2 takes you to an input screen which asks you to enter a password. Only an authorized user can change the terminal and communications setup. F3--Format data disk: Pressing F3 enables you to prepare a brand new floppy disk for use. By pressing F3 you get a message to place a floppy disk in a designated drive (usually drive B). A floppy disk, once placed in the drive, is formatted for use by your computer. Use caution in formatting used floppy disks, as all files will be erased. F7--Display text: Pressing F7 displays a menu that permits you to select a text file and display or print text that has been stored on your computer. F8--Display photos: Pressing F8 displays a menu that permits you to select a photo file and display or print photos that have been stored on your computer. F9--Select setup: Pressing F9 selects the setup for your terminal and communications that is used when F10 is pressed to contact your host computer. F10--Call the host computer: Pressing F10 initiates steps which cause your computer to communicate with the host computer on which the Real-Trieve information system is available.
______________________________________
MAIN MENU
______________________________________
Exit to DOS Reset AT&T VDA board using
routines from AT&T for graphics;
reset text board using routines
from Blaise for screen management;
restore original clock and error
routines using routines from Blaise
for interrupt management; free
memory buffers using routines from
Blaise for memory management
Change setup Execute password checking with a
user input screen prompting for the
password; display communications
and terminal setup menu with current
parameters and accept user input
(pg 4)
Format data disk
Verify that data disk is not hard disk
or program disk; call DOS format
command using routine from Blaise
for calling DOS commands
Display text Open default text file; display first
text screen and accept user input
(pg 7)
Display photo Open default photo index file; display
user selection screen with photo
names and accept user input (pg 8)
Select setup Recall next set of stored parameters
making them current
Call host system
Initialize the serial port using routines
from Blaise for serial communi-
cations; place modem dialing prefix
and telephone number in the output
buffer; display the on-line communi-
cations screen and accept user input
(pg 10)
______________________________________
C2: System Communications & Terminal Setup: local System Communications & Terminal Setup <F1> Exit to main menu <F2> Change terminal setup <F3> Prefix string for autodial . . . <F4> Phone number string for autodial . . . <F5> Hangup string for autodial . . . <F6> Answerback string ** HIDDEN ** <F7> Com port number (serial port) .sub.-- <F8> Speed (baud rate) . . . <F9> Select setup . . . <F10> Save communications setup Press the appropriate function key to make you selection.
______________________________________
COMMUNICATIONS & TERMINAL SETUP MENU
______________________________________
Exit to main menu
Display main menu and accept user
input
Change terminal setup
Display terminal setup menu with
terminal parameters and accept
user input (pg 6)
Prefix string for autodial
Display user input screen prompting for
modem setup commands and accept user
input; set current prefix to user input
Phone number string
Display user input screen prompting for
telephone number and accept user
input; set current phone number to user
input
Hangup string for auto-
Display user input screen prompting for
dial modem hangup commands and accept
user input; set current hangup to user
input
Answerback string
Display user input screen without
current value, prompting for new
answerback and accept user input; set
current answerback to user input
Com port number
Switch current port between port 1 or 2
Speed Set current speed to next speed in cycle
(300, 1200, 2400, 4800, 9600)
Select setup Recall next set of stored parameters
making them current
Save communications
Display selection screen with names of
setup all currently saved setups; the
following functions are available:
Exit-Display communications and
terminal setup menu
Erase-Remove the highlighted entry
and rewrite the PTERM.CFG file
Default-mark the highlighted entry as
the default one to use when the pro-
gram starts and rewrite the
PTERM.CFG file
Rename-display the user input screen
prompting for a replacement name for
the highlighted entry; rewrite the
PTERM.CFG file
Replace-take the current values and use
them to replace the values of the
highlighted entry; rewrite the
PTERM.CFG file
Add-display the user input screen
prompting for a new name for an
additional entry; rewrite the
PTERM.CFG file
______________________________________
C3: System Terminal Setup: local System Terminal Setup <F1> Exit to communications menu <F2> Separate photo monitor.sub.-- <F3> Printer port.sub.-- <F4> Printer type . . . <F5> Printed photo size.sub.-- <F6> Photo print sequence . . . <F7> Data drive.sub.-- <F8> Data path . . . <F9> Set password . . . <F10> Save terminal setup and exit Press the appropriate function key to make your selection.
______________________________________
TERMINAL SETUP MENU
______________________________________
Exit to commmunica-
Redisplay communications and terminal
tions menu setup menu with current parameters and
accept user input
Separate graphics
Switch between yes or no 2nd monitor
monitor
Printer port Cycle to next printer port (1, 2, 3)
Printer type Cycle to next printer type (as
supported by driver from East Coast
Software)
Printed photo size
Cycle to next photo size (1-9 as
supported by driver from East Coast
Software)
Photo print sequence
Display user input screen prompting
for P-photo, B-brief text, L-full
listing text, and F-form feed to
specify which elements and sequence
are to be printed for the print photo
command; set photo print sequence to
user input
Data drive Cycle to next data drive (A-F) for use
when saving text or photos or when
formatting a data disk
Data path Display user input screen prompting for
a pathname to use when saving text or
photos; set data path to user input
Set password Display user input screen without
previous value, prompting for the
password used to control access to
the setup menus; set password to user
input
Save terminal setup and
Save the current terminal setup and
exit rewrite the PTERM.CFG file; display
the communications and terminal setup
menu
______________________________________
C4: Display Text: local
__________________________________________________________________________
Do you want the next photo? (y/n): N
LISTING NUMBER(S)? 17773
Photos currently on file: 1, 2, 3, 4, 5
Photo 1 plotted.
INFORMATION IS DEEMED RELIABLE BUT NOT WARRANTED
<<< L-$73,500
S- >>>
Add: WILDWOOD WEST, CHARLOTTE
Area 02 $ 73500
Sign Y MLS# 0017773
Directions RTE 7 SOUTH, 1ST R AFTER WILDFLOWER FARM, 1ST LEFT, 2ND HOUSE
ON
LEFT House size 28.times.46
Style RANCH
Lot sz.F 175 1A+ - Deed V. 41 P. 528 Apx.Sq.Ft. 1300
Color GREEN
Rms Appx.Sz.
B 1 2 Rms Appx.Sz.
B 1 2 Fin.Bsmt UNFIN
Flrs HW/INLAID
LR 15.times.18
X Ba 1,1/2MBR X Est.Age 10+-
Walls SR
DR 12.5.times.10.7
X BdR
15.5.times.11.9
X Constr. WF
Pch/Deck 4.times.10.4
Kit
13.3.times.8.6
X BdR
11.5.times.12.9JO
X Fnd.Wls PC
St.Win THERMAL
Kit
w/ ROHF,DW,DSS,RE
BdR
11.6.times.10.6
X Siding MASONITE
Fpl LR W/S BSMT
Fr Roof AS Typ Heat ELEC/WD
Gar:
2 Att/Det/Und ATT Tot.Rms 5 Tot.BdR 3
Water COMM
HtWtr ELEC O/R
Remarks: RANGE,RED, NEW. WS, WOOD, TV ANTEN
Sewer SEPTIC
Gas/Oil Co
,DRAPES ALL STAY. BSMT GOOD HGT FOR FINISHI
DrvWy GRAVEL
Elect.Co GMP
NG,BUILT IN CHINA, HW FLOORS,APPROX $100*
Zoning RES
1>EXIT 3>PRT FILE 4>BGN FILE 5>SEL FILE 8>1/2 PAGE 9>BUF 10>NXT
__________________________________________________________________________
PAGE
C5: Select Text File: local PTERM MORETXT Use cursor keys to choose an existing text file. <F1> Cancel <F9> Erase highlighted text file <F10> Use highlighted text file Press the appropriate function key to make your selection. C6: Display Buffer
__________________________________________________________________________
INFORMATION IS DEEMED RELIABLE BUT NOT WARRANTED
<<< L-$73,500
S- >>>
Add: WILDWOOD WEST, CHARLOTTE
Area 02 $ 73500
Sign Y MLS# 0017773
Directions RTE 7 SOUTH, 1ST R AFTER WILDFLOWER FARM, 1ST LEFT, 2ND HOUSE
ON
LEFT House size 28.times.46
Style RANCH
Lot sz.F 175 1A+ - Deed V. 41 P. 528 Apx.Sq.Ft. 1300
Color GREEN
Rms Appx.Sz.
B 1 2 Rms Appx.Sz.
B 1 2 Fin.Bsmt UNFIN
Flrs HW/INLAID
LR 15.times.18
X Ba 1,1/2MBR X Est.Age 10+-
Walls SR
DR 12.5.times.10.7
X BdR
15.5.times.11.9
X Constr. WF
Pch/Deck 4.times.10.4
Kit
13.3.times.8.6
X BdR
11.5.times.12.9JO
X Fnd.Wls PC
St.Win THERMAL
Kit
w/ ROHF,DW,DSS,RE
BdR
11.6.times.10.6
X Siding MASONITE
Fpl LR W/S BSMT
Fr Roof AS Typ Heat ELEC/WD
Gar:
2 Att/Det/Und ATT Tot.Rms 5 Tot.BdR 3
Water COMM
HtWtr ELEC O/R
Remarks: RANGE,RED, NEW. WS, WOOD, TV ANTEN
Sewer SEPTIC
Gas/Oil Co
,DRAPES ALL STAY. BSMT GOOD HGT FOR FINISHI
DrvWy GRAVEL
Elect.Co GMP
NG,BUILT IN CHINA, HW FLOORS,APPROX $100*
Zoning RES
1>CANCEL Use cursor keys to move forward and backward.
__________________________________________________________________________
C7: Display Photo: local PHOTO2 PHOTO1 Use cursor keys to choose a photo. <F1> Exit to main menu <F2> Erase highlighted photo <F3> Mark highlighted photo for moving <F6> Photo print <F7> Display highlighted photo <F8> Select another photo file <F9> View buffer with full listing <F10> Switch to photo
______________________________________
DISPLAY PHOTO
______________________________________
Photo selection
Display a user selection screen with the
screen names of the photos saved in the index
file PTERM.PDX on the data drive in the
directory path specified in the terminal
setup; the following functions are
available:
Cancel Display the main menu and accept user
input
Erase Remove the highlighted entry from the
index; delete the file with the data for
the highlighted entry; rewrite the index
file
Mark photo Note the currently highlighted entry as
marked; enable the move marked function,
if the move marked photo function is not
the next function selected, cancel the
mark and disable the move marked photo
function
Move marked
Adjust the index pointers so that the
photo marked entry is placed ahead of the
highlighted entry in the display order
of the index; display the new index
order
Print photo
If a photo has been displayed, print the
last photo displayed (using the printer
driver from East Coast Software), brief
text buffer, full text buffer, and form
feeds as specified in the terminal setup
Display photo
Reads the file pointed to by the
highlighted entry into the photo buffer,
brief text buffer, and full text buffer,
switch the AT&T VDA board to graphics
mode using a routine from AT&T; paint
the brief text buffer on the VDA board
using routines to control placement and
routines from AT&T to actually paint the
characters; pass the photo buffer data
to a routine from AT&T for decoding and
painting on the graphics screen in
alternating upper quadrants so that two
photos are displayed simultaneously
Select photo file
Display a user selection screen with all
the .PDX file names on the data drive in
the directory path specified in the
terminal setup; let the user select the
following functions:
Cancel-display the main menu and accept
user input
Erase-delete the highlighted index file
and all photo data files pointed to by
that index and redisplay remaining index
file names
Use-display a user selection screen with
the names of the photos saved in the
.PDX index file of the highlighted name
on the data drive in the directory path
specified in the terminal setup
View buffer
Copy the contents of the full text
buffer to the multi-page buffer; display
the last 24 lines of the multipage
buffer; permit the use of the cursor
keys to display the lines in the
multi-page buffer and the cancel
function to display the photo name user
selection screen
Print photo
If a photo has been displayed, print the
last photo displayed (using the East
Coast Software printer driver), brief
text buffer, full text buffer, and form
feeds as specified in the terminal setup
Switch to photo
Switch the AT&T VDA board to display
graphics using a routine from AT&T;
while graphics are displayed keyboard
input is disabled except for the PH PRT
(Print photo) and BUF (View buffer)
functions plus a NEXT PHOTO function
that advances to the next index entry
before executing the Display photo
function and a MENU function that
switches the AT&T board back to display
the photo name user selection screen
using a routine from AT&T
______________________________________
C8: Select Photo File: local PTERM BARB User cursor keys to choose an existing photo file. <F1> Cancel <F9> Erase highlighted photo file <F10> Use highlighted photo file Press the appropriate function key to make your selection
______________________________________
ON-LINE COMMUNICATIONS
______________________________________
Received The serial communications routines from
communications
Blaise handle a received character by
interrupting the current activity and
placing the character in the input
buffer
Keyboard input
Hardware routines handle a keystroke by
placing a scan code into a keyboard
buffer
Communications
A routine alternately checks the
loop received communications buffer and the
keyboard buffer using routines from
Blaise; communications are checked for
special character sequences and if not
found are displayed as text or the
appropriate format control on the screen
and moved to the multi-page buffer that
holds the last 96 lines received;
keystrokes are checked for function key
sequence and if not found are placed
into an output buffer using a routine
from Blaise-the serial communications
routines from Blaise then send the
character out the serial port
Received special sequences
x05 Place the current answerback string into
the output buffer
x1D x5B x43
Place the terminal type response string
into the output buffer
x1D x5B x4D
Switch the AT&T VDA board to graphics
mode using a routine from AT&T; paint
all received characters on the VDA board
using routines to control placement and
routines from AT&T to actually paint the
characters; place it in the brief text
buffer
x1D x5B x50
Switch the AT&T VDA board to graphics
mode using a routine from AT&T;
establish ANSI 3.28 block protocol mode
with the host system using the clock
routine to control timing; receive each
block from the host; error check the
block; check for an end block protocol
sequence; decode and paint each block on
the graphics screen (upper left if
immediately preceeded by brief text,
otherwise upper right) using a routine
from AT&T; place it in the photo buffer
x1D x5B x50
Revert to processing received data as
ordinary text
x1D x5B x70
Process incoming data as ordinary text
and also place it in the full text
buffer
x1D x5B x51
Place the password protecting the setup
menus into the output buffer
Keystroke function sequences
EXIT Confirm that user wishes to exit; close
open files and turn off printer; reset
AT&T VDA card to display text using
routine from AT&T; display main menu and
accept user input
HOLD If not currently locked, place XOFF in
the output buffer and disable display of
received characters
If currrently locked, place XON in the
output buffer and enable the display of
received characters
TX PRT If not currently on, send a return to
printer and as each line received is
completed send it followed by a return
and line feed to the printer
If currently on, disable printing
TX SAV If not currently on, open a .TXT file or
the data disk in the directory path
specified by the terminal setup using
the name specified by the TX NAM command
or PTERM if none has been specified; as
each line received is completed add it
to the file
If currently on, close the file
TX NAM Display a file selection screen with all
current .TXT files on the data disk in
the directory path specified by the
terminal setup; the following functions
are available
Cancel-do not change the current
selection
Use highlighted-make the highlighted
file the current file for text
Name and use new-display a user input
screen prompting for a new name for a
file for saving text
PH PRT If a photo has been received, print the
last photo displayed (using the printer
driver from East Coast Software), brief
text buffer, full text buffer, and form
feeds as specified in the terminal setup
PH SAV If a photo has been received, display a
user input screen prompting for a name
for the photo; add the name entry to the
index file on the data disk in the
directory path specified by the terminal
setup using the index file name
specified by the PH NAM command or PTER
if none has been specified; open a file
on the data disk in the directory path
specified by the terminal setup using
the name specified by the TX NAM command
or PTERM if none has been specified and
a numeric extension based on its place
in the index; write the contents of the
photo, brief text, and full text buffer
to the file
PH NAM Display a file selection screen with all
current .PDX files on the data disk in
the directory path specified by the
terminal setup; the following functions
are available
Cancel-do not change the current
selection
Use highlighted-make the highlighted
file the current index file for photos
Name and use new-display a user input
screen prompting for a new name for an
index file for saving photos
BUF Stop displaying received communications
permit the use of the cursor keys to
display the lines saved in the
multi-page buffer and the cancel
function to redisplay the last screen
and restart display of received
communications
PHO Switch the AT&T VDA board to display
graphics using a routine from AT&T;
while graphics are displayed keyboard
input is disabled except for the PH PRT,
PH SAV, PH NAM, and BUF functions plus
a TXT function that switches the AT&T
board back to display text using a
routine from AT&T
______________________________________
C9: Select Text File: on-line PTERM MORETXT Use cursor keys to choose an existing text file. <F1> Cancel <F9> Name and use new text file <F10> Use highlighted text file Press the appropriate function key to make your selection. C10: Select Photo File: on-line PTERM BARB Use cursor keys to choose an existing photo file. <F1> Cancel <F9> Name and use new photo file <F10> Use highlighted photo file Press the appropriate function key to make your selection. C11: Real-Trieve Communications Display
__________________________________________________________________________
10/08/86 16:14:12 LINE#4
TERMINAL #0600
GREETINGS
WELCOME TO MOORE DATA'S REAL-TRIEVE ON-LINE SYSTEM
FUNCTION?.sub.--
1>EXIT 2>HOLD 3>TX PRT 4>TX SAV 5>TX NAM 6>PH PRT 7>PH SAV 8>PH NAM 9>BUF
10>PHO
__________________________________________________________________________
DETAILED DESCRIPTION OF STEPS PERFORMED BY HOST AND DISPLAY TERMINAL FIGS. 8-26 are detailed schematic flow charts of steps performed by host 200 and display terminal 300 during operation in the image mode of the presently preferred exemplary embodiment of FIG. 1 system 100. FIGS. 9-12 are detailed flow charts of the steps performed by display terminal 300 to retrieve images previously stored by host 200; FIGS. 22-26 are detailed flow charts of steps performed by the display terminal to capture and store images on the host; and FIGS. 13-21 are detailed flow charts of steps performed by the host to receive and transmit image data to the display terminal. TERMINAL IMAGE RETRIEVAL Image retrieval routine ("PHOTO-TERM") 500 shown in FIG. 8 is executed by display terminal 300 in response to the command "PHO" inputted by the user. Routine 500 requests a particular image stored on host 200 and displays the image on display terminal monitor 304. In response to data received from the host (block 502), the display terminal determines whether the received data is simply text to be displayed on the conversational screen or special protocol data which must be interpreted (decision block 504). If the received data is merely text to be displayed, display terminal 300 acts simply as a TTY display terminal by displaying all legal characters on its conversational display screen (blocks 506, 508). On the other hand, if a "protocol sequence" character (i.e., a special character) has been received, display terminal 300 tests the significance of the received character. If the received character(s) indicate a request by host 200 for the display terminal identification (tested for by decision block 510), the display terminal transmits the appropriate identification response sequence (block 512). If received special characters indicate the beginning of a "mini-list" (decision 513), display terminal 300 "flips" monitor 304 to the image graphics mode and reserves a storage area within memory 314 in which to store the incoming data (block 514). As text data corresponding to the "mini-listing" is received (block 516), display terminal 300 writes the received data to the graphics display and also to a text buffer area within RAM 314 (block 518). Detection of a further "protocol sequence" character (decision 520) causes display terminal 300 to cease treating received data as "mini-list" data. If the "protocol sequence" character(s) received by block 502 are not identification inquiry or start mini-list characters, display terminal 300 determines whether the received character indicates a full text listing is about to be transmitted (decision 521). If the host 200 transmits the full text listing, display terminal 300 clears a buffer in RAM 314 for use in storing the listing (block 522), and then receives the full text data and writes same to the buffer (blocks 524, 526). Insertion of a "protocol sequence" character in the text (tested for by decision block 528) is used to stop display terminal 300 from storing full text information and to determine what other command has been specified by host system 200. If the special "protocol sequence" character received by display terminal 300 is a character indicating a photo (image) is to be received, (tested for by decision block 530; this start photo character is transmitted by host 200 in response to receipt by the host of the command "PHO" transmitted earlier by the display terminal operating in the TTY mode), the display terminal executes receive image routine 532 to receive an image to be transmitted by the host. If the special character received by display terminal 300 is a "password" inquiry (tested for by decision block 534), the display terminal transmits a predetermined password in response to the character (decision block 536). Finally, if the received special character is a command to display terminal 300 to return to the serial asynchronous terminal mode (as tested for by decision block 538), the display terminal closes any open data buffers (block 540) and reverts to the TTY mode to await received data at block 502. FIG. 9 is a schematic diagram of the received image routine 512 shown in FIG. 8 This received i | ||||||
