Module access to MVG: METHOD TWO (not available before v1.3) All references to VIDEO are to the LOGICAL Video (ie LOGBASE not physbase) All references to Long words that hold two values (ie MOUSE_XY) have the first value in the high_word and the second value in the low_word. sample: MOUSE_XY X,Y in D0.L high_word=X, low_word=Y AsciiZ String is a null terminated ASCII string: "Abcdef ghi",0 Func# Label, Description and Return values (or register prep) 0 GET_PTRS: retrieves pointers to Variables. A0--> Varlist: long pointers to MVG's Vars offset item.size 0 wid.W byte width of image 4 hgt.W height of image 8 pix.W pixel width of image 12 rez.L micron info w,h (2 words) 16 * 20 mouse_xy.L X,Y coords of Mouse... see WHEREM 24 cbf.W flag: 0 = CB Empty 28 * 32 int_in pointers to MVG's 36 addr_in AES arrays 40 int_out 42 addr_out 1 GET_BUFS: get details of main & CB buffers A0--> MAIN buffer (image) D0.L = WID.HGT D1.L = Total size of buffer A2--> ClipBoard ( 0 if not allocated) 2 GET_CB: get pointer to CB only A0--> ClipBoard ( or 0 if none) 3 copy VID2CB: copies current video to ClipBoard 4 copy VID2MAIN: copies current video to MAIN image buffer. This will also reset WID & PIX to 80 and 640 Options include 4 pages within MAIN. Call with page number in D0.L will set HGT to 400xPAGE# if greater than current HGT 5 copy CB2MAIN: copies the ClipBoard to MAIN buffer. Same options for paging as in function#4 6 copy MAIN2CB: copies MAIN buffer to CB. Same options as #4 & #5 (functions 4-6 expect the MAIN to be 640 pixels wide) 7 rsvd 8 ANYKEY: Waits for key. Returns keypress in D0.L 9 WHEREM: Polls mouse location and button status. (no wait) Returns mouse X,Y in D1.L button status in D0 (also stores x,y in MOUSE_XY) 10 SETXY: Sets X,Y for main image display call w/ D0.L = Tab.Row Tab = offset from left edge of image (8 pixel step) Row = Top row for display (valid: 0 to hgt-380) 11 GDISPLAY: Display main image (using tab & row) 12 DISPLAY_CB: Display the ClipBoard 13 TOPTITLE: Print a text string centered in the menu bar area. Call w/ A0--> ASCIIZ string (null terminated) 14 HI_CHAR: Print character in D0.b 15 HI_STRING: Print string. A0--> AsciiZ string 16 PHEX1: Print hexascii of byte in D0 (2-digit) 17 HEXIT: Print hexascii of word in D0 (4-digit) 18 HEXITL: Print hexascii of longword in D0 (8-digit) 19 BDEC2: Print decimal of byte in D0 (0-99) 20 BDEC3: Print decimal of word in D0 (0-999) 21 BDEC4: Print decimal of word in D0 (0-9999) 22 GETMISC: Get pointers to strings for ASKMISC (for f_sel) A0--> directory string (80 chars max) A1--> file string (16 chars max) A2--> tot_pathspec (96 chars max) 23 ASKMISC: Call F_SEL, ask for file. returns: D0.L = negative if error or blank builds full pathspec into string at TOT_PATHSPEC 24 rsvd 25 rsvd 26 COPYTOZ: Copies an AsciiZ string... (until zero byte, inclusive) call w/ A0--> source string A1--> destination 27 APPENDTO: Copies an AsciiZ string to the end of another. call w/ A0--> source string A1--> destination string (anywhere before 0) 28 ADDEXT: Appends an extension onto a filename string. Searches for 'period', adds three chars afterward. If no period found then tacks on period. A0--> 3-character extension ("IMG" or "PI3" etc) A1--> filename (or full pathspec) 29 rsvd 30 rsvd 31 SETMOUSEXY: Sets mouse pointer to coordinates in D0.L 32 rsvd 33 rsvd 34 rsvd Graphic primitives 35 SETSIZE: Sets up coordinates and size for lines and boxes. Call w/ D0= X coord D1= Y coord D2= width (or X2 for line) D3= height (or Y2 for line) 36 ATOG_NRM: Set write mode to normal (replace) 37 ATOG_XOR: Set write mode to exclusive_or 38 MAKEBOX: Draw a box. as defined with SETSIZE 39 MAKEXBOX: Draw a box using XOR write mode. 40 SET_LINE: Set up x1 y1 x2 y2 for line (d0-d3 = x,y,x2,y2) 41 MAKELINE: Draw a line (d0-d3 = x,y x2,y2) 42 RECTANG_Q: Draw a filled rectangle as defined with SETSIZE call with D0= 0 white 1 black 2 grey 3 xor 43 STILLSEC: 44 EALERT: