SysInfo V2.39 25th Aug 1991 --------------------------- written in Assembler with Devpac Amiga -------------------------------------- Written by Nic Wilson Nic Wilson Software 138d South Street Toowoomba Queensland 4350 Phone (076) 358539 A/H Voice only (076) 358384 W/H Fax or voice (076) 358522 W/H Voice only EMAIL {cbmvax|cbmehq}!cbmaus!wilson!nic@uunet.uu.net This program was written due to the lack of such a program on the Amiga. It was written using HiSoft Devpac Assembler. I have placed this program on Shareware so that it can be used by everyone. All code, graphics and documents remain copyright Nic Wilson Software. If you like this program, then help me to help you more by sending a small donation. Any amount will be gratefully appreciated. ********************************* IMPORTANT FOR KICKSTART 1.2 - 1.3 ********************************* Amigas that have a maths co-processor using kickstart 1.3 or earlier, MUST use SetPatch 1.34 or later otherwise this program will crash. This program uses 68881 & 68882 instructions and a bug in the kernal causes a guru. SetPatch patches this bug. This is not required for V2.0 users but remember that you have a Setpatch also now, so use it. DISTRIBUTION CONDITIONS ----------------------- Output results from the program may be reprinted without any form of permission. But please state the SysInfo Version number used to obtain the results & give credit to the author. This doc file and the icons must accompany the program unmodified. Additional doc files of your own may accompany the program. Results from different Amiga configurations may be distributed along with the SysInfo files. The executable is not modified in any way, except for crunching, or lharc'ing etc. Further updated versions are distributed as available and as soon as possible. You can always obtain an update by modem if you wish. COMMERCIAL COMPANIES -------------------- You only need verbal permission from myself and may phone or fax me on the above numbers to obtain permission. Or may alternatively write to the above address. If you have already received permission to distribute an earlier version of SysInfo, then you may distribute this version without obtaining further permission. If a commercial company would like all their products listed by name and manufacturer in the 'BOARDS' function, then send me your manufacturer number and your product numbers for each board along with a description of what each board is, and I will add them in to the program. We will then return you a copy of the program with these changes, that you can distribute with your products. INTRODUCTION ------------ Sysinfo is an Amiga Sytem Information program. It interrogates the Amiga and determines types of hardware, software, modes, speed etc. Users have found it very useful for determining correct operation of an Amiga before purchase and that the unit actually contains hardware that they are paying for, without having to open it up. It is under constant revision, and these revisions are available from myself at any time. My goal is to make SysInfo the most informative and accurate information program on the Amiga. To do this I need your input and suggestions. This program is tested with the program 'Enforcer'. Please be patient if you are running SysInfo on a standard Amiga as it will take a while to perform its tests. SysInfo really interrogates your system and has to perform many timing loops to test ram speed, type etc. At times it also disbles multitasking and may blank the mouse pointer, but it will return to multitasking when finished and the mouse pointer will return as soon as you move it. HISTORY (MOST RECENT FIRST) --------------------------- V2.39 Changed the MMU testing routine to attempt to overcome problems on some boards. Changed the memory size in the memory function to reflect Meg size instead of 'K'. Fixed the GVP Hard Disk being seen as Memory Board. Fixed a bug that crept in the last version. An Amiga with no true fast ram would lock up on the speed test. This is now fixed. V2.38 Fixed the check for Phoenix manufacturer in boards function. The A2500 and B2000 strings were reversed in the printing function, now fixed. V2.37 I think I finally fixed the bug that caused the program to sometimes hang while printing if launched from the CLI. The change to the program made in 2.35 caused the speed results to be skipped if printing from inside the program, this is now fixed. Some tidying up of the main image was also done. V2.36 Since going to the new VBLANK timing routine, I neglected to allow for NTSC 60hz timing, so the results were inaccurate. Both PAL and NTSC timing are once again catered for. Addition of SupraRAM and WordSync card recognition in the boards function (Thanx to Matt) V2.35 Sysinfo no longer performs the speed tests immediately. Now that there are multiple gadgets, you had to wait for the speed loops to finish before they could be accessed. The 'AGAIN' gadget is now called 'SPEED', select this gadget to perform the speed loops. It still acts as before and will do the speed tests as many times as you wish. See 'SPEED' under 'FROM WORKBENCH' for more info. V2.34 Added new 'MEMORY' function gadget. This new function gives much more info about RAM in the system. V2.33 Added ability for new 'BOARDS' function to recognise certain autoconfig boards by manufacturer name and model. This info must be known by the program. If unknown it will give the numbers, call me and tell me the numbers and what the card is and I will add it in to the program. The more I get the more intelligent the program will become for all users. The HARD PARTITIONS count in the main window will now only count known hard drives. Any unknown ones will show in the OTHERS area. If your hard drive shows as an other, call me and tell me the name of your device driver and I will add it in to the program. Changed the speed comparison calculation for 68000 processors to allow for no FAST RAM. Results should be more accurate. V2.32 Addition of new 'Boards' function that gives info on AutoConfig boards found in the system. Moved stuff around in main window to make way for more gadgets to do more beaut stuff. Owners of Amiga's with 020 or 030's may notice that their FAST RAM vs CHIP percentage has increased over previous versions. This is because I quad aligned the memory test area, allowing a 32 bit processor to access 32 bit ram faster. Changed the Timer routine again to use a VBLANK interuppt server, this should improve stability even further. It has improved accuracy of the 500/2000 hardware clock test. Added an optional heading string to the PRINT routine. The A3000/040 and A3000/030 strings were backwards in the print routine. This has now been corrected. By popular demand I added a form feed at the end of printing V2.31 Addition of new CIA timer speed accuracy test. SEE CIA TIMER TEST. V2.30 Addition of a new 'Drives' function. See 'DRIVES GADGET' below. Addition of new output window for the print routine, to allow saving of output to a filename or printer etc. See 'PRINT' below V2.22/3 Changed the timer routine to use direct hardware instead of calling DOS this should give much more stability. Using direct hardware is frowned upon, but I doubt if the the CIA's will ever move from their current location, and I couldn't seem to find a better way to do it. V2.21 Added the ability to recognise a 68881 added via MathIEEE.resource The only one I know of is the Phoenix A1000 replacement motherboard, it allows the addition of a 68881. Added kickstart size to the 'KICKSTART VERSION' string. V2.20 Fixed a hanging Forbid if run on an A3000. Fixed a intermittent bug that caused some programs to 'hang' if SysInfo was launched from the CLI. Fixed small amount (26k) of 16 bit memory showing when no 16 bit memory was installed. V2.15 Code optimisations & improvements since updates below. Greatly improved execution speed on non-32 bit processors. Added the ability to differentiate between 1MB and 2MB Agnus. V2.14 A2620 boards with 32 bit wide ram, still intermittently being seen as 16 bit cards. Fine tuned routine still further. V2.13 The program no longer reflects the Exec.library CPU and FPU type, it tests for 68030, 68040, 68882 itself and changes the Exec AttnFlags accordingly if incorrect. Agnus "mode" had been removed, and the DISPLAY field now reflects wether Agnus is PAL or NTSC, rather than Intuition's mode. The MHZ display now does an educated calculation of the actual clock speed based on test results to try and make the display more accurate. V2.12 GVP 32 bit ram boards in the $200000+ range were still being seen as 16 bit boards, fine tuning of the testing routine seems to have cured this slight problem. GVP timings were made more accurate. Maximum memory could also return invalid results if you had ram boards in the $200000 area. V2.11 Fast memory free was slightly inaccurate in V2.10, now fixed. Added Memory Address location of Kickstart. V2.10 By popular demand printing ability during screen display or instead of (-p). Better 32 bit ram testing with support for recognising and displaying 32 bit ram boards within the 8 meg area ($200000-$A00000). V2.01 Added ability to recognise 32 bit ram and is displayed in all areas if found. V2.00 Fixed 2 'enforcer' hits. Although enforcer hits will still occur at memory location $2c. This vector is temporarily modified in order to trap the exception when testing for a MMU. V1.99 Included the clock check for the A3000. V1.98 RAMSPEED VS CHIP was incorrect and could give wrong results. CHIPRAM VS A3000 was totally wrong and and results were garbage. Both these new routines should be much better. USAGE ----- FROM CLI -------- run SysInfo -p Print info to standard redirection output instead of custom screen. EG. SysInfo >prt: -p (for printer) SysInfo -p (for CLI window) -t Mainly for internal, time testing use. See 'NOTE ON SPEED COMPARISONS' below. The custom screen will still open to keep the timing accurate, but no information will be printed to it. On completion the screen will close and the information printed on the CLI window or redirected output. NOTE 'run' should always be used from a CLI launch as the program is much more stable and accurate. I have no idea why, it just is. Anyone explain this? FROM WORKBENCH -------------- Double click the SysInfo icon. After the speed comparisons are complete, you will be able to access one of four gadgets in the bottom right of the window. These are QUIT, DRIVES AGAIN or PRINT. QUIT Does just that, exits the program completely. MEMORY Is explained below BOARDS Is explained below. DRIVES Is explained below. SPEED Runs the speed comparisons and displays the result accordingly. This can be selected as may times as you wish so the results can be averaged. This now works differently than older versions of SysInfo. Users of standard speed Amiga's had to wait quit a long time before the other gadgets could be accessed. This was a nuisance if you only required certain info. This change has not affected the -p function in anyway. PRINT Will open a window and prompt for a filename and an optional heading string, This heading string will be printed at the top of the page and can have a maximum of 100 characters. Enter a path and filename to save to, or to choose the default 'PRT:' for output to a printer just click the 'OK' gadget. Printing will commence after the 'OK' gadget is clicked. DRIVES GADGET ------------- When this gadget is clicked another window will open and display a gadget for each floppy, hard or rad drive you have connected to your Amiga. In the middle of the window you will see Information on the paticular drive that has its gadget highlighted. To select a particular drive, just click on its gadget. To re-read the same drive, click in its gadget again (useful for rereading a floppy when the disk has been changed). BOARDS GADGET ------------- When this gadget is clicked another window will open and display various information on any AutoConfig boards found in the system. This information consists of the memory address of where the board was configured, its size, and the type of board. The types to date, can be ZORRO II or ZORRO III, any others are not yet defined by Commodore and will be displayed as UNDEFINED. The boards Product number, manufactures ID and the serial number will also be displayed. If SysInfo recognises the manufacturer of the card and or the product itself it will display the names instead of the numbers. Note that a standard A3000 has no AutoConfigure boards as such, its extra hardware is known by the special Kickstart files and its memory and hard drive are not AutoConfig. A2000 users using zkick to load V2.0 will also notice that their memory boards will not show in the AutoConfig list, as they were actually configured by 1.3 and zkick patches them in. MEMORY GADGET ------------- When this gadget is clicked another window will open and display various information on any memory in the system. The first section displayed will be the first memory section that was configured by the system. At the bottom left of the display are two gadgets, 'NEXT' and 'EXIT'. The next gadget changes the display to show the next memory section, until no more sections are found. At that time the window will close and return to the next section. The exit gadget exits immediately to the main screen. SPEED COMPARISONS ----------------- The A500 STANDARD comparison is against a PAL A500 totally unexpanded (ie. no Fast Ram). The B2000 EXTRA RAM comparison is against a PAL B2000 Rev 4.4 with a Microbotics 8-UP Fast Ram board. The GVP A3001 comparison is against a B2000 Rev 4.4 with a GVP A3001 acellerator card, using a clock speed of 28MHZ. All caches and bursts on. The board also contained 4 megs of 32 bit wide, 80ns nibble mode ram. The A2620 comparison is against a standard A2500 with a A2620 card running at 14.3MHZ. All caches and bursts on. The A3000 25MHZ comparison is against a standard A3000/25MHZ with 4 Megs of 1MX4 SCRAMS 32 bit wide, and 2 Megs of CHIP. Caches and bursts on except Data Burst (default under V2.0 V37+). Ramsey mode was set at default, BURST ON and STATIC COLUMN OFF. The A3000 with the 68040 25MHZ board from Progressive Peripherals & Software. Comparisons were calculated from the '-t' information given to me over the phone by them. I hope to have one of these boards soon to do some more testing on, and I will give further info in later versions. CIA TIMER TEST -------------- This is a test of the speed accuracy of the CIA (A) timer in the Amiga. I have recently had enquiries by users that their Amigas were showing very slow or very fast speeds on SysInfo. Investigation showed that their CIA's were very inaccurate for various reasons. On normal use you may not even notice that there is anything wrong. Symptoms can show system clock running fast or slow, SysInfo type programs show wrong results. A correctly working system will show 'PASSED' beside the CIA ACCURACY string and '0' beside the TICKS PER SECOND string else if there is a problem it will show the number of ticks per second the inaccuracy is. Normally an Amiga will supply 50 ticks per second The most common cause I have seen for inaccuracy on a B2000 is a noisy power supply. This can be corrected by changing J300 jumper (toward the rear right of the mother board (under the power supply)) to connect to the right set of the three pins. This will change the system tick to the VBLANK connection and correct the inaccuracy. FREE MEMORY ----------- This shows the amount of free memory as if the program is not running so may not be accurate to the byte, but is a very close indication of the free pool. The TOTAL MEMORY is the total amount of memory that the Exec memory list reports. Tests have showed that this figure is around 800 odd bytes short of actual. This is because the amount of memory that exec takes itself never gets added to this list. RAM SPEED vs CHIP is a calculated performance test of your CHIP RAM vs your PUBLIC RAM. The result is shown as a percentage increase in the speed of the PUBLIC RAM. If no FAST or SLOW ram is available then the result will be around 0%, and this figure can change depending on CHIP ram usage at the time. This figure cannot be used as a speed comparison between machines. For example the A3000 Chip ram is around 4.5 times the speed of an A2000's CHIP with a 68030 board installed. Therefore the A3000's Fast ram will not show a comparable increase to the A2000. It was mainly designed to test the difference between fast ram cards or chips on the same unit. HARDWARE CLOCK only looks for the standard 2000, 500 or 3000 Hardware clock. It does not look for the multitude of different clocks that were available for the 1000. INTERNAL HARDWARE ----------------- This shows internal harware as the program has found it. ECS stands for ENHANCED CHIP SET. If Agnus or Denise show this then they are the lastest custom chips. The number that is shown in brackets is the actual chip number, this helps in physical identification of the chips. The program is also able to tell the difference between the 1MB & 2MB versions of Super Agnus. CPU's 68000, 68010, 68020, 68030 and 68040 are supported and will be displayed if found. If Exec is incorrect then it is modified to reflect the correct hardware FPU's or Floating Point Units 68881 and 68882 and internal 68040 are supported and will be displayed if found. These chips are also often referred to as maths co-processors. Wether or not you have one is tested by the program, and Exec changed if incorrect. MMU's or Memory Management Units 68851 or the internal 68030 and 68040 are supported. These are actually tested for as Exec does not carry this info. The 68451 never became very popular so is not supported. SPEED IN MHZ is a rough indication of the clock speed. This is not totally accurate but is a good indication. It at least allows you to know wether your system is 7MHZ, 16MHZ or 25MHZ etc. All caches, bursts and copyback modes are temporarily disabled during the test for greater stability, but this should be transparent to the user. Clock Speed is normally difficult to find out unless you take the unit apart and even then is difficult. Fast ram must be available for this to be anywhere near accurate, as the timing loops were all based on machines with some Fast ram available. It is interesting though to disable fast ram and see the performace drop in this figure. This is not true for a 68000 based Amiga, the program will take into account if no fast ram is available and calculate accordingly. WR.ALLOC or Write Allocation is only applicable to 68030 and 68040 processors. This shows if it is currently enabled or disabled. When enabled (always in an A3000) the processor updates the data cache on cachable writes. COPYBACK is only applicable to the 68040. This shows if it is currently enabled or disabled. INS. CACHE or Instruction Cache is applicable to 68020, 68030 and 68040 processors. This shows if it is currently enabled or disabled. This bit can be manipulated with SetCpu. INS. BURST or Instruction Burst is applicable to 68020, 68030 and 68040 processors. This shows if it is currently enabled or disabled. This bit can be manipulated with SetCpu. DAT. CACHE or Data Cache is only applicable to 68030 and 68040 processors. This shows if it is currently enabled or disabled. This bit can be manipulated with SetCpu. DAT. BURST or Data Burst is only applicable to 68030 and 68040 processors. This shows if it is currently enabled or disabled. This bit can be manipulated with SetCpu. THINGS I WOULD LIKE TO ADD -------------------------- 1. Ability to check Amiga model (A1000, A500, A2000) is it possible? It is on the A3000 because of its specific hardware. 2. Ability to split the XT and AT bridgeboard. Anyone know how? 3. Your ideas! Any suggestions preferably in assembler but I can translate C if I have to. NOTE ON SPEED COMPARISONS ------------------------- If you have any of the machines listed above, or even a totally different configuration, run the program with -t option (eg. sysinfo -t ) then phone me with the resulting numbers that will be printed to the screen. My phone number or fax is at the top of this file. Happy Computing Nic Wilson Amiga, AutoConfig and AutoCongure are TradeMarks of Commodore Business Machines.