@database "AmigaLoad.guide" @$VER:AmigaLoad V1.3 970207 @(C) "Copyright 1997 Hans Forssell" @AUTHOR "Hans Forssell" @database AmigaLoad 1.3 Hans Forssell 1997 @Node Main "AmigaLoad V1.3" /\ __ | _ _ \ / _ / \ /\/\ | / _ /\ | / \ /\ | \ \ / /| _\ /----\ / \ | \__/ /--\ |__ \_/ /--\ |_/ \/ |. _/ @{" What is AmigaLoad? " Link "What"} @{" What is new? " Link "News"} @{" Copyright " Link "Copyright"} @{" Installation " Link "Install"} @{" MUI " Link "MUI"} @{" AmigaLoad " Link "AmigaLoad"} @{" AmigaLoad Settings " Link "AmigaLoadSettings"} @{" Hardware MCI " Link "HardwareMCI"} @{" Hardware LED " Link "HardwareLED"} @{" Bugs and Problems " Link "Bugs"} Written by Hans Forssell Email: tl94hfl@adeptus.student.hgs.se Stigsrundan 13 806 42 Gefle Sweden @EndNode @Node "What" "What is AmigaLoad" AmigaLoad is software and hardware that makes it possible to display some information (CPU-load, Free mem, ...) about your Amiga on a Moving Coil Instrument (MCI), LED-display or similar. AmigaLoad can also display the information on your WB screen. Don't be afraid to send questions, suggestions and bug-reports to me! I will try to answer all your mail (tl94hfl@adeptus.student.hgs.se). You can always download the latest version of AmigaLoad from my HomePage: www.hgs.se/~tl94hfl/ @EndNode @Node "News" "What is new?" Thank you for all suggestions! I have not implemented all in this release, but maybe in the future. News in AmigaLoad 1.3 Support for LED-display hardware (Many thanks to Yannick Erb for the LED hardware!) New icons (Many thanks to Len Trigg for the new icons!) Possible to add/remove window border, dragbar and size gadgets (Suggested by Haidinger Walter and Torbjorn Aronsson) Virtual window can be of backdrop type Possible to have the virtual instruments in two rows or two columns (Suggested by ???. Sorry I have forgot your name!) Two new types of the 'Graph virtual instrument' added 'Graph (Filled)' and 'Graph (Scale + Filled)' (Suggested by Len Trigg) Time added (Warning: The analog type looks terrible...) Possible to watch free space on any device. (Suggested by Sven Differt) Possible to watch stack usage for any task. AmigaLoadNoGraph for those who don't use the 'virtual instruments'. (Suggested by Sadik Hafizovic) Bugs removed: AmigaLoad window activated when opened (Found by Haidinger Walter) News in AmigaLoad 1.2 Possible to invert all values CPULoad rewritten Three new virtual instruments Two resizeble MCIs (Suggested by Fredrico Villata, Alexander Reifinger, ...) Graph with scale) (Suggested by Haidinger Walter) Uptime added (Suggested by Haidinger Walter) Many bugs removed: System freezed if CPU-caches were used on some systems (Many thanks to Shawn D'Alimonte for a lot of testing!) CTRL_C handling bug removed (Found by Haidinger Walter) Quit problems when priority < 0 removed (Found by Haidinger Walter) News in AmigaLoad 1.11 Possible to change the order of the virtual instruments (Suggested by Michele Stival) Two new virtual instruments (Gauge and Gauge with scale) Many bugs removed: System freezed if CPU-caches were used on some V37 systems (Found by Shawn D'Alimonte and Peter Daas) Default path to AmigaLoadSettings changed to Sys:... (Found by Pater Daas) Now Public Mem works!? (Found by me) News in AmigaLoad 1.1 Support for two MCI:s (Suggested by David Bump) Two new 'Types' (Frag Fast and Frag Chip) Two new virtual instruments (Numeric and Graph) Set the path to AmigaLoadSettings Bug removed in 'Calibration' The MCI routines are a bit faster than before @EndNode @Node "Copyright" "Copyright" AmigaLoad 1.3 is written by Hans Forssell 1997 I take no responsibility if you damage your computer hard and/or software when you use this program. AmigaLoad 1.3 is FreeWare. @EndNode @Node "Install" "Installation" AmigaLoad 1.3 requires WB2.0 and @{"MUI 3.1" Link "MUI"}. Unpack AmigaLoad.lha somewhere on your HD. Copy AmigaLoad to the WBStartup drawer, and AmigaLoadSettings to Sys:Prefs/. AmigaLoad 1.3 doesn't use your old AmigaLoad.prefs file. @EndNode @Node "MUI" "MUI" AmigaLoad 1.3 require MUI 3.1 or better. This application uses MUI - MagicUserInterface (c) Copyright 1993-96 by Stefan Stuntz MUI is a system to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to his personal taste. MUI is distributed as shareware. To obtain a complete package containing lots of examples and more information about registration please look for a file called "muiXXusr.lha" (XX means the latest version number) on your local bulletin boards or on public domain disks. If you want to register directly, feel free to send DM 30.- or US$ 20.- to Stefan Stuntz Eduard-Spranger-Stra 80935 M nchen GERMANY Support and online registration is available at http://www.sasg.com/ If you for some reason not have installed MUI yet - do it now!!! Thanks to Stefan Stuntz for a Magical User Interface. @EndNode @Node "AmigaLoad" "AmigaLoad" Double click on the icon to start AmigaLoad. If you have a MCI/LED connected to the joystickport it will display 0% until you have run AmigaLoadSettings. AmigaLoad will also open a window on your WB screen that displays the CPU-Load and Free mem. AmigaLoadNoGUI is AmigaLoad without the GUI. You can still use AmigaLoadSettings. If you for some reason want to quit AmigaLoad use Exchange or click on the close gadget in the 'Virtual' window. @EndNode @Node "AmigaLoadSettings" "AmigaLoadSettings" Double click on the icon to start AmigaLoadSettings. The config is split up in six pages: Virtual : Settings for Virtual instruments User : Settings for Virtual and MCI/LED Invert : Settings for Virtual and MCI/LED Common : Settings for Virtual and MCI/LED MCI 1 : Settings for MCI 1/LED 1 MCI 2 : Settings for MCI 2/LED 1 If you have one or more MCI:s connected read @{"Calibrate MCI" Link "CalibrateMCI"}! If you have one or more LED:s connected read @{"Calibrate LED" Link "CalibrateLED"}! Virtual: Set which instruments that should be displayed in the 'Virtual' window on the WB screen, and the orientation of the window. For those of you who are not familiar with MUI:s drag and drop: The left list lists the virtual instruments that are not displayed, and the right list lists those that are displayed. To display a new instrument: Move the pointer to the instrument you want to display. Press the left mouse button, and drag the instrument to the right list. Release the button. To remove an instrument: Drag the instrument from the Display list to the Available list. Change the order of displayed instruments: Drag the instruments in the Display list. A horizontal line tells you were the instrument will be placed. See @{"Type" Link "Type"} for more info. Short explanation of the gadgets... Upper left cyclegadget Select one of AmigaLoads 11 different types of virtual instruments. Upper right cyclegadget Select if window should be horizontal/vertical or two rows/columns. Note: There must be an even number of objects to use two rows/columns Uptime With the cycle gadget you can select how the Uptime should be displayed. Try the different types to find the one that looks best with the selected type of virtual instrument. The horizontal format is: D-HH:MM D = Days H = Hours M = Minutes Time With the cycle gadget you can select how the Time should be displayed. Try the different types to find the one that looks best with the selected type of virtual instrument. The digital format is: HH:MM H = Hours M = Minutes Win Type Select if the AmigaLoad window should be backdrop or not. Border Add/Remove window border. Dragbar Add/Remove window titlebar and size gadget. SizeGadget Add/Remove window size gadget User: These settings are common for both virtual instruments and MCI/LED:s See @{"Type" Link "Type"} for more info. Invert: If set the value will be inverted (0% -> 100%, 100% -> 0%) for virtual intstruments and MCI/LED:s. Common: These settings are common for both virtual instruments and MCI/LED:s Short explanation of the gadgets... Update: How often should the values be updated (MC and Virtual instruments) in seconds? Default = 3s. Settings: Path to AmigaLoadSettings. This path is used when you select 'Settings...' from the AmigaLoad menu. Code: Registration code. Send a mail to me with the subject 'AmigaLoad 1.3' and I will send the code to you. The registration is totaly free. MCI 1 and MCI 2: Short explanation of the gadgets... Instr: Set to 'MCI' if you have a MCI conneted and 'LED (10)' if you have a 10 LED-display connected. Type: What should the MCI/LED show? Short @{"description" Link "Type"}. Freq: The frequency of the signal that is send to the MCI/LED. This frequency should be as low as possible. Decrease the frequency until the pointer on the MCI almost starts to vibrate (~10Hz). Default = 20Hz. Set to 10-20Hz for LED-displays. Int Pri: The priority of the timer interrupt that generates the square wave for the MCI/LED. If set too high it may disturbe other 'more important' interrupts. Default = -16. Calibrate: Calibrate the MCI/LED. See @{"Calibrate MCI" Link "CalibrateMCI"} and/or @{"Calibrate LED" Link "CalibrateLED"}! Test Cal: Test the calibration. The slider value should be the same as the MCI/LED value. Test NoCal: Test the MCI/LED. The slider value will not be the same as the MCI/LED value. When the slider is 100% the output is ~4V DC. Save: Save and quit. Cancel: Quit. @EndNode @Node "CalibrateMCI" "Calibrate MCI" If you have one or more MCI:s connected: Note: 'MCI 1' settings are for pin 9, and 'MCI 2' for pin 5! Select 'MCI 1' or 'MCI 2'. Set the cyclegadget 'Instr' to 'MCI'. The first thing you should do is to click on the 'Test NoCal' gadget. The pointer on the MCI should move when you change the value of the slider. If the pointer doesn't move - turn off your computer and check the hardware. If the MCI never reach 100% or the MCI reach 100% when the slider is <85% read the @{"Hardware MCI" Link "HardwareMCI"} doc. The MCI must be calibrated before you can use it: Click on the 'Calibrate' gadget. Make sure that the slider is set to 0% and use the screw on the MCI to adjust the pointer to 0%. Increase the slider value until the pointer on the MCI starts to move. Click on the 'Ok' gadget. Use the slider (the slider value is unimportant) to set the pointer on the MCI to 10%. Click on the 'Ok' gadget. And so on... Test the calibration with 'Tast Cal' (Slider value and MCI pointer should display the same value). @EndNode @Node "CalibrateLED" "Calibrate LED" If you have one or more LEDs connected: Note: 'MCI 1' settings are for pin 9, and 'MCI 2' for pin 5! Select 'MCI 1' or 'MCI 2'. Set the cyclegadget 'Instr' to 'LED (10)'. If you have more/less than 10 LEDs use the 'MCI' mode instead. In 'LED (10)' mode the calibration data will be used directly without any intepolation, this prevents the LEDs from flickering when the output 5%, 15%, 25%,... The first thing you should do is to click on the 'Test NoCal' gadget. Now it should be possible to control the LEDs with the slider, if you can't - turn off your computer and check the hardware. If the last 2-3 LEDs doesn't work as expected or if the LED-display reach 100% when slider < 50% - read the @{"Hardware LED" Link "HardwareLED"} doc. The LED must be calibrated before you can use it: Click on the 'Calibrate' gadget. Use the slider to find the value midway 0% and the slidervalue when the first LED is almost active. Click on the 'Ok' gadget. Use the slider to find the value midway: Value when the first LED is almost active. and Value when the second LED is almost active. Click on the 'Ok' gadget. Use the slider to find the value midway: Value when the second LED is almost active. and Value when the third LED is almost active. Click on the 'Ok' gadget. And so on... Test the calibration with 'Tast Cal'. Slider value and the LEDs should display the same value, and none of the leds should 'flicker'. @EndNode @Node "Type" "Type" NONE: Always 0%. CPU-Load: How much time does a -128 pri task get? 0% CPU has nothing to do. 100% CPU always busy. Ready: How much time does a 0 pri task get? 0% A new task will get almost no CPU. 100% A new task may use 100% of the CPU. Public Mem: How much public memory is free? 0% Out of public memory. 100% All public memory free. Fast Mem: How much fast memory is free? 0% Out of fast memory. 100% All fast memory free. Chip Mem: How much chip memory? 0% Out of chip memory. 100% All chip memory free. Frag Fast: How large is the biggest fast-memory block compared with total free fast-memory? 0% No fragmentation 100% Your fast-memory is fragmentated... Frag Chip: How large is the biggest chip-memory block compared with total free chip-memory? 0% No fragmentation 100% Your chip-memory is fragmentated... Device 1-3: How much space is used on the device? 0% Device is emty or not found 100% Device is full Note: You will get a requester if no disk was found... Stack 1-3: How much space is used of the stack? 0% Stack is emty or task not found 100% Stack is full Warning: AmigaLoad does nothing to prevent stack overflow! If stack overflows AmigaLoad will still display 100%. Note: If 'Invert' is selected all values are inverted. @EndNode @Node "BC547B" "BC547B" TO92 Not important Type = NPN Important Ptot = 0.3W >0.05W Vceo = 45 >5 Ic = 0.1A >0.01A = 200/450 Not important ft = 300 Not important _____ /_____\ | | |BC547| ------- | | | | | | | | | | | | 1 2 3 1 = Collector 2 = Base 3 = Emitter @EndNode @Node "Bugs" "Bugs" When Uptime and/or Time 'Window Title' is selected, the windows title gadgets may be overwritten. (Bug in MUI?) 24byte memory loss when MCI #1 is used. (Bug in MUI?) Don't use Simple Refresh with Graph (Gfx lost if covered by other objects). If you find any bugs, please e-mail me (tl94hfl@adeptus.student.hgs.se)! @EndNode @Node "HardwareMCI" "Hardware MCI" What you need: 1 Moving coil instrument (Ammeter) 1 9-pin D-Sub Female 1 Transistor @{"BC547B" Link "BC547B"} (or equvivalent) T1 1 Capacitor ~100 F C1 1 Resistor ~10kohm R1 1 Resistor ~50kohm - ~10Mohm R2 1 Resistor ~100ohm - ~7kohm R3 1 Resistor ~100ohm - ~1kohm R4 The MCI should have a scale that is easy converted to percent. Ex: 0 - 100 0 - 1mA 0 - 10mA 0 - 100mA 0 - 1A The output from pin 5/9 on the joystickport is a square wave (0 - 4V) with a duty-cycle from 0% to 100% when AmigaLoad is running. (Use 'Test NoCal' in AmigaLoadSettings to test) 'MCI 1' settings are for pin 9, and 'MCI 2' for pin 5! Construction help: For more info see picture AmigaLoadMCI.iff! Imax = Maximum current for MCI. See table! Ic = Collector current. Ib = Base current. Ri = Internal resistanse for the MCI. = Ic / Ib. For BC547B = 200. Min Max Imax Ri R2 R3 R4 0 - 100 A 100 A ~800ohm - ~4000ohm 1M 120 140 - 702 0 - 1mA 1mA ~70ohm - ~180ohm 670k 120 Remove 0 - 10mA 10mA ~3.5ohm 67k 120 Remove 0 - 100mA* ~7mA ~7ohm 96k 120 Remove 0 - 1A* ~7mA ~7ohm 96k 120 Remove *) Remove internal/external shunt! The LP-filter converts the square wave to DC-voltage. I have used a simple first order filter, but you can use a more advanced if you like. I have used Tau = R1*C1 = 10k*100 = 1s. R2 must be bigger then R1, else the LP-filter will not work as expected. R2min = 10*R1 = 10*10k = 100kohm R3 is not necessary in all situations. It's main purpose is to avoid short-circuit if you connect anything wrong. R3 is the only component connected to +5V if you have connected everything correct. R4 = R2*Ri*Imax / ( (4 - 0.65)* - R2*Imax ) Equ 1 Try R2 = 1M in equ 1 If R4 > 100ohm Use R1 = 10kohm R2 = 1Mohm R3 = 120ohm R4 = Calculated value from Equ 1 C1 = 100 } else R2 = (4 - 0.65)* / Imax Equ 2 If R2 < 100kohm, test with another value in Equ 1. Use R1 = 10kohm R2 = Calculated value from Equ 2 R3 = 120ohm R4 = Infinite = Remove C1 = 100 You will probably not find resistors with the calculated values. Available resistors are: 10, 12, 15, 18, 22, 27, 33, 39, 47, 56, 68, 82, 100, 120, 150, 180, 220, 270, 330, 390, 470, 560, 680, 820, ... ... ... Always choose the resistors so the current gets larger than the calculated value ( R2 and R3 smaller and R4 bigger ). +5V should be connected to pin 7, Gnd should be connected to pin 8 and Data should be connected to pin 9 (MCI 1) or pin 5 (MCI 2) on the D-Sub. Build the circuit and put it in a nice box. Connect the D-sub to the joystickport. Have the power off when you insert the D-sub. When you start your computer, make sure that the power led shines and that it doesn't come smoke from your computer, if it does - something is very wrong... Start AmigaLoad and AmigaLoadSettings. Click on the 'Test NoCal' gadget in AmigaLoadSettings. The pointer on the MCI should move when you change the value of the slider. If the pointer doesn't move - turn off your computer and check the hardware. If the MCI never reach 100% or the MCI reach 100% when the slider is <85% change the values on R2, R3 and/or R4. When AmigaLoad is not running the MCI may show ~20% anyway, this is normal and nothing to worry about... If you have problems building the hardware or to calculate the resistor values - write a mail to me, and I will try to help you! @EndNode @Node "HardwareLED" "Hardware LED" What you need: 1 IC LM3914 (Dot/Bar Display Driver) or similar 1 9-pin D-Sub Female 10 LEDs 1 Capacitor ~47 F C1 1 Resistor ~10kohm R1 1 Resistor 10kohm, 1.8kohm or 1kohm R2 1 Resistor 8.2kohm, 1.8kohm or 1kohm R3 Thanks to Yannick Erb for the LED hardware! The output from pin 5/9 on the joystickport is a square wave (0 - 4V) with a duty-cycle from 0% to 100% when AmigaLoad is running. (Use 'Test NoCal' in AmigaLoadSettings to test) 'MCI 1' settings are for pin 9, and 'MCI 2' for pin 5! Construction help: For more info see picture AmigaLoadLED.iff! The LP-filter converts the square wave to DC-voltage. I have used a simple first order filter, but you can use a more advanced if you like. I have used Tau = R1*C1 = 10k*100 = 1s. LM3914 can work in two different modes - Dot and Bar. In Dot-mode only one LED is active at the same time. The mode is controlled with pin 9 on the LM3914. Connect to +5V for Bar-mode, and leave unconnected for Dot-mode (Not GND). The LED brightnes is controled with the two resistors R2 and R3: Bar-mode: Dot-mode: R2 = 10kohm and R3 = 8.2kohm -> Itot = 50mA Itot = 5mA ILED = 5mA R2 = 1.8kohm and R3 = 1.8kohm -> Itot = 100mA Itot = 10mA ILED = 10mA R2 = 1.0kohm and R3 = 1.0kohm -> Itot = 160mA Itot = 16mA ILED = 16mA Note: Maximum current (Itot) for some joystickports are 125mA (A500)! R2 and R3 also defines the voltage when all 10 LED:s are on. This voltage must be smaller than 5-1.8 = 3.2V or the last 2-3 LEDs won't work as expected. Use a smaller R3 if you have this problem. +5V should be connected to pin 7 on the D-Sub, Gnd should be connected to pin 8 on the D-Sub and Data should be connected to pin 9 (MCI 1) or pin 5 (MCI 2) on the D-Sub. Build the circuit and put it in a nice box. Connect the D-sub to the joystickport. Have the power off when you insert the D-sub. When you start your computer, make sure that the power led shines and that it doesn't come smoke from your computer, if it does - something is very wrong... Start AmigaLoad and AmigaLoadSettings. Click on the 'Test NoCal' gadget in AmigaLoadSettings. Now it should be possible to control the LEDs with the slider, if you can't - turn off your computer and check the hardware. If the last 2-3 LEDs doesn't work as expected - use smaller R3. If the LED-display reach 100% when slider < 50% - use larger R3. When AmigaLoad is not running the LEDs may show ~20% anyway, this is normal and nothing to worry about... If you have problems building the hardware or to calculate the resistor values - write a mail to me, and I will try to help you! @EndNode