Documentation for Kim Moser's JumpWindow

1/4/08 -- My JumpWindow is obsolete since the old Prodigy service is long gone, but I've decided to leave this page online in the interest of posterity -- K.M.

Author: Kim Moser
Date: April 25th, 1994
Last Modified: August 20th, 1996

This document is divided into the following sections:

1. Overview

What Is Kim Moser's JumpWindow?

Screen shot of Kim Moser's JumpWindow

My JumpWindow provides all the basic functionality of Prodigy's standard JumpWindow. It also provides the ability to:

It also comes with an enhanced Safepage that shows the complete ID of the faulty object (no more guessing what caused your safepage!) and explains why the object couldn't be accessed.


How to Use It

You may access my JumpWindow in the usual way (i.e. by selecting "Jump" from the command bar, or "Jump To..." from the "GoTo" menu item), or by selecting the Optima icon (on the lower right corner of the command bar). Because these two methods exist of opening the JumpWindow, you are assured that it will be accessible virtually any time during your Prodigy session, even when "Jump" is disabled on the command bar.

Rare case exist (e.g. the Classroom Prodigy CUG) in which the command bar contains no Optima icon. In this case the JumpWindow can be accessed only if "Jump" is currently enabled. Also, the command bar on the Sesame Street application contains no Optima icon and no Jump icon, which prevents you from opening the JumpWindow at all. Finally, some parts of Prodigy such as Newsday Direct use a customized JumpWindow that overrides mine.

Although you may also access the JumpWindow by hitting the F6 key, keep in mind that this will prevent it from correctly determining the ID of the current open window, if any. (If you don't need to know the ID of the current open window, then don't worry about this.)

Improved Safepage

My JumpWindow also comes with a modified safepage which gives you information about the object ID which caused the safepage. This comes in handy for determining whether you're getting a safepage because an object is unavailable, or because its ID was incorrectly specified.

2. Download Kim Moser's JumpWindow

Only Prodigy employees and contractors are allowed to use my JumpWindow. If you are a Prodigy employee or contractor, send me email and I'll tell you how to download it. Or, you can get it from anyone who has already installed it.

Installing Kim Moser's JumpWindow

The stage which contains my JumpWindow is compatible with version 9.18.09 (v1.5b, stage 5.08) of the Reception System. It should work with later versions as well. To make sure you're using the latest version of the Reception System, check the bottom of the Sign-On window. If it displays a number less than "9.18.09" you should first download and install the latest version of the Reception System (also available here).

That's all! To check whether installation was successful, you'll have to log on to Prodigy. Once you've logged on, open the JumpWindow. If you see the standard JumpWindow and not mine, it means something has gone wrong during the installation process. If you can't figure it out, email me.

3. Changes

1.4a: Fixed small bug which didn't push ID of currently opened window when my JumpWindow had never been opened previously.

8/5/1994 (v1.4b): Fixed bug which caused a PAL 24 when converting a PODB ID to hex and the ID's sequence (byte at offset 11) was > 127. (The byte used to be translated as a negative number; now it's translated correctly).

7/1/1995 (approx.): As of around July 1st, 1995, Prodigy made an automatic update to the RS9/Windows version of Prodigy which completely disables my JumpWindow and replaces it with an updated, native Windows JumpWindow. (You also get a native Exit window, and perhaps some others.) This might rate anywhere from a minor inconvenience to a major pain (especially if your keytrace macros no longer work). However, you can restore my JumpWindow by adding the following line to your PRODIGY.INI file:

KIM_MOSER_JUMP=1

Thanks to the folks at Prodigy (Mike Doino?) who added this feature.

