ZoomWorks and MoveWin, By Ernie Dodds (ernie_dodds@bigfoot.com) First begun: Sep 26, 1999 Period of schoolwork taking all classtime: several days Last revision: Oct 18, 1999 Name : ZoomWorks and MoveWin Type : Calulator program in BASIC for TI 83 and 83 Plus Variables : ZoomWorks uses most of the letters, window vars, and list GS MoveWin uses E,F,K,W, and window vars SAVEVARS uses list ALPHA, list LIST1, and list LIST2 Author : Ernie Dodds Email : ernie_dodds@bigfoot.com Files : ZoomWorks.readme.txt (this file) ZOOMWRKS.83p (TI-83 program) MOVEWIN.83p (TI-83 program) SAVEVARS.83p (TI-83 program) ZOOMWRKS.8xp (TI-83plus program) MOVEWIN.8xp (TI-83plus program) SAVEVARS.8xp (TI-83plus program) File size : 2724 bytes (ZOOMWRKS) (on TI83p) 442 bytes (MOVEWIN) 748 bytes (SAVEVARS) Descr. : This is for the TI 83 and 83 Plus, to set your graph, and to make the windows proportionally correct. several ways to set this, and you can move the window around if you're not sure of some variables. Also set scale. The rest is below... SAVEVARS: ever been doing math...then use a prog--such as this--which destroys the variables you're using? Me too. Saves all 27 letter var- iables, plus list 1 and list 2--the two lists most people use all the time--to lists ALPHA, LIST1 and LIST2. Also restores, BTW) Other : This is freeware, but please contact me if you're going to modify this, or use it in a package with other programs. I'm not going to say no, I just like to know when PPL use my stuff... The rest : This contains three programs, SAVEVARS, ZoomWorks (ZOOMWRKS), and MoveWin (MOVEWIN). ZoomWorks is the powerful one, MoveWin the smaller one. MoveWin has the following features: - Move the graph window by half it's height or width (starts up like this) - FnOn (MODE) and FnOff (XT0n) (Yes, BTW, I know it's not zero, but I'm lazy.) - Px-per-Px graph, which sets the graph up such that every graph pixel is 1 point on the graph, defaulting to a centered origin - Not ZStandard, which makes a 10 and -10 height, and proportionally correct width (15.? and -15.?), unlike the 'squished' ZStandard that TI defaults the calc to. - Far smaller. Hopefully it'll stay under 1/2 KB ZoomWorks, the really useful one (though far larger), has plenty more features (organized by in-program menu setup, except for the first there): The graph display: In 'Move Window', all options bring you to a graph screen to move the window, and it displays the Xmin at left, Xmax at right (left some room for several decimal places, easier than string conversion, counting the characters, and offsetting it properly--not to mention less memory), Ymin at bottom, Ymax at top. All displays in ZoomWorks show the height and width of the window in the top- right corner of the display. Move View: move graph window by half width/height Move Window... ...By 1px: move graph window one pixel in each direction at a time ...By 10px: move it by 10 pixels each time By 1/2 Window: Move View, but with window size vars displayed Full Window: move graph window by a complete height/width at a time Custom px: put in the pixels to move each time Set Window... Not Zstandard: proportionally correct window, Ymin -10 and Ymax 10, not 'squished' like normal Zstandard ...By Width: enter the width, and it calculates height, then enter the Xmin and Ymin for the window ...By Height: enter height, it calculates width, then enter the Xmin and Xmax for the window Px-per-px: sets graph window such that each pixel is 1 point Scale... ...(this is for changing Xscl and Yscl) (Asks if you want to center your axes--does so w/o changing height and width) Modify Scales... By Pixels: add or subtract 1 pixel at a time to Xscl and Yscl By Points: add or subtract however many points you wish at a time to Xscl and Yscl Set to 1: Sets Xscl and Yscl to the default of 1 Save Zoom... Save Window: saves window into list GS Restore Window: Restores window from settings in list GS Help/Info: ...info. Shows the following: TI83 Zoomworks By Ernie Dodds Revision 2 < pause > Arrows: move view Del :CoordOn Stat:CoordOff +:zoom in(2x) -:zoom out(2x) Mode:FnOn XT0n:FnOff Enter:back < pause > Graph width is 94 and height is 62: about...3x2 Actually its 95x63, but the graph is only right w/ 94x62. < pause > Scale... Left : -Xscl Right: +Xscl Up : +Yscl Down : -Yscl < pause > (Graph display: height, width, Xmin, Xmax, Ymin, and Ymax placement) < pause > < back to menu > Also, on the 94x62 issue...I've noticed that when you move the window around by half, you can see the axes on the border when you move it one time from centered axes. Maybe the calc is using the 94x62, with an axis row and and column added in there? Func/Axes... Functions On: Turns on your functions (MODE while in graph display) Functions Off: Turns off functions (speeds up graph display. XT0n while in graph display) Axes On: Turns on axes Axes Off: Turns off axes (these mainly exist so when you just went into this from a game or something that turns axes off...) Exit: Um...do you really need to be told? Controls: Move Window...(* - also works in MoveWin. ** - only in MoveWin. *** - rev 2) Left : move left * Right : move right * Up : move up * Down : move down * Del : coord on Stat : coord off Mode : FnOn (functions on) * and *** X,T,0,n : FnOff (functions off) * and *** + : zoom in (2x) - : zoom out (2x) Enter : back to menus * Del : Stop program (Stays in graph screen) ** Setting Scale... Left : subtract from Xscl *** Right : add to Xscl *** Up : add to Yscl *** Down : subtract from Yscl *** Enter : back to menus *** Updates: Revision 2: -added scale modifying -added function on/off while in graph display for both programs -made and added SAVEVARS, due to using movewin during some math...W was a var that I had been using... -added my name to Movewin :) -mainly, no more memory error! I was making programs that you hit keys...I never let it sit long enough to notice that the while loops eventually filled up the memory (used more mem each time, cleared only when the variable changed value. I kept most stuff archived so that I would have plenty of room for proggies that I constantly end up working on) So...using: Lbl AA GetKey->K While K=0 Goto AA End (if-then stuff for keypresses) causes it to give a memory error (its constant looping). The better way: Lbl AA GetKey->K If K=0:Goto AA (if-then stuff for keypresses)