04/24/87 Sam Weiss Documentation for: *** Ram Tools *** The ultimate utilities program that stays in RAM!!!! So what is this program all about??? Ram Tools is a RAM resident utility program that sits ABOVE CP/M SO IT DOES NOT ANY TPA SPACE. When this program is installed, with the touch of a key, you get the following commands: Screen Saver(This is the Screen Saver program available to you in RAM, anytime[Screen Saver will be discussed later in this document]), Turning the cursor into a solid block, clear the screen, cold boot(It asks you if you want to reset the computer before it does it), and send chars to the printer. ALL THIS WITHOUT TAKING ANY TPA SPACE!!! System Requirements: Kaypro 4'84 running plain CP/M, or ZCPR3. This will also work on the EPEX operating environment. THE ABOVE ARE THE ONLY COMPUTERS/OPERATING SYSTEMS THAT I HAVE TESTED THIS PRODUCT ON. IT MAY WORK WITH OTHERS TOO. This may work with other 84 kaypros, so long as the BIOS entry point is F400. HOWEVER, AS FAR AS I KNOW THIS PROGRAM WILL ONLY WORK ON THE KAYPROS THAT HAVE GRAPHICS CAPABILITIES. The code is included, so you can make your own changes. IF Ram Tools is found not to work on your computer/CP/M operating system replacement, write me a letter with the address of the bios, the type(name) of the computer, along with the following screen commands: Clear screen, status line on/off(a permanent 25th line), remember last cursor position, return to remembered cursor position, clear to end of line, turn cursor on/off, and I'll see what I can do. (THE ABOVE VIDEO COMMANDS MUST BE AVAILABLE UNLESS YOU DON'T CARE ABOUT GARBAGE ON YOUR DISPLAY SCREEN)[owners of '84 Kaypros do not need to include the video commands] Invoking RamTools: getting RamTools(RT) installed in memory is quite easy. All you have to do is rename the proper installation of RamTools to RT, Then just type RT. So far, there are only 2 versions of RT in this library: RTCPM, and RTZCPR. If you are using plain CP/M, use RTCPM. If you are using ZCPR3, use RTZCPR. Once you have RT renamed, all you have to do is type "RT" at the A0> prompt. It will tell you that it is ready, and put a little command summary at the bottom of the screen(IF THE COMMAND SUMMARY GOES AWAY, IT DOES NOT MEAN THAT RT HAS GONE AWAY TOO... IT JUST MEANS THAT SOME PROGRAM NEEDED THE STATUS LINE FOR SOMETHING). Note: when you run RT, the cursor will also turn into a block automatically, because I hate blinking cursors, and if I have this program do it, I don't need to put another program on the disk to turn the cursor into a block. You may wish to put RT in your startup batch file/program, or make it an autoboot program(I'll tell you how to do that later...) Removing RT from memory: You may remove RT from memory either 2 ways: do a cold boot(press the reset button) of the computer(this may also be done by pressing the key which activates the cold boot feature in this program). OR, you can just run the RT program again... it toggles itself in and out of memory (running RT the first time would put it in memory, running rt the second time would take it out of memory, running it a third time would put it back in memory, etc) OK... ALL THIS IS GREAT, BUT HOW DO I USE THE PROGRAM??? NOTE: AFTER ACTIVATION OF ONE OF THESE KEYS, AN ADDITION- AL KEY MAY HAVE TO BE PRESSED IN ORDER FOR THE PROGRAM YOU ARE CURRENTLY RUNNING TO GAIN CONTROL AGAIN. ALSO, DURING THE OPPERATION OF THESE UTILITIES, THE PROGRAM EXECUTION OF THE PROGRAM CURRENTLY IN MEMORY WILL BE SUSPENDED. However, when using the internal modem, the modem will still emit the "carrier", so you can use the utilities while on-line. Once you have RT in memory, the following keys may be pressed to do the following actions: Ctrl-@: Screen Saver... this is used to save your crt (^@) screen from being "burned in" from stuff being on the screen for long periods of time. After you press this key, the screen will clear (including the status line), and the cursor will be turned off. This computer will then wait for a key to be pressed. After a key has been pressed, the cursor will come back, and control will go back to the original program. Ctrl-^: Pressing this key will turn the cursor into a (^^) solid block. The reason I put this command in is because I have always hated a blinking cursor. Ctrl-_: Cold Boot... Pressing this key will cause a (^_) message to be displayed on the status line asking if you want to reset the computer(do a cold boot). Pressing 'y' or 'Y' while the prompt is displayed will cause the computer to do a cold boot. Pressing any other key will abort the attempt. Ctrl-]: Clear the screen... Pressing this key will just (^]) clear the screen--nothing else Ctrl-\: Pressing this key will put a prompt down at the (^\) status line that looks like this: "Print>". At this prompt, anything you type will be echoed to the printer. You could use this to send control codes to your printer(note: the above keys still have the same affect, so pressing '^^' at this prompt would only turn the cursor into a solid block, and NOT send anything to the printer.). You could also use this feature to write notes to yourself when you don't have any paper handy. Modifying Ram Tools The source to RamTools is in two files, because my Public Domain Z80 assembler(Z8MR) will not do phased code. IF YOU CHANGE THE BIOS ADDRESS, BOTH FILES NEED TO BE CHANGED!! So, in order do change the files, you must make the neces- sary changes and assemble BOTH files(the code is in Z80 code, so any Z80 assembler should be able to do it(I used Z80MR). AN 8080 ASSEMBLER WILL NOT WORK, EVEN IF IT IS CONVERTED TO 8080 CODE, BECAUSE IT USES THE "LDIR" COMMAND, WHICH IS NOT SUPPORTED BY THE 8080.). After that, all you need to do is place "EX.COM"(supplied), RT.SUB(supplied), DDT(not supplied), and the two hex files(RT.HEX and RT1.HEX) [made from assembling rt.azm, and rt1.azm] on a disk and place it in drive a. THE HEX FILES MUST BE NAMED "RT.HEX", AND "RT1.HEX". Then type "ex rtcreate". This will make a program called "RTN.COM", which can of course be renamed to whatever you like. NOTE: There are only three bytes left until you hit the top of memory, so to make any additions to the program, you will have to shrink it a lot!! Please send any changes to this program back to me, at the address below. MAKING THIS PROGRAM "AUTO BOOT" WHEN YOU TURN ON YOUR COMPUTER Note: As far as I know, this little patch will only work with plain CP/M. I made this really simple... all you have to do is put dumpx(a file dumper AND sector editor)[this file is supplied] onto a disk with RT, "RTBOOT.SUB" (SUP- PLIED), and "ex.com"(supplied). Then, all you have to do is type "EX RTBOOT". After it is done, reset your computer, and see what happens. If you do not get the sign-on for RT, it is suggested that you re-copy the system onto that disk, because the system may be messed up, and could mess up other things too. FINAL NOTES: Although this program has not crashed, or caused any other program to crash yet on my system, it is possible. So please test this with your software before you use it(especially if it is RAM-Resident). I WILL NOT HOLD ANY RESPONSIBILITY IF ANY DATA OR A PROGRAM IS LOST DUE THE USAGE OF THIS PROGRAM. If you do run into a problem, please notify me of the problem, and please include any information which you may think helpful to solve the problem. As far as I know, the only problem this program will create is messing up the screen(some programs really look weird if you clear the screen without it knowing you did. Also, I know that this program will not work with dump10(a ram resident screen to printer dump), because this program uses the same memory space(that's where I got this idea to put it above CP/M). For The future: For the future, I intend to have a "patch bypass" key, so you can enter the control chars that this thing uses for it's commands(being able to press "Ctrl-^" and get "Ctrl-^", instead of a solid cursor. I will also attempt to CRAM more useful commands into memory. I would also like to find a way to make it "patchable" so any computer can use the commands. ----------------- Any questions/comments/or (god forbid) complaints should be directed to: Sam Weiss 1165 Balclutha Dr. Foster City CA 94404 --or-- on compuserve: Sam Weiss[74666,2263] --or-- Kay*fun BBS(415) 572-8219 300/1200/2400 Leave message to : Sam Weiss Thanks Sam Weiss (Mad@Kaypro)