Remember, though, that regardless of what version of Prodigy you're running or what's in your PRODIGY.INI file, you can always get my JumpWindow by hitting the Optima icon (the CORE/FREE/PLUS/**** icon in the lower right corner of the toolbar). The drawback is that you can't see the Optima pricing descriptions for the area you're in, but that's a small price to pay (pun intended).

9/30/1995 (v1.5): Changed field-checking logic. Formerly, the fields were checked in order (Jumpword, PTO, and command) and the first non-empty field was processed. Now, if the last field that the cursor was on is non-empty, it's processed, otherwise the fields are checked in order (as before).

Added my Prodigy ID to the JumpWindow header (it alternates between the old "Kim Moser's JumpWindow" message and "Questions? Email Kim Moser (VKGS28A)" every time you open the JumpWindow). Also added a similar message to the bottom of the Safepage.

Haven't added 'do' command to the help window (although it's described in this documentation).

4. Window Info

My JumpWindow shows you the following information:

Current PTO:
This is the PTO which you're currently at. Its value is taken from G_SysBaseObjId.

Last Element:
This is the last element selected. Usually it is the current body, but sometimes it may be another element (e.g. the leader ad). Its value is taken from G_SysSelectedObjId.

Last Window:
If a window was open when you opened the JumpWindow, its PODB ID will appear here, otherwise it will show as "n/a." Its value is taken from G_SysWindowId.

Last Leader Ad:
If the PTO you're at contains a leader ad, the ad's PODB ID will appear here, otherwise it will show as "n/a." Its value is taken from G_SysLeaderAdId.

5. Operation

Functions

Just as with the standard JumpWindow, you can type a Jumpword in the "JUMPWORD" field. Or, to navigate to a particular PTO, you can type its PODB ID in the "Object ID" field. The ID is case-insensitive, and may contain an optional period in the 9th position. For example, the following IDs are equivalent:

fe000000pg1
FE000000pg1
FE000000.PG1
fe000000.pg1

You may also type the PODB ID of a WAVe CEDO (COOL Entry Data Object), window, or element (e.g. body or leader ad) in the "Object ID" field.

To simulate a newlook navigate, type a PTO ID in the "Object ID" field and type an element ID (usually a body ID) in the "Optional Element" field.

My JumpWindow will retain the last object ID, element, or command which you typed. The next time you open the JumpWindow (in that session), those fields will be filled in with their previous values.

Commands

My JumpWindow also lets you type commands in the "Command" field:

d #<nnn>
(e.g. d #22)

This displays the value stored in GEV #nnn. The value is displayed on the title bar of the JumpWindow. (If the value is too long to appear entirely on the title bar, it will be truncated. I may fix this in the future.) Non-printable characters are converted to hex and prefixed with a backslash (e.g. ASCII 14 appears as "\0E").

e #<nnn> <value>
(e.g. e #22 FE000000PG \01\04)

This stores <value> in GEV #nnn. To specify non-printable characters, convert them to two hex digits and prefix them with a backslash. For example, to specify a window ID, type FE000000WND\00\08.

dt <nnn>
(e.g. dt 658)

This displays the contents of TAC nnn. Just as when displaying a GEV, the value is displayed on the title bar of the JumpWindow. Non-printable characters are converted to hex and prefixed with a backslash (e.g. ASCII 14 appears as "\0E").

et <nnn> <value>
(e.g. et 658 hello)

This updates (in TPF) TAC nnn with <value>. To specify non-printable characters, convert them to two hex digits and prefix them with a backslash. For example, to specify a window ID, type FE000000WND\00\08.

BE CAREFUL WITH THIS COMMAND! IMPROPER USE MAY CORRUPT YOUR PROFILE, PREVENT YOU FROM LOGGING IN, AND GENERATE BACK-END REPORTING ERRORS!

do <object>
(e.g. do fe00cnfg.d00)

This function was intended to be used to display data objects. It opens a window which displays a hex dump of the contents of the first Program/Data segment of the data object specified.. If the object is not a data object, you'll see the entire contents of the object, except for the first 22 bytes or so.

f <object>
(e.g. f fe000000wnd)

This fetches the object you specify. It comes in handy when you want to crash the debugger and dump all cached objects to a special "dump stage." If you first use this command to fetch an object, you will ensure that the object is in RAM (or the disk cache), and thus will be written to the "dump stage" when you crash the debugger (assuming "objdmppath" has been specified in your CONFIG.SM or PRODIGY.INI).

j <jumpword>

(e.g. j square off)

This jumps to the Jumpword you specify. It has the same effect as typing the Jumpword in the "Jumpword" field.

mode <display_mode>

(e.g. mode file)

This changes the display mode for object IDs. When 'mode' is set to 'file,' object IDs are displayed as filenames, e.g. FE000000.PG1. When 'mode' is set to 'PODB,' object IDs are displayed as PODB IDs, e.g. FE000000PG \01\04. The 'mode' setting remains in effect for the duration of your session, and defaults back to 'file' the next time you run the Reception System.

n <obj_id>

(e.g. n fe000000pg1)

This command navigates you to the object specified. It is the same as typing the object ID in the "Object ID" field (assuming you type the name of a PTO or a CEDO). If the object you specify is not navigable (i.e. not a PTO or CEDO), unpredictable results will occur.

o <window>

(e.g. o fe000000wnd)

This opens the window you specify. The JumpWindow is NOT closed first. If you want the JumpWindow to close before your window is opened, you should either type the window ID in the "Object ID" field or use the "n" command.

p <program> <parms>

(e.g. p FE000000PGM hello)

This calls the PAL/TBOL program whose PODB ID you specify. If you specify parameters (separated by spaces), they will be passed to the program. Note that embedded hex characters are NOT supported, i.e. "\0F" is NOT translated to ASCII 15.

w <window>

(e.g. w fe00perswnd)

This closes the JumpWindow and opens the window you specify. If you don't want the JumpWindow to close first, you should use the "o" command.

This command behaves unpredictably on RS8. (Usually you will get a PAL 5 error after you select a cursor on the window that opens). It works fine on RS9.

Improved Safepage

The stage which contains my JumpWindow also contains a replacement Safepage which tells you the following information:

The error message is most likely to be "Object not found," which means that the RS couldn't find the object that was requested.

6. Technical Info

Description of Objects Used

My JumpWindow uses the following objects in your stage:

GEVDISPL.WND
This copy of my JumpWindow is called when you press the Optima icon under RS8.

These are auxiliary objects used by my JumpWindow:

GEVDISPL.PGM
This is the main program for my JumpWindow.
GEVDISPL.W01
This is the help screen for my JumpWindow.
GEVDISPL.W02
This is the hex dump window for my JumpWindow.
GEVDISPL.PG1
This is a dummy PTO for doing newlook navigation.
GEVDISPL.D01
This data object contains the sound effect (a WAV file) used by my safepage
SAFEPAGE.PG1
This is my modified safepage PTO. It contains two embedded objects: SAFEPAGE.BDY and SAFEPAGE.PGM.

These objects are the standard JumpWindow for different versions of the Prodigy software. They have been replaced by my JumpWindow, which has been given the same name. It isn't necessary to have all 3 in your stage; you need only the appropriate one for your version of the Prodigy software:

XXOW0001.WND
This is the RS8 version of my JumpWindow.
XXOW0009.WND
This is the RS9/Windows version of my JumpWindow.
XXOW0MAC.WND
This is the RS9/Mac version of my JumpWindow.

These objects have been modified so the current open window is saved in a context variable before my JumpWindow is opened. You need only the appropriate one for your version of the Prodigy software:

XXP9TOO2.B01
Modified RS9 command bar object
XXOP0014.PGM
Modified RS8 command bar postprocessor

These objects are windows which normally describe the Optima CORE/FREE/PLUS/**** billing, but which have been replaced with my JumpWindow and given the same name:

XXZFCORE.W01
XXZFOFFI.W01
XXZFPLUS.W01
XXZFSPEC.W01

Other Possible Safepage Error Messages:

In extremely rare cases my Safepage will display one of the following error messages. I have no idea what most of these messages mean because I've taken them from the PAL manual which doesn't describe them in any more detail. I've made my best guess as to what they mean, but don't take my guesses as gospel.

"Timeout waiting for TPF to respond."
TPF didn't respond in time. I have no idea how long the RS waits for TPF to respond, but I've never gotten this error.

"Keyword not found in map."
I don't know what this means. It might have something to do with MAP objects (what PTOs used to be in the years before they became PTOs) possibly not containing keyword segments, but that's just a wild guess.

"Database unavailable."
Oh, jeez, I dunno. Maybe, like, a database wasn't available, or something like that?

"Invalid action code."
Who knows?

"Invalid TAC code."
Who cares?

"User is not a subscriber."
Your guess is as good as mine.

"TAC not in use."
Hmmm...maybe this TAC was never assigned in TPF?

"Message size error."
This probably means something like an internal message between TPF and the RS wasn't the right size.

"Unknown error <n> returned by TPF."
TPF returned an error code <n> which I didn't know the meaning of.

7. Notes

Safepage Sound Effect

To shut off the sound on the Safepage, you must either delete the GEVDISPL.D01 object from your stage, or, if you have the debugger, create an empty GEVDISPL.D01 (i.e. one with an empty data segment) and put it in your testpath. If you don't have the ability to do this, or you just don't want to, email me and I'll send you a stage that doesn't contain the sound effect.

Acknowledgments

Thanks to the following people who made this possible: Kent Peterson, Carmen Delessio, Robert Corby, Mike Doino, and everyone else who contributed their time, knowledge, and support.

8. Disclaimer

My JumpWindow should NOT be distributed to the general public. I intended it to be distributed only to those Prodigy employees and authorized developers who are involved directly in the creation and maintenance of content which is intended to appear on the Prodigy service.

My JumpWindow is NOT officially endorsed, supported, or guaranteed by Prodigy. This document is in no way intended to imply that Kim Moser is an employee of Prodigy or acting on behalf of Prodigy. I don't guarantee that my JumpWindow will work as described. I am also not responsible for anything that happens as a result of your using the JumpWindow. In other words, use it at your own risk.


Return to
Kim Moser's Generic Home Page.
Copyright © 2024 by Kim Moser (email)
Last modified: Sat 09 July 2022 21:30:11