akcs.gandalf@hpcvbbs.UUCP (Rakkiat Trimahaloek) (12/06/90)
Does anyone know how to lock vector enter in Matrix Writer? I always use matrix and I don't want row matrix to come out as a vector. Everytime I must press [vec] to get rid of the box inside the menu. Thanks, Rakkiat trimahal@chaph.usc.edu
akcs.asturias@hpcvbbs.UUCP (Victor M. Asturias) (03/11/91)
Within a program I would like to call on the matrix writer to ease the input of data and to have this data stored in a user defined variable. I would appreciate any ideas on how to solve my problem. Thank You; Victor M. Asturias Syracuse University
akcs.waterman@hpcvbbs.UUCP (Jason Todd Waterman) (03/14/91)
This problem can be solved by executing a SYSEVAL for the {Blue-shift}{ENTER} key. The address for this is #3B068h. A sample program for executing the MATRIXWRITER and then storing the result in a user defined variable would look like this: << #3B068h SYSEVAL 'TEST' STO >> This assumes that the user did not exit the matrix writer using the ATTN key. If that was the case, you would have to check that there was actually something returned to the stack. One way to check would be to determine if the object returned was an array. For example: << 0 @Places a non array object on stack just #3B068h SYSEVAL @in case you are using other arrays in your DUP @program. IF TYPE 3 SAME @Check object type. If it is a real array THEN 'TEST' STO @then store it in variable 'TEST'. END DROP >> @Drop the 0. If you will be entering complex arrays then you must modify the program to check for object type 4 as well. Sorry if this doesn't quite make sense, but I'm making it up in my head as I go along. Hope this helps solve your problem! Jason Waterman The University of Calgary Calgary, Alberta, Canada Email: waterman@engg.ucalgary.ca
akcs.joehorn@hpcvbbs.UUCP (Joseph K. Horn) (03/14/91)
Victor M. Asturias asks: > Within a program I would like to call on the matrix writer to ease > the input of data and to have this data stored in a user defined > variable. I would appreciate any ideas on how to solve my problem. > Thank You; > Victor M. Asturias > Syracuse University # 3B068h SYSEVAL runs the Matrix Writer (new, empty matrix). If you want to pre-load it with an existing matrix, place the matrix on level 1 and use # 3A645h SYSEVAL. All the "non-programmable" key functions are really programmable, of course, by SYSEVALing the proper address. For example, the inter- active stack can be programmed by # 3A93Dh SYSEVAL. INPUT lets you turn alpha mode on, but PROMPT doesn't, unless you use # 3AA0Ah SYSEVAL first. Note: flag -60 is used by the alpha key, and hence by this SYSEVAL, which _is_ the alpha key's program. Want to program VISIT? Dumb Visit (key 52.3) is # 3B12Bh SYSEVAL; Smart Visit (key 35.3) is # 3AF69h SYSEVAL. Keep in mind that the action of keys depends on the mode you're in; "smart visit" becomes "full down" in graphics mode... These work on version E. All were found using the Voyager program by Derek Nickel. Use them at your own risk. -- Joseph K. Horn -- Peripheral Vision, Ltd. --
bgribble@jarthur.Claremont.EDU (Bill Gribble) (03/15/91)
speaking of non-programmable functions, does anybody know how the catalog environment works? since the same object is probably used by the stat and plot/solve routines, it looks like some sort of object filter is passed to the catalog and only certain objects are displayed. If you could use no filter and just have the catalog as a file browser I can think of at least one terminal program that would suddenly have a file selector and sending mechanism. ***************************************************************************** ** Bill Gribble Harvey Mudd College, Claremont, CA ** ** bgribble@jarthur.claremont.edu Never heard of it? You're stupid. ** *****************************************************************************
NORM%IONAACAD.BITNET@CUNYVM.CUNY.EDU (Norman Walsh) (03/15/91)
When I try #3B068h SYSEVAL with my '48 Rev E, the calc puts up the MatrixEditor but goes into never-never land when I try to leave the matrix writer (by pressing enter after finishing a row). Any special flags, etc that have to be set or something (I wouldn't imagine that this would be the case but...) ndw
lishka@uwslh.slh.wisc.edu (a.k.a. Chri) (03/17/91)
NORM%IONAACAD.BITNET@CUNYVM.CUNY.EDU (Norman Walsh) writes: >When I try #3B068h SYSEVAL with my '48 Rev E, the calc puts up the >MatrixEditor but goes into never-never land when I try to leave >the matrix writer (by pressing enter after finishing a row). Any >special flags, etc that have to be set or something (I wouldn't >imagine that this would be the case but...) This happened to me to. I discovered, though, that if the above syseval is used in a *program* (as opposed to typing it in from the command line), then everything works fine. So I simply created a program that looks like: << #3B068h SYSEVAL >> and called it 'MATRIX'. Everything works fine when MATRIX is called. .oO Chris Oo. -- Christopher Lishka 608-262-4485 It is not safe out here. It is wonderous, Wisconsin State Lab. of Hygiene with treasures to satiate desires both lishka@uwslh.slh.wisc.edu subtle and gross. But it is not for the uunet!uwvax!uwslh!lishka timid. -- Q
akcs.asturias@hpcvbbs.UUCP (Victor M. Asturias) (03/18/91)
I would like to thank Jason Waterman and Joseph K. Horn for the solutions they presented for my problem, I was able to implement them and my program "flows" more naturally. Once again, Thank You! Victor M. Asturias Syracuse University
bson@rice-chex.ai.mit.edu (Jan Brittenson) (03/19/91)
In a posting of [14 Mar 91 19:28:26 GMT] bgribble@jarthur.Claremont.EDU (Bill Gribble) writes: > speaking of non-programmable functions, does anybody know how the > catalog environment works? since the same object is probably used by > the stat and plot/solve routines, it looks like some sort of object > filter is passed to the catalog and only certain objects are > displayed. Here are some basics. A basic catalog routine is at #47bf0. It is called with two arguments: 2: menu.program 1: items.list The menu is an internal menu, which basically is a program returning a list, which is the menu list. The menu list is a list of lists, like the CST menu: { { name exec } { name exec } ... } Unlike CST menus, the `name' component can be more than just a 21x8 GROB or a string: - XLIBs result in the corresponding function name. Useful since it's a relatively short form, it uses the banked ROM instead of the main ROM, and changes whenever a function name is changed. I wonder what happens when a new library is installed with new names but old XLIB numbers? My guess is that certain menus will end up looking different. - Programs are evaluated, and return a string or GROB which is used as a label. This is useful for creating the box bullet to indicate a mode (such as in the MODES menu, for instance). There are plenty of functions that take a string, and a true/false value and return a bullet-box GROB label. The program can of course do whatever fancy evaluation it likes to. Since the menu is a program that is called whenever the stack is redisplayed, it can be used to alter the display. Entering a menu can make you enter a new display, just as easily as the opposite, which incidentally, seems to be predominant. To display the current menu, set the menu argument to @#3ac0 (False). [Note: @#3ac0 here means that you put the Prefixed Machine Code routine at #3ac0 on the stack, not the binary #3ac0. #3ac0 EVALs to itself, so #3ac0 SYSEVAL will do the trick.] Some system catalog menus can be found at: PLOT CAT 484fe STAT CAT 48544 TIME CAT 48585 The items list argument in level 1 is a list of global names. Each item is a global name which will appear as a tag to its contents. For instance, "FOO" 'BAR' STO will appear as: A:"FOO" if "slow" catalog mode is enabled, or: BAR if "fast" catalog mode is currently enabled (check to see what system flag this corresponds to). If the global name doesn't exist, "" will be used instead in "fast" catalog mode. Arrays appear as a description of their dimensions. Alarm entries appear as an alarm description. Place the menu program in level 2 and the list of names in level 1 and call #47bf0. There are numerous RAM hooks which are used by the main catalog driver. In fact, #47bf0 only sets up a certain configuration (as well as saves the previous one in a list in a local variable). I'm not sure about the usage of all of these hooks, but it seems possible to create almost any kind of catalog if just properly configured. For instance, 70614 seems to hold the object to be evaluated in case of an error. (Notice I say SEEMS here, the issue is not clear at all.) It seems to me what you would want to do is to create a list of global names corresponding to the file names, using the #5b15 SYSEVAL (string to global name), and then use the "fast" catalog mode for browsing. The functions in the menu are called when the corresponding key is pressed, and the current index is in one of the local variables (I'm not sure which one - you will have to do some experimentation here). Happy hacking! -- Jan Brittenson bson@ai.mit.edu Read my lisp: no new classes!