Description for Scypmon V1.3 (Update 11/12/90) \============================================/ Release: -------- (C) by Jörg Bublath 1989-1990 Scypmon is a shareware program, no PD !. When you use this program you should send 20,-- DM (German Marks) to my adress (see end of file). Changes in the documentation(and source) and in the program itself are prohibited by the author. Scypmon has to be delivered in the complete package. Following files have to be included: -ScypmonV1.3 -Scypmon.doc_d (German documentation) -Scypmon.doc_e (English documentation) Registred Users will receive updates and sourcecodes when sending a disk including backpostage. Public Domain series may use this program, when this disk is filled with many other programs (min. 80%) and the price is below $3 ! General Information: This monitor uses a full-screen-editor without automatic insertion. The cursor can be moved using the cursor-keys or by positioning it with your mouse. If you leave the screen up or down, the screen will be scrolled in the opposite direction. If the headline is inverse, then the monitor is active. The headline also shows if you are in the insert-mode or the overwrite-mode and the actual cursorposition as hexadecimal output X and Y. When you use the scrolling and there is an output-line of the "m", "i" or "d"-command on the screen the next logical line of this command will appear instead of the empty line. Using the cursor-keys plus shift will cause scrolling by one full screen. Some other keys that are used in a special way: HELP : Clear Screen + Cursor Home Shift + HELP : Clears the rest of the line starting at the actual cursor-position. Shift + DEL : Inserts one blank On the numeric keypad: Shift + 7 : Cursor home (upper left corner) Shift + 1 : Cursor end (lower left corner) Shift + 0 : Switch between insert and overwrite mode Shift + . : Del F1 : Jsr-dissassemble in F2 : Jsr-dissassemble out (explained later) F9 : Screen-boundary off F10 : Screen-boundary at cursor-position on Exceptions: ----------- All exceptions except #08 (privilidge violation) and the trap #0x - commands will cause no guru but a monitor output looking "exception #xx at xxxxxx". If you crash your machine totaly there will be certainly only one help for you : ctrl + amiga + amiga ! Calling the monitor from CLI: ----------------------------- You can call the monitor by "scypmon [batchfile]". This batchfile may be any textfile eg. edited with "ed" that contains a list of monitor commands. this option is very useful for absolute programming, when you need to load graphic- or sounddata into memory. eg.: { o 60000 7f000 00 l "graphic.data" 70000 l "sound.data" 60000 l "sinus-table" 7e000 x } This batchfile will clear the memory from 60000 to 7f000, load the three programms absolutly into memory and leaves the monitor afterwards. A clarifcation to the memory allocations: To prevent a allocmem-chaos the monitor organizes memory-allocations in his own way. You have 8 segments (0-7) that can be used for allocations. If you use one segment twice then the old memory allocated in this segment will be freed. When you leave the Monitor all segment will be given back to Amiga-Dos. This prevents a chaos like in c-mon when you load several programs and don't know afterwards where and how much, so you have to reset to have a clean memory again. The commands (in alphabethical order): -------------------------------------- All Values (in assemble/dissamble,too !) have to be entered hexadezimal (you don't have to use $xxx but only xxx) ! [ ] : Expressions in these brackets don't have to be entered ( ) : Expressions in round brackets have to be entered start : Is a hex-expression that indicates a start-adress stop : Is a hex-expression that indicates an end-adress target : Is a hex-expression that indicates a target-adress name : Is a ASCII-string segment: A memory segment between 0 and 7 ---------------------------------------------------------------------------- [?] (expression) : Calculate The expression will be calculated and printed out decimal,hexadecimal and in binary. Inside the expression you have to use a "$" to indicate a hex-number, a "#" or nothing to indicate a decimal number or a "%" to indicate a binary-number. For calculation you may use "+", "-", "*" and "/". The calculation will be done from the left to the right without using any calculation-rules ! eg.: ? $1000-#100+%010*2 ---------------------------------------------------------------------------- b (blocknr) (start) [len] : Block Save Loads/Saves (len) bytes from disk starting with block number (blocknr). If you don't give a [len] , $200 bytes = 1 sector will be loaded/saved. As device will be used the one fixed the with "V"-command. Attention: You have to enter all values in hex ! eg.: t (tr) (hd) (sc) (start) [len] :Track Save Loads/Saves [len] bytes from disk starting at track,head,sector. If you don't give a [len] the default of $1400 bytes = 1 side of a track will be loaded/saved. As device will be used the one fixed the with "V"-command. Attention: You have to enter all values in hex ! eg.: