STARBOARD2 MULTIFUNCTION MODULE USER GUIDE REV. 1.1, COPYRIGHT 1987, MICROBOTICS, INC. ALL RIGHTS RESERVED 1. GENERAL INFORMATION Your MicroBotics,Inc. MultiFunction Module is a four-featured "daughter" board designed to be installed on the StarBoard2 memory expansion device main circuit board. The MultiFunction Module provides you with four useful functions that enhance operations on the Amiga personal computer: A. Battery-backed, realtime clock B. StickyDisk, an "immortal" memory disk that turns all of your StarBoard2 RAM into a special kind of RAM disk that survives warm reboots. C. StickyMemory, parity checking for StarBoard2 memory which detects the occurence of errors in the affected StarBoard2 memory space. D. Math Chip Capability, a circuit, support logic, and software libraries to enable the use of the Motorola Floating Point Unit 68881. Read this documentation thoroughly and be sure to study the MultiFunction Module and StarBoard2 itself before attempting to install the hardware. 2. CONTENTS OF THIS PACKAGE A. MultiFunction Module Circuit Board B. Pink Anti-static foam wrapper C. Software Diskette of MultiFunction support software and free demo software from other vendors D. Replacement PAL chip U19B for StarBoard2 main circuit board E. Duplicate User Guide sheet for StarBoard2 F. This documentation 3. TOOLS YOU'LL NEED: Only two small screwdrivers are needed: a flat blade and a Phillips head. You'll need a couple of paperback books or some magazines to support the edges of your StarBoard2 circuit board and you should use the pink antistatic foam as a working surface. If any of the pins are bent on StarBoard2, you might require a needle nose pliers to straighten them. 4. A WARNING ABOUT STATIC The biggest enemy of the health of your MultiFunction Module is STATIC ELECTRICITY. Even though you may not see or feel any sign of static at all, your hands may be charged with enough static to destroy the chips on your MultiFunction Module. It is EXTREMELY important therefore that you handle the board and StarBoard2 itself with GREAT care to avoid static damage. Always "ground" yourself; work on a metal table if possible; handle the boards by their edges; avoid touching the chips; use the pink antistatic foam as a bed for the boards; and wear low static (cotton) clothing. Although it may seem extreme to go to all these precautions, and you may get impatient with the slowness of working in an anti-static mode, be aware that it's the single best defense against the real possibility of irreparably damaging an expensive piece of electronics. 5. DEMOUNTING STARBOARD2 Turn your Amiga OFF. Read the instructions in the StarBoard2 User Guide (a duplicate of the instructions you received with your StarBoard2 originally). Even though it might look like you can get away with installing the MFM without totally demounting StarBoard2, don't try it --you're certain to have trouble and you may damage your board. 6. INSTALLING THE U19B PAL CHIP ON YOUR STARBOARD2 Check the serial number of your StarBoard2. If it begins with the letter "B" -- YOU DON'T HAVE TO DO THIS STEP: your StarBoard2 already has a B-series PAL chip in the U19 socket. Store the PAL in its original wrapping. If your serial number begins with an "A" then you MAY have to replace the U19 PAL on your StarBoard2 circuit board. Examine the diagram included in this documentation to locate the U19 PAL on StarBoard2. Look at the actual PAL in this position on the board. It should have a little paper label on it which will say in dot matrix print either "U19" or "U19B" followed by a five or six digit serial number. If the label says "U19B" then once again, you don't have to do this replacement step. ONLY if it is a plain "U19" without the "B" suffix should you replace this chip with the one enclosed in your MultiFunction Module package. The difference between the U19 and the U19B is that U19B is a change in the software embedded in the PAL which permits proper functioning of the StickyDisk and Parity functions. If you don't plan on using these functions, you may also avoid this step. PROCEDURE: A. Support StarBoard2 with books or magazines to avoid flexing the circuit board. Handle the board only by its edges. Locate the position of the U19 PAL chip and note its orientation in its socket as indicated by the notch on the end of the chip (don't go by the orientation of the dot matrix label -- that's not always consistent). Handle the chip as little as possible --static damage is a real possibility. B. Use a small flat bladed screw driver to pry the U19 PAL out of StarBoard2. Pry the chip up by the ends. Lever it up a little, then get the screwdriver substantially under the body of the chip and lever down on the screwdriver (forcing the tip to come up). C. Take the new U19B PAL chip and put it in the socket. It should be oriented the same way as the chip you just removed with the notch on the chip directly adjacent to the mounting hole on StarBoard2. When you insert it in the socket, do it slowly, making sure that all the legs of the chip are actually going into the holes and are lined up properly. Be VERY careful not to bend or break the legs on your PAL. D. After you get your StarBoard2 reassembled and have ascertained that it is working satisfactorily, discard the removed PAL. 7. INSTALLING THE MOTOROLA MATH CHIP IN THE MULTIFUNCTION MODULE If you have bought your own math chip as a separate purchase, you should install it at this point, before installing the MultiFunction Module itself. Do NOT attempt to install the math chip while the Module is mounted in StarBoard2. The specific part number of the chip to be used is MC68881RC12A. All the letters are significant. There are a number of parts in the market marked XC68881RC12 but these are not guaranteed to work correctly. Do not use them. A. Take the pink anti-static foam in which your Module was wrapped and fold it lengthwise two times to make a long pad for the Module. B. Place the Module with the math chip socket (the big square socket) on your righthand side. C. Holding the Math chip so that its label is reading UPSIDE DOWN, line up its many pins with the holes on the socket. Gently rest it in the holes in the socket and make sure all the pins are really lined up. D. Press lightly but firmly on the chip; inspect it again to make sure all its pins are actually going into holes. E. Now firmly press on the chip, working around its surface to evenly seat all its pins. Press about midway from the center to any one edge and then move clockwise around the chip surface at this distance from the center. F. IMPORTANT: The math chip will NOT go all the way flush to the socket. About 1/32nd-inch gap will remain between the chip body and the socket when it is fully inserted. Do NOT try to force the chip any further. 8. MOUNTING THE MULTIFUNCTION MODULE ON YOUR STARBOARD2 Using paperbacks or magazines create a horizontal channel into which you'll place the connector of your demounted StarBoard2. Lay the pink foam over this channel and insert the main, black connector of StarBoard2 (the one that connects to the Amiga) into this channel, with the electronic components of StarBoard2 facing up. The memory chips on the board should be on the "north" side. PROCEDURE: A. Holding your MultiFunction Module by its edges, examine the connectors on its underside. Note the two small, black connectors and the one long black connector. B. Note that on your StarBoard2, there are sets of gold colored pins which correspond to the positions of the black connectors on the MultiFunction Module. C. Holding the Module so that the AAA battery is on the LEFT, match up the two small connectors with their pins on StarBoard2. Don't confuse the jumper block pins with either of the two sets of twelve pins for the Module (the jumper block pin set, in the middle of these two other sets of pins, has only ten pins). Let these two small connectors rest on the pins, center them over the pins, and then push them onto the pins very slightly -- just enough to be sure that all the pins are lined up with the holes on the connectors. D. Now do the same with the long connector and its pins. Make certain that none of the pins are slipping outside the holes or are being bent. E. Using even pressure, centered over each of the connectors in turn, alternate firmly but carefully pushing down on the module to seat it on the pins. This will require the use of moderate force. Since the connectors all have fairly sharp solder pins which project up through the Module and might hurt your fingers, you may wish to protect your thumb with a small piece of the pink foam. During this procedure, continually inspect the pins from all sides to make sure you're not bending any of them. F. IMPORTANT: A gap of about one-tenth of an inch will remain after the Module has been fully mounted on StarBoard2. Do NOT attempt to push the Module all the way down on its connector pins. G. Recase your StarBoard2. Refer to the StarBoard2 Users Guide sheet. 9. CHANGING THE AAA BATTERY The alkaline battery included with your MultiFunction Module provides power for the clock/calendar when your Amiga is powered-off. It should be good for around 18 months to 2 years. When it eventually wears out, replace it with a fresh EVEREADY ENERGIZER or AAA alkaline of equal quality: do not use an inferior battery, the few cents saving will not be worth the trouble you'll be inviting by doing so. It is not necessary to totally demount StarBoard2 to replace the battery. IMPORTANT: The battery forms a part of the Multifunction Module circuitry. You should not remove the battery even if you don't plan to use the clock. PROCEDURE: A. Open the StarBoard2 case to provide access to the battery. B. Support the edge of the MultiFunction Module with your fingers and using a short, flat-bladed screwdriver, wedge the tip under the old battery then twist the blade to pop out the AAA. C. Snap in the new battery. Be sure to support the Module with your other hand to avoid flexing the board. It requires some amount of firm pressure to seat the battery in the holder. D. IMPORTANT: Make sure the battery is correctly oriented: its head (the "+" end of the cell) should point to the LEFT (i.e., AWAY from the Math Chip). Inserting the battery backwards may damage your clock. 10. INSTALLING YOUR MULTIFUNCTION MODULE SOFTWARE Included with your MultiFunction Module is a diskette of "ready-to-use" software. This diskette is also a WorkBench diskette which can be used to boot your computer (note that some of the usual files found on WorkBench have been removed to make room for support files of documentation and for free demos of other vendor's software-- the operational files are presented on a WorkBench so that you might see them immediately, pre-installed in their proper directories). You must use the CLI to copy the various elements of the software collection to your own working copies of AmigaDOS WorkBench 1.2. Do NOT use the original diskette as your working copy. Make a copy of the MicroBotics MultiFunction Module software diskette and work with it to copy the various files you need to a copy of your AmigaDOS 1.2 WorkBench. FILES: A. STARTIME CLOCK SOFTWARE: a) StarTime This is the main command file for the clock. It is in the "c" directory. b) StarTimeClock, StarTimeClock.info This is the WorkBench interface to the clock and the icon. B. STICKY-DISK / STICKYMEMORY SOFTWARE a) SDSet The main StickyDisk command; found in the "c" directory. b) sddevice The StickyDisk device driver; found in the "devs" directory. c) smdevice The StickyMemory (Parity) device driver; found in the "devs" directory. C. THE MATH CHIP SOFTWARE a) mathieeedoubbas.library A replacement library for the standard AmigaDOS library of the same name; found in the "libs" directory. b) mathieeedoubtrans.library An extension library to provide IEEE compatible transcendental functions. c) io68881.library The library which provides the IEEE libraries with the address of the math chip; found in the "libs" directory. d) MathSample (dir) A directory containing examples of how to address and use the chip from Assembler and the C programming language. D. JDDISK SOFTWARE a) JDdisk.Install The program used to create the "mountlist" for JD0: ; found in the "JDDisk" directory. b) jd_dev.device The JDdisk device driver; found in the "devs" directory. E. STARTUP-SEQUENCE SCRIPT a) Startup-Sequence A model Startup-Sequence which optionally installs StickyDisk or JDdisk upon startup; found in the "s" directory. b) YesNo A utility which allows for interactive scripts; found in the "c" directory. F. VENDOR-DEMOS Free demonstrations of selected software packages from other companies. 11. HOW TO USE THE STARTIME SOFTWARE You can invoke the time setting function of StarTime simply by issuing the command STARTIME. This is best done from a Startup-Sequence script (see the model script) but can also be done from the CLI (Command Line Interface) of AmigaDOS. StarTime sets your system time to the time maintained by the battery backed clock in the MultiFunction Module. A. How to Set or Reset the StarTime clock. Your StarTime clock may need to be set when first installed and you may also need to reset it when you change the battery or when Daylight Savings time switches in or out. This is very simple to do: simply use the AmigaDOS DATE command from the CLI and then issue the command STARTIME SET -- this will copy the System time into the StarTime clock. Note that StarTime does not record SECONDS. When the software reads the time from StarTime it compensates for this by setting the SECONDS value to 30 (introducing the least possible error). StarTime has the accuracy of an average digital watch (one or two minutes of drift per month). It is more than accurate enough for its primary function (setting system time for proper date stamping of files). B. Using the StarTimeClock Software from the WorkBench You may also manually access the StarTime clock from the WorkBench level using the StarTimeClock icon driven software (note the slight difference in the file name: Startime is the name of the basic command file used from the CLI; StarTimeClock is used from WorkBench with the Mouse). a) Entry Using the Mouse: This WorkBench software is virtually self-instructional. All you need be aware of is that you key in the setting FIRST and then click on the identifying parameter. For example, point to the "3" on the keypad buttons then click on the MONTH button; the month will be set to MARCH. Experiment with the interface by changing various values and clicking on the various buttons. b) Entry Using the Keyboard: If you tap any key, you'll activate the keyboard interface to the StarTimeClock software. The key "legend" is as follows: Key Description: 0 to 9 Sends that number to the software Up/Down Arrow Scrolls the highlight on the time-date buttons Return Equivalent to clicking the mouse; deactivates keyboard E or X Equivalent to clicking on EXECUTE Q,C,ESC Equivalent to clicking on CANCEL R Equivalent to clicking on READ FROM STARTIME S Equivalent to clicking on SET STARTIME T Equivalent to clicking on SET SYSTEM TIME 12. HOW TO USE THE STICKYDISK AND STICKYMEMORY SOFTWARE StickyDisk is a hardware/software combination which turns your StarBoard2 memory space into a rebootable RAM disk: i.e., a RAM disk the contents of which will survive a "warm" reboot (simultaneously pressing the CONTROL key and the two AMIGA keys). Typically StickyDisk is called from a Startup- Sequence script (see the model) making its installation automatic. It can be manually called from the CLI but if this is done very much after your computing session has begun, you will lose any data you have currently in StarBoard2's memory space. StickyDisk is especially useful in a development environment where you have long runs of source code text in files stored in StickyDisk. You can safely compile from these files (even if the code subsequently "blows up" and GURU's your Amiga) because StickyDisk hardware write protection will prevent memory from being overwritten by your "wild" code. When you warm reboot your Amiga, your StickyDisk and source code files will be intact. It is also very useful at the start of a work session to load your entire work environment (including WorkBench) into StickyDisk and assign your system to it: you'll find your Amiga operates much more quickly if all its command files are in StickyDisk than in physical, floppy disk. EXTREMELY IMPORTANT NOTE: Do NOT remove the WorkBench floppy disk while StickyDisk is starting up. Always wait a few seconds (mentally count to five) before removing the floppy after disk activity seems to stop (after the red busy light goes out). StickyDisk and StickyMemory Commands: The main StickyDisk command is "SDset" --this command has a number of associated key words which modify its actions: A. SDset Start This phrase, inserted in your Startup-Sequence, will ask you if you want to install StickyDisk and if you type "y" for yes, proceed to delink StarBoard2 from the memory map and then reboot your Amiga. This will happen very quickly; the second time the system passes through the StickyDisk Start command phrase it will "see" the StickyDisk hardware "switch" in the "yes" position and initialize then format StickyDisk, making it ready for use. You can address StickyDisk as device SD0: or as StickyDisk. For example, "dir SD0:" will give you a directory listing of StickyDisk contents. Note: if you use SDset Start in a Startup script and you DON'T want to break out of the script when you answer "n" to the "y/n" then you must set the FAILAT level to 51 or higher before that command is issued. For example: FAILAT 51 SDSET START IF ERROR ECHO "avoid StickyDisk" ENDIF FAILAT 10 B. SDset Always Start This phrase does the same as the above but you are not asked the yes/no question about installation. C. SDset Reset Use this command to toggle the linkage of your memory space. If StickyDisk is already in operation, it will reboot your Amiga with the memory re-linked, i.e., useable once again as FASTRAM. If you have the command SDset Start in your Startup-Sequence, you will then be asked as to whether to install StickyDisk or not. Answer "n" for no and you will have your entire StarBoard2 memory space available as FASTRAM. Note that SDset Reset is also useful if you want to delink your StarBoard2 from the system for other purposes: for example, some older software does not deal well with FASTRAM on the bus; you can reset your StarBoard2 and the system will not "see" this memory so your old software will think it has only CHIP RAM available and not get itself into trouble. It is much better to delink memory this way than to physically remove the board from the bus each time. D. SDset Parity This command turns on the parity checking software/hardware also called StickyMemory. It is mutually exclusive with StickyDisk. You can use one or the other but not both at the same time. With parity checking you must also have the additional parity ram chips installed on your StarBoard2. See the diagram on the StarBoard2 User Guide. StickyMemory should be set up in the Startup-Sequence. It initializes StarBoard2 memory with a pattern. You'll see the message "Setting up parity"; a short pause; then the message "Temporarily disabling all interrupts. Please wait."; a slightly longer pause; then your StarBoard2 memory is available for use as parity checked FAST RAM. Note that StickyMemory provides parity checking; not correction of errors. What good is this? It will warn you that an error has occured in the StarBoard2 memory space and that you should not rely on any of the data currently in that space. This knowledge can save you from corrupting your files (for example of a large database) with bad data. StickyMemory sends its warning via a RECOVERABLE alert (i.e., a GURU message which is recoverable). Don't be alarmed by the guru message; in this case it's actually helpful. E. SDset NoParity Turns off theStickyMemory Function. F. SDset Status At any time, you may want to type this command to remind yourself of the exact status of the Sticky hardware. G. SDset Help This reminds you of the keywords useable with SDset. 13. HOW TO USE THE MATH CHIP AND ITS LIBRARIES The Motorola MC68881RC12A Floating Point Unit is, on the MultiFunction Module, implemented as a peripheral device for the Amiga. The 68881 FPU is a high-precision/high-speed hardware implementation of the IEEE standard for floating point math. To that end, it is supported by three special libraries (see the software list). In order to make use of these libraries and the chip, your software must explicitly open these libraries and make its floating point calls through them to the chip. The libraries are called just as would be any other Amiga library. See the examples on the included diskette. Commercial, off the shelf applications software cannot automatically make use of the math chip unless the publishers of the package have made provisions to deal with the FPU and its libraries. Software developers may obtain a 68881 MFM Developers Package from MicroBotics for a nominal charge to cover printing and shipping. The Developers package contains an Applications Note from Motorola, the Motorola 68881 Manual, and a MicroBotics Applications Note. The principal benefit of the MC68881RC12A is a high degree of accuracy without the speed penalty usually exacted by double precision floating point when it is totally software dependent. This is especially so with transcendentals (sines, cosines, etc). If you have a math chip and wish to write your own programs to be able to use it, read the 68881 ReadMe file in the MathSample drawer. 14. HOW TO USE THE JDDISK SOFTWARE The JDdisk software included with your MultiFunction Module is an all-software alternative to the StickyDisk function. Using JDdisk you can create a rebootable RAM disk in just a portion of your StarBoard2 memory rather than use up all of it. For example, you could have a 900k JDdisk and still have 1100k of FAST RAM still available in a two megabyte StarBoard2. Although not as crashproof as StickyDisk, nevertheless JDdisk is indeed very robust and will survive in most GURU/reboot situations. The author of this documentation has used JDdisk continuously in a work environment for many weeks prior to creating this explanation and has never experienced a GURU or other cause to reboot which JDdisk didn't survive. A. Using JDdiskInstall You only need to use this software once: to create the MOUNTLIST in your "devs" directory to be used by the file JD_DEV.DEVICE. You can run JDdiskInstall from the CLI or click on its icon from the WorkBench. When you run it, you'll be asked to reply with the number of "k" (1024 bytes of memory per k) you want in your JDdisk. A good size to start with is about half your available StarBoard2 memory. If you later change your mind about the size, just run JDdiskInstall again on the same WorkBench and it will update the JD0: mountlist data automatically. The MultiFunction distribution disk comes with the MountList set up to create a 1 megabyte JDdisk. If you have less than 2 megabytes on your StarBoard2, you will have to run the JDdiskInstall program and set up for a smaller JDdisk BEFORE you can mount the JDdisk. B. In your Startup-Sequence file you must explicitly MOUNT JDdisk by issuing the command MOUNT JD0:. Once it is mounted, you can check on its availability by issuing an INFO command. JDdisk can be addressed by its device name, JD0: as well as JDdisk:. Note: Do NOT format JD0:; it doesn't need it and you may confuse your system by doing so. C. You can eliminate JD0: by doing a warm reboot and bypassing the JDdisk setup in the Startup-Sequence. 15. NOTES On the MultiFunction Module system disk is a copy of this documentation as well as other notes relevant to the software and the hardware. Be sure to read them. 16. DESIGN CREDITS Many individuals have contributed to the design and production of the StarBoard2 MultiFunction Module; listed below are the principal individuals: Product Design and Concept : Jerry Robinson and Redmond Simonsen Hardware Design : Jerry Robinson StickyDisk/StickyMemory Software : Carl Sassenrath StarTime Software : Charles Heath and Willy Langeveld 68881 Math Libraries and Demos : Dave Milligan, Dale Luck and Jim Goodnow JDdisk Software : Joanne B. Dow Scripts and Documentation : Redmond Simonsen and Mike Pinson