home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / utility / bnchmark / profl153 / profile.txt < prev   
Text File  |  1994-03-24  |  48KB  |  891 lines

  1.                                  PROFILE v1.53
  2.                               by Linnhe Computing
  3.           Copyright (c) 1993, 1994 Mark S Baines All Rights Reserved
  4.  
  5. Mark S Baines asserts the moral right to be identified as the owner of this
  6. work.
  7.  
  8.  
  9. PROFILE IS A FREEWARE PROGRAM
  10. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  11. PROFILE is protected under UK and International copyright law, and is NOT
  12. public domain software. That is, Mark S Baines still owns the copyright to this
  13. program and the document files. You are hereby granted a licence to use this
  14. copy for private, non-commercial use. You are not allowed to alter the program
  15. in any way, to do so is an infringement of my rights. FREEWARE is NOT Public
  16. Domain!
  17.  
  18. If you do feel like rewarding my efforts with a small remuneration then please
  19. send a payment of at least £5.00 (five UK pounds cash, postal order or UK
  20. cheque) to me.
  21.  
  22. Please make your payment to "Mark S Baines" and **NOT** "Linnhe Computing" and
  23. state which version you have and where you obtained it.
  24.  
  25.     Linnhe Computing
  26.     'Linnhe'
  27.     Shore Street
  28.     Inver, by Tain
  29.     Ross-shire
  30.     IV20 1SF
  31.  
  32.  
  33. Bulletin Board Sysops and managers of Public Domain libraries are allowed to
  34. make this program freely available to their users and customers as long as this
  35. document is included with the program and both remain unaltered.
  36.  
  37. The FaST Club may place this program on its Disk Magazine which is available to
  38. subscribers. Floppyshop and The FaST Club may also include it on their
  39. Catalogue disks.
  40.  
  41. No other magazine, whether commercial or free, professional or amateur, may
  42. place PROFILE on a disk magazine or magazine cover disk without the express
  43. permission of Mark S Baines at the above address. This includes Atari ST User
  44. and ST Format. ST Review was given permission to include this version on their
  45. cover disk on 19th February 1994. Mark S Baines reserves the right to demand
  46. the appropriate remuneration from commercial magazines and disk magazine
  47. publishers for permission to publish PROFILE on their disks. If you make a
  48. profit out of selling a magazine with a cover disk, then it is only right that
  49. some of that profit should be distributed to the authors of the software
  50. contained therein.
  51.  
  52.  
  53. PROFILE - INVENTORY
  54. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  55. When distributed through any means whatsoever, this total package must not be
  56. separated.
  57.  
  58. PROFILE.PRG  The program
  59. PROFILE.TXT  The documentation in standard ASCII text file
  60. PROFILE.ASC  The documentation in reformatable ASCII text file
  61.              (not for ST Review cover disk)
  62.  
  63. It is essential that this program is not renamed to PROFILE.TOS. If you do,
  64. then don't blame me for the crash. This is NOT a bug!
  65.  
  66.  
  67. PROFILE - WHAT IS IT?
  68. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  69. Atari, in their wisdom, have created a situation where there are many different
  70. types of STs, TTs and Falcons around the world. What have we got?
  71. There are at least 15 different TOS versions, many different versions of GEMDOS
  72. and the AES, different versions of GDOS (GDOS, FONTGDOS, FSMGDOS and
  73. SpeedoGDOS), 17 different nationalities of ROM, BLiTTER chips, different
  74. resolutions and many different amounts of RAM memory from 256K to 4Mb on an ST
  75. and beyond on TTs and Falcons. I'll leave it to you to work out all the
  76. different permutations.
  77.  
  78. All this can create problems for software developers and subsequent 'bug'
  79. troubleshooters. If you ring up or write to your software company for some
  80. technical advice, reporting a bug or undocumented 'feature', it is a great help
  81. to them to know what system the program is running on. HiSoft provide a program
  82. called CHECKST.PRG which provides them with this information but it is not
  83. Public Domain. I have therefore written this program which does the same thing
  84. (and more besides) for all you non-HiSoft software users!
  85.  
  86. PROFILE is a development of ST_TYPE which was replaced with ST_DATA2. Both
  87. these earlier versions have known problems although updated versions of
  88. ST_DATA2 are available. ST_TYPE is not supported any more and cannot be relied
  89. upon, unfortunately. You should not be using it. ST_DATA2 will now cease to be
  90. supported with the release of PROFILE. PROFILE was known as STDATA3 when beta
  91. tested. If you have seen a copy of this program called STDATA3 then it is an
  92. unofficial release and should not be available. Please tell me about it and
  93. where you saw it. PD libraries must delete it and no one has my permission to
  94. distribute it or use it including the beta testers! Thank you.
  95.  
  96. At its simplest level, PROFILE can tell you what TOS you have, its date and how
  97. much memory you have, whether the installed DESKTOP.INF configuration is valid,
  98. what the mouse double-click speed is, whether a Cookie Jar is installed...
  99.  
  100. Power users, programmers, people who like to hack about with other people's
  101. code and programs, hardware and system developers, repairers, those wanting to
  102. get the best from the configuration of their system with numerous ACCs and
  103. AUTOs and any other nosey folk, all want to know what exactly they have in
  104. front of them and what is going on behind the scenes. PROFILE provides
  105. extensive information to help you sort out which vectors are pointing where,
  106. what VBLs are set and the nature of the installed Cookie Jar (if present) and
  107. more. This level of use requires knowledge of the system and what the details
  108. reported by PROFILE mean. I'm not going to explain them all here I'm afraid, on
  109. the basis that if you don't know what they mean then you don't need to know
  110. what the values are. Sources of data are few and far between and the following
  111. may help:
  112.  
  113. Modern Atari System Software (1993); HiSoft; ISBN 0-948517-63-8; HiSoft
  114.  
  115. The Atari Compendium (1993); Sanders, Scott; ISBN 0-9638331-0-3; SDS Publishing
  116.  
  117. Atari ST Internals (1988); R. Brückman, L. Englisch and K. Gerits; ISBN 0-
  118. 916439-46-1; Data Becker GmbH
  119.  
  120. Concise Atari ST 68000 Programmer's Reference (1986); K. Peel; ISBN 1-85181-
  121. 017-X; Glentop Publishers Ltd.
  122.  
  123. A Hitchhikers Guide to the BIOS (1986); Atari Corp. PD text file
  124.  
  125. Rainbow TOS Release Notes (1989); Atari Corp.
  126.  
  127. STE TOS Release Notes (1989); Atari Corp.
  128.  
  129. TT030 TOS Release Notes (1990); Atari Corp.
  130.  
  131. Atari DocSupport Developer's Kit (1991); Atari Corp.
  132.  
  133. The Atari A to Z (1994); M. S. Baines; FaST Club (soon - contact FaST Club)
  134.  
  135. ST Application magazine, (monthly); FaST Club
  136.  
  137. Compiler program manuals are good sources of this sort of 'inside' information.
  138.  
  139. Until recently, much of the developer's notes were not normally available to
  140. individuals but they can be bought now from Atari UK as their DocSupport
  141. Developer's Kit. It's also surprising what is available as text files on the
  142. Bulletin Board networks and through PD libraries! Because of this ridiculous
  143. dearth of data on the ST/TT/Falcon systems, caused primarily by Atari
  144. themselves, any serious user of the ST involved in programming and system
  145. development must either register with Atari as an official developer to get the
  146. necessary documentation or buy some of it separately which isn't cheap.
  147. Involvement in the comms world using the BBS networks and services such as CIX
  148. and CompuServe will enable you to ask others in the know, as I was forced to on
  149. many occasions.
  150.  
  151. PROFILE can be run under two kinds of conditions. Firstly, under an empty
  152. system, devoid of Accessories and AUTO folder programs, under GEM and from a
  153. floppy. This will tell you what sort of default set up you have and be your
  154. standard for telling others such as software companies, what system you have.
  155. Computer repairers and upgraders often need this information as well as the
  156. private user wanting to confirm his purchase.
  157.  
  158. Secondly, you may run PROFILE under various configurations, with hard disk boot
  159. programs, Accessories, AUTOs, Desktop replacements, hardware modifications etc.
  160. and see what effect these programs have on your system. Changing the
  161. configuration of your system (programs like Superboot and XBoot make this
  162. incredibly easy and convenient) will tell you much about the effects of
  163. individual programs and what they do to your computer and perhaps to each
  164. other. This can be an invaluable aid to bug hunting, virus hunting, program
  165. incompatibilities etc.
  166.  
  167.  
  168. PROFILE - THE PROGRAM
  169. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  170. PROFILE will print a report to the screen, printer or disk of your computer's
  171. hardware and software configuration.
  172.  
  173. A list of the details provided is:
  174.  
  175. 1   Hardware, TOS and Memory Details - 4 pages (1 extra for Falcon)
  176. 1.1 Hardware, TOS, Screen
  177.     Most of this is self explanatory. Some of it will only appear if you have a
  178.     Cookie Jar installed with relevant values. Some items default to the basic
  179.     type (Machine, Floppy Disk Drive). If PROFILE reports an incorrect value
  180.     then perhaps you ought to update your Cookie Jar with a suitable program.
  181.     For full information on some of these items then refer to the Cookie Jar
  182.     page 7.
  183.  
  184.     Note that the two alternative numbering systems for the TOS version number
  185.     have been used where appropriate. Therefore, TOS 1.04 is the same as 1.4.
  186.     It is my contention, and others, that Atari's attempt to change the TOS
  187.     numbering system for the early TOSes after the old numbers have been
  188.     accepted for several years, is ridiculous. To add to the confusion they
  189.     still refer to both TOS numbers in documentation and in personal
  190.     conversations. TOS 1.0 remains so or may in Atari's eyes be called TOS
  191.     1.00. Atari would like to change TOS 1.2, 1.4 and 1.6 to TOS 1.02, 1.04 and
  192.     1.06. However, TOS 1.62 remains as such (although I saw someone sadly refer
  193.     to it as 1.062 recently! You can't get 1.062 from the BCD value $0162 that
  194.     the ROM contains and this just demonstrates the confusion that Atari have
  195.     caused) which under their new system implies a far greater upgrade from TOS
  196.     1.06 than is actual! The TOS version number is stored in the ROM at offset
  197.     $02. For TOS 1.4 the value is $0104. Each byte therefore has a value of 1
  198.     and 4, hence 1.4. If the first byte is 1 and not 01, then the second byte
  199.     must also be 4 and not 04! The fact that this confusion exists and that I
  200.     spent time ranting about it here, shows how foolish Atari can get.
  201.  
  202.     As far as I know, the present TOS version numbers are thus:
  203.  
  204.         os_version    Old     New     Name
  205.         _sysbase+2    Number  Number
  206.  
  207.         0x0100        1.0     1.00    ROM TOS or Old TOS
  208.         0x0102        1.2     1.02    BLiTTER TOS or Mega TOS
  209.         0x0104        1.4     1.04    Rainbow TOS
  210.         0x0106        1.6     1.06    STE TOS
  211.         0x0162        1.62    1.62    STE TOS
  212.         0x0201                2.01    Mega STE TOS
  213.         0x0205                2.05    Mega STE TOS
  214.         0x0206                2.06    Mega STE TOS
  215.         0x0301                3.01    TT030 TOS
  216.         0x0305                3.05    TT030 TOS
  217.         0x0306                3.06    TT030 TOS
  218.         0x0400                4.00    FalconTOS
  219.         0x0401                4.01    FalconTOS
  220.         0x0402                4.02    FalconTOS
  221.         0x0404                4.04    FalconTOS
  222.  
  223.     Some people have claimed to have a TOS 1.09 in the UK. It has always been
  224.     my belief up until recently, that this was due to certain programs
  225.     inaccurately reporting the GEMDOS version rather than the TOS version
  226.     number. TOS 1.0 and 1.2 do have a GEMDOS version number of 0.19. After some
  227.     recent discussions on the BBS, it would appear that a true version number
  228.     of TOS 1.09 does exist. It is not, however, a mainstream TOS and it would
  229.     appear that it is a pre-TOS 1.2 version that Atari UK produced to cater for
  230.     the BLiTTER chip before TOS 1.2 was made available by Atari US.
  231.  
  232.     There is a little confusion over the GEMDOS version number and whether it
  233.     should be shown as hex/BCD format as with the TOS version number or decimal
  234.     format. This gives two differing numbers, of course. The GEMDOS version
  235.     number for TOS 1.4 could be 0.15 or 0.21 according to which format you
  236.     subscribe to. Atari choose the former and I make it the default here but
  237.     also show the decimal format.
  238.  
  239.     An attempt is made to work out the effective processor speed compared to a
  240.     MC68000. The reported speed does not take the RAM caches of hardware
  241.     accelerators or CPU on-chip caches into account, so that the speed *is not*
  242.     the hardware CPU rate but the effective processing speed of the CPU. This
  243.     figure may vary slightly depending on what processes you have going on in
  244.     the background, for instance AUTO folder TSRs and Accessories. Compare the
  245.     'empty system' result with other configurations to see how some software
  246.     may affect the speed of your computer.
  247.  
  248.     On a Falcon and computers with video cards the Current Getrez Screen Mode
  249.     will report an incorrect value except with ST compatible modes. This isn't
  250.     a fault of PROFILE but the resolution the computer sees itself running
  251.     using the old and almost defunct Getrez() function. The function should
  252.     return a value of 3 for a Falcon, for instance, but usually returns a value
  253.     of 2 which means ST High Resolution Mono mode. Whether this is a bug in TOS
  254.     4 is yet to be determined.
  255.  
  256.     Some users are confused as to what PROFILE reports here. No program should
  257.     use Getrez() to find out the resolution of the screen as its return values
  258.     are too limited and don't allow for video cards, overscanned screens and
  259.     the Falcon. However, some programs *do* still use it and can give problems
  260.     for a user when they come up with a "Can't run in this resolution" alert.
  261.     PROFILE reports this value so that the user may know what screen mode the
  262.     system thinks it is running in using the Getrez function and so help to
  263.     sort out these problems.
  264.  
  265.     Apart from this use, this information is meaningless on anything but a
  266.     standard ST(E). For the true screen resolution and other video details see
  267.     the "Current Resolution" and following lines on this page.
  268.  
  269. 1.2 Memory and MiNT Details
  270.     The total amount of ST RAM and Fast Alternate TT RAM (if fitted) is
  271.     reported as well as the largest single block of each that is free, except
  272.     under MultiTOS where such interrogations are essentially dangerous in a
  273.     multitasking situation. However, on a TT the total amount of Fast Alternate
  274.     RAM can only be calculated by an undocumented feature, which is simple
  275.     enough but relies on that memory always starting at the address $01000000.
  276.     There is no 100% guarantee that it always will, but then there is no real
  277.     reason why it shouldn't. If this causes problems, then please tell me.
  278.     Which items are reported on this page depends on what is installed and
  279.     available and whether MiNT/MultiTOS is running.
  280.  
  281.     If MiNT or the MiNT kernel of MultiTOS is installed then some details are
  282.     given on the limitations of the installed version.
  283.  
  284. 1.2 Miscellaneous Falcon030 Details (Only if Falcon)
  285.     Various specific Falcon details are reported here such as the video mode
  286.     and whether the DSP or sound system has been taken over. The video mode
  287.     details are the currently set ones and may disagree with those set on the
  288.     Desktop and shown in the NEWDESK.INF details page if the latter hasn't been
  289.     saved.
  290.  
  291.     This page isn't seen on non-Falcons.
  292.  
  293. 1.2 Disk Drive Details (or if Falcon)
  294. 1.3 Disk Drive Details
  295.     Again, mostly self-explanatory. The BIOS Parameter Block or BPB of the
  296.     current drive is shown. This information is stored on the disk and informs
  297.     TOS of the details of the drive's format. TOS needs to know how big the
  298.     sectors are and where the FAT and data sectors start.
  299.  
  300. 1.4 Disk Drives - pun_info Structure Details (or if Falcon)
  301. 1.4 Disk Drives - pun_info Structure Details
  302.     The pun_info structure is provided by TOS for any hard disk driver to make
  303.     a relationship between the logical drives installed on the desktop and the
  304.     physical units connected to the computer. Logical drives A: and B: are
  305.     assumed to be floppies and everything else a hard disk. RAM disks are
  306.     reported in the list of logical drives (as they are on page 3) but they are
  307.     not included in the 'Partitions' table, of course, as they do not have a
  308.     physical unit counterpart.
  309.  
  310.     Not all hard disk drivers fully initialise the pun_info structure. As far
  311.     as I know, only Atari's AHDI version 3 or later does and also uses the
  312.     extended pun_info data at the end of the structure. The commonly used ICD
  313.     drivers do not even properly initialise the table linking the logical units
  314.     with the physical sectors. With current versions of the ICD drivers, the
  315.     partition start sector is offset by four partitions, so that the start
  316.     sector for partition C is that listed under partition G, partition H is for
  317.     D and so on. However, the ACSI device number is correct for each partition.
  318.     An ACSI device number of 7 designates that that partition does not exist
  319.     (accepted range is 0 - 6) and should relate to the list of logical devices
  320.     above that (RAM disks excepting, of course). I also list the Driver ID
  321.     found before the pun_info structure for non-AHDI drivers but this doesn't
  322.     seem to be in standard use except by ICD.
  323.  
  324. 2   Operating System Header Block and Basepages Details - 2 pages
  325. 2.1 Operating System Header Block Details
  326.     This is simply a record of the first bytes in the TOS ROMs pointed to by
  327.     the system variable _sysbase, where some important hard coded details are
  328.     kept. Some of these details do not appear on TOS 1.0 STs. Note that under
  329.     MultiTOS the OS PAL/NTSC and Country Code entry is modified from that
  330.     actually contained within the ROM. This is because under TOS 4 and AES 4
  331.     these details are stored in Cookie Jar entries.
  332.  
  333. 2.2 Program Basepage Details
  334.     The BASEPAGE structure is detailed here for the current program i.e.
  335.     PROFILE and the PROFILE's parent process. The latter is normally the
  336.     Desktop or replacement Desktop or Shell program, that is, the program that
  337.     PROFILE was run from. It is envisaged that it will be this list that users
  338.     will find useful rather than the current process basepage.
  339.  
  340. 3   Cartridge and Some Control Panel Settings - 1 page
  341.     If a program cartridge is attached then the details of this are reported.
  342.     The cartridge has to have a program ROM installed, so cartridges that are
  343.     just dongles or interfaces for hardware, such as scanners are not seen by
  344.     PROFILE as there is nothing to report.
  345.  
  346.     PROFILE should be able to distinguish between the four types of GDOS (GDOS,
  347.     FONTGDOS, FSMGDOS and SpeedoGDOS). Some copies of FSMGDOS are available but
  348.     officially it was never released by Atari. It was replaced by SpeedoGDOS
  349.     which is now available.
  350.  
  351.     The other items reported here are controlled by Control Panel type programs
  352.     and may be contained in the DESKTOP.INF or NEWDESK.INF file and these are
  353.     the currently installed values. These may differ from those in the
  354.     DESKTOP.INF or NEWDESK.INF file itself because another program has taken
  355.     over the setting of these items, such as NeoDesk. Also, be aware that some
  356.     of the DESKTOP.INF file settings are not installed unless a Control Panel
  357.     program is run or a Read Only Control Panel (an AUTO program that reads the
  358.     installed DESKTOP.INF file in memory, activates the settings and quits).
  359.  
  360. 4   Some Important System Configuration Addresses
  361.     This page contains some of the most important items that people may need to
  362.     know. They are mostly repeats of details contained elsewhere (System
  363.     Variables) but have the advantage of having a little explanation and
  364.     contained together. Some of these are important if you suspect the presence
  365.     of a virus attaching itself to the Reset Vector or Hard Disk routines, for
  366.     instance. These details can be followed up in Section 9, perhaps using the
  367.     XBRA checks.
  368.  
  369.     Checks are made on the Reset Vector values and those for the Memory
  370.     Configuration to note their validity.
  371.  
  372. 5   Installed DESKTOP/NEWDESK.INF File Details - 2 pages
  373. 5.1 DESKTOP.INF settings
  374.     These details are a report of the AES's internal shell buffer which is the
  375.     RAM version of the DESKTOP/NEWDESK.INF file and are not necessarily those
  376.     current and in operation. The AES internal shell buffer is only updated
  377.     when the desktop is saved and so any changes made without saving the
  378.     desktop will not be detected by PROFILE.
  379.  
  380.     Note that for the RGB Colour Values there are sixteen sets of three digits,
  381.     each digit for Red, Green and Blue. On the ST, this range of digits for
  382.     each colour value is 0 to 7, so that white is 000 and black is 777.
  383.     However, on the STE, the colour range was extended to fifteen, but instead
  384.     of using the hexadecimal representation of numbers Atari chose to use the
  385.     character set 0 to 9 and : for 10, ; for 11, < for 12, = for 13, > for 14
  386.     and ? for 15. Therefore, if you get a RGB colour value of "?;<" it isn't
  387.     nonsense!
  388.  
  389.     The representation of some of the values shown here differ from those in
  390.     Section 3. Note that the system will install a default set up if a
  391.     DESKTOP/NEWDESK.INF file isn't available at boot up. I really recommend a
  392.     ROCP (Read Only Control Panel) program, which Linnhe Computing can supply.
  393.  
  394. 5.2 DESKTOP.INF continued and NEWDESK.INF settings
  395.     If NEWDESK.INF is used instead of DESKTOP.INF then more details are shown.
  396.     Extra NEWDESK.INF file settings for TOS 4 on the Falcon are also shown
  397.     concerning the video setup. There appears to be an additional problem in
  398.     that the XCONTROL PANEL accessory doesn't update the DESKTOP/NEWDESK.INF
  399.     file when making changes to the Serial port and Printer details. Here, the
  400.     earlier CONTROL PANEL had an advantage and may be used to install a
  401.     DESKTOP/NEWDESK.INF file with the correct '#a' and '#b' lines before using
  402.     the XCONTROL PANEL. Again note that the Falcon video mode details here may
  403.     not agree with those displayed in section 1 page 2. Save the Desktop then
  404.     they should both agree.
  405.  
  406. 6   Vertical Blank Interrupt Details - 1 page
  407.     Many Accessories and AUTO folder programs need to keep doing something
  408.     periodically after being loaded, that is, they stay in memory and are a
  409.     form of multitasking (though not in the proper sense of the word). These
  410.     are TSR programs or Terminate and Stay Resident programs. Some install
  411.     routines as Vertical Blank routines or VBLs. These are called every time
  412.     the screen raster scan moves from the bottom right hand corner to the top
  413.     left of the screen when drawing the screen display. This occurs every 70th
  414.     of a second on a mono monitor such as the SM124/5 and every 50th or 60th of
  415.     a second on ST colour monitors. Again, you can check on these addresses
  416.     under Section 9 to see if any of them were installed by XNAM compliant
  417.     programs. Memory monitor programs can be used to see what is present at
  418.     these addresses, as well.
  419.  
  420.     Although, it is possible but unusual to have more that eight VBLs, eight is
  421.     the default number in every system. PROFILE makes no attempt to look at any
  422.     more. If there is a need for this then please let me know.
  423.  
  424. 7   Cookie Jar Configuration Details - 2 pages
  425. 7.1 Cookie Jar List
  426.     The Cookie Jar was introduced with TOS 1.6 and is automatically installed
  427.     in TOSes 1.6 and later. It is possible to modify or install your own Cookie
  428.     Jar in any system with any TOS. The Cookie Jar is an attempt to provide
  429.     programs with information about the type of system they are running on,
  430.     especially the type of hardware. This would normally be difficult for any
  431.     program to establish. Many programs need to know which processor is
  432.     installed and whether a floating point coprocessor is available so as to
  433.     make use of their facilities. The type of video SHIFTER and sound
  434.     facilities are also different on various systems and a graphics program
  435.     perhaps needs to know if the STE type video SHIFTER is installed to use the
  436.     extra colours present.
  437.  
  438.     The Cookie Jar is a list of IDs and values, stored in memory the address of
  439.     which is pointed to by the system variable _p_cookies at address $5A0. The
  440.     values often just show the presence of a machine's facility or its type or
  441.     the presence of an active TSR program. Other values may be addresses of
  442.     routines or data structures in memory or a version number. There is no
  443.     standard for these. IDs are four ASCII characters and each should be unique
  444.     and descriptive. Atari have reserved the underline character '_' as the
  445.     first character of their IDs.
  446.  
  447.     This page lists in order, the IDs and their values in hex and decimal and
  448.     the size of the Cookie Jar. Note that any Cookie Jar program can modify the
  449.     size of the Cookie Jar. Some programs use incorrect characters for the
  450.     Cookie ID and PROFILE tries to trap these. Atari's own MACCEL3 is one of
  451.     these with the intention of making its Cookie ID of $AA006E look like MOOSE
  452.     which is supposedly close enough to be mistaken for MOUSE! Absolutely
  453.     pathetic - talk about breaking your own rules!!
  454.  
  455. 7.2 Official Atari Cookie IDs Interpretation
  456.     This page interprets the values of the Official Atari IDs. Of course, it
  457.     would be impossible to do the same for all IDs as anyone can invent them
  458.     with a meaning unknown to me. Recognising an ID is usually simple enough,
  459.     for instance, "OVER" means OverScan, "FrmD" is FormDoIt, "LTMF" is Let 'em
  460.     Fly, "NFnt" is NeoDesk Font, "NLdr" is NeoDesk Loader etc etc. However,
  461.     understanding what their values mean is anybody's guess and usually of no
  462.     concern anyway. Some are version numbers, others are addresses in RAM where
  463.     that program is loaded and some point to another identifier (usually four
  464.     characters) or a version number in memory. In most cases it doesn't matter
  465.     to the user what they mean.
  466.  
  467.     PROFILE is capable of detecting all the official and semi-official Atari
  468.     Cookies, the latter of which include the presence of the new GDOSes,
  469.     Poolfix, TOS 1.6 patch, MiNT Kernel and the Diablo driver for SLM laser
  470.     printer. The new International Date and Time Cookie and Nationality
  471.     Language/Keyboard Cookie are included and versions of various installed
  472.     software that have written a cookie shown, such as _NET, _FLK and MiNT.
  473.  
  474. 8   Environment Variables Strings - 1 page
  475.     Many alternative desktops, command line interface shells and programs set
  476.     up environment variables in particular the PATH= variable which informs TOS
  477.     or any program which directories to search through when looking for
  478.     resource or data files.
  479.  
  480.     The standard GEMDOS environment string set up for the AUTO folder and
  481.     Desktop has a bug where a NUL is placed after the '=' sign as in
  482.     PATH=$0A:\$0$0. It should not be there. The two trailing NULs correctly
  483.     designate the end of the strings. Secondly, it is always drive A:\ even if
  484.     booting from drive C:\. Some programs get around this and some others
  485.     misuse it. Atari have recommended that it shouldn't be used. PROFILE will
  486.     trap the first NUL.
  487.  
  488.     Sorry about the messy displays you can sometimes get here, especially if
  489.     running under a pseudo-terminal such as MiniWin with its very long
  490.     'termcap' lines. At present I can't find a satisfactory way to present
  491.     overlong lines and stop the screen from scrolling on occasions.
  492.  
  493. 9   Complete System Variables Contents - 7 pages
  494.     This is the complete list as of TOS 4. The address and official Atari name
  495.     is given together with the values they contain in hex and decimal. I've
  496.     added some prefixes to some names to aid identification. These are where a
  497.     system variable is 'divided' into many parts, like _themd which consists of
  498.     four longs and _bufl which consists of two. I've given these suffixes to
  499.     indicate which long is referenced. The same applies for each of the
  500.     _vbl_list, xconstat, xconin, xcostat and xconout system variables where
  501.     I've added a number on the end.
  502.  
  503.     Please note that some of these names are not the same as those in The
  504.     Hitchhiker's Guide or Atari ST Internals. My names are taken from official
  505.     Atari US source code and developer's documentation.
  506.  
  507.     Those that are vectors will have a number on the far left which can be
  508.     typed after the SPACE key is pressed to check for XBRA compliance. See
  509.     below.
  510.  
  511. 10  Exception Vectors Contents including the TRAPs and MFP 68901 Interrupts - 4
  512.     pages
  513.     Only those Exception Vectors that are important and usually of significance
  514.     are shown. There are 256 exception vectors in low memory and most of those
  515.     after number 79 usually have the same default values on all systems, either
  516.     being reserved or available for user programs. If you need to see the other
  517.     200 vectors then let me know and I will include them in a future revision.
  518.     However, at the moment I thought it best to leave out another ten full
  519.     screens of useless numbers!
  520.  
  521.     By default, many of the values shown are in two parts. The last six hex
  522.     digits are an address of a routine executed in ROM when that exception is
  523.     called due to some sort of error when a crash may be imminent. The first
  524.     two hex digits are the number of bombs shown just before that crash and is
  525.     the same as the vector number (in hex). Because of this pattern, scanning
  526.     down the list can show quite easily any vectors taken over by user programs
  527.     installed in the system.
  528.  
  529.  
  530. XBRA and XNAM
  531. ¯¯¯¯¯¯¯¯¯¯¯¯¯
  532. The System Variables and Exception Vectors can be analysed for XBRA and XNAM
  533. compliance providing a powerful debugging tool for software and system
  534. developers. Some system variables and all the exception vectors contain vector
  535. addresses, that is, addresses that point to another part of memory that may be
  536. the start of an executable routine.
  537.  
  538. Many AUTO folder programs such as TSRs (Terminate and Stay Resident) and
  539. Accessories install themselves in memory using the XBRA and XNAM protocols.
  540. Essentially, they hook into or take over various vectors, such as those pointed
  541. to by some system variables or exception vectors, so that when TOS (or other
  542. programs) transfer control via these vector addresses to run the routine
  543. pointed to by them, the TSR routine is run instead. Normally, if several of
  544. these programs want to do this to the same vector then problems could arise.
  545. Some programs do not save the address originally stored at this vector and so
  546. the last installed program usually wins kicking out the others. Most others do
  547. save the vector address but do so in non-standard ways incompatible with each
  548. other. The XBRA protocol, however, does introduce a standard so that each
  549. program can store the vector address and replace it with its own in a
  550. compatible manner. After any XBRA compliant program is called and run, it can
  551. then call the old address thus enabling another previously installed program to
  552. run and so on down the chain until the last original address is reached. In
  553. this way, all the programs get to run their routines at the appropriate time.
  554. Note however, that if any program intercepts a vector without using the XBRA
  555. protocol, then it will break the chain and PROFILE will not show any more XBRA
  556. IDs even if some still exist. This is not PROFILE's fault but one inherent in
  557. the system, and will remain so until all programs use the XBRA protocol.
  558.  
  559. XNAM protocol programs don't maintain the old address and thus cannot be
  560. chained. They commonly appear as VBL routines.
  561.  
  562. A good example of an exception vector that gets used for this is number 46 -
  563. TRAP #14 Instruction (XBIOS). Several programs may use this vector to point to
  564. their routines, such as Quick ST3, OverScan, NeoDesk etc.
  565.  
  566. ST Applications Issue 11 November 1991 gives a good account of the XBRA
  567. Protocol.
  568.  
  569.  
  570. PROFILE - USING IT
  571. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  572. The program is run by double-clicking on it from the Desktop except under
  573. MultiTOS where you should run it in a MiniWin window by dragging PROFILE.PRG to
  574. the MiniWin icon or filename. You can also use a MW window (if you have it)
  575. using the command line 'TOS PROFILE.PRG'. Here, it will run very happily in a
  576. multitasking window. Do not be confused by the fact that PROFILE has a .PRG
  577. file name extender. This is necessary under normal TOS for certain functions to
  578. work.
  579.  
  580.     PROFILE MUST NOT BE RENAMED TO PROFILE.TOS.
  581.  
  582. PROFILE can also be run from the desktop under MultiTOS but it is far less
  583. satisfactory, with the key responses being very poor and some screen corruption
  584. inevitable with the mouse breaking through. Of course, in this mode, program
  585. switching will be unavailable. Run PROFILE from a window and all will be OK.
  586.  
  587. PROFILE will run on all STs, STEs, TTs and Falcons and under MultiTOS (as of
  588. compile date shown under Main Menu Information), in most resolutions but will
  589. be untidy in ST low resolution and other 40 columns modes which I refuse to
  590. support!
  591.  
  592. The Main Menu screen provides access to each individual section of the program
  593. which is essentially the list above under PROFILE -THE PROGRAM. A section may
  594. have more than one page (screen) of information.
  595.  
  596. When each page is displayed you can move to the next page or section by using
  597. the left and right cursor keys. This means you don't have to go back to the
  598. Main Menu page to access another section. Each page can be individually printed
  599. to the parallel printer port by pressing 'P' or 'p' or sent to an ASCII disk
  600. file by pressing 'D' or 'd'. The default name of the file will be PROFILE.Pxx
  601. where xx is the page number displayed. You can change the filename of course,
  602. using the file selector provided.
  603.  
  604. The RETURN key will always get you back to the Main Menu page.
  605.  
  606. You can send the whole report, which is around 28K long, to the printer or disk
  607. by pressing 'P' (or 'p') or 'D' (or 'd') from the Main Menu screen. The default
  608. name for the whole report disk file is PROFILE.LST. Again, you can change that
  609. if you wish.
  610.  
  611. In the Systems Variables section, some system variables contain vector
  612. addresses that can be checked for XBRA and XNAM compliance, as mentioned above.
  613. Pressing the SPACE key will enable you to type in the number of the system
  614. variable you want to investigate, as shown in the first column to the left of
  615. the system variable address.
  616.  
  617. The vector or system variable address is shown and its value, which should be
  618. another address. Attempts are made to check this value - to see if it is in the
  619. ROM or illegal (pointing to protected memory or outside that available to the
  620. system). If a XBRA or XNAM compliant ID (four characters) is found then it is
  621. reported and the next address in the chain is shown until the chain ends.
  622.  
  623. For exception vectors, the technique is the same, just type in the exception
  624. vector number in the first column. The display is the same as for system
  625. variables except that the exception vector number is shown as well as its
  626. address and value.
  627.  
  628. At present these values cannot be printed or saved to disk (other than a normal
  629. screen dump) as that didn't seem worthwhile for such small amounts of data.
  630. However, if you think that you need that facility then please ask.
  631.  
  632. Please note that any check on a vector will only show if that vector was
  633. installed by a XBRA or XNAM compliant program. Many programs, especially older
  634. ones don't use this protocol. It doesn't make that address pointed to by the
  635. vector less valid. It was installed by something!
  636.  
  637. The Main Menu screen provides rudimentary Help by pressing 'H' or 'h' and
  638. Information on the program (such as compile date, about Linnhe Computing,
  639. acknowledgements etc.) by pressing 'I' or 'i'.
  640.  
  641. The program can only be Quit by using the Main Menu 'Q' or 'q' key. Simple eh!
  642.  
  643.  
  644. PROFILE - SOME COMMENTS
  645. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  646. I have written this program using legal methods everywhere, as far as I know.
  647. It has been extensively tested on mostly all TOS versions and various setups
  648. including STs, STEs, TTs and Falcon030s all running MultiTOS. As far as myself
  649. and the beta testers can ascertain all the information reported by PROFILE is
  650. accurate. That is, what is reported is what is found by PROFILE. However, it
  651. may be that some strange figures are seen which appear at odds with what you
  652. know to be true. In many respects this is the point of running PROFILE. It will
  653. report the configuration that exists not what you thought existed! Be very
  654. aware that running many different programs, such as Accessories and AUTO
  655. programs, different hardware such a OverScan, accelerators, emulators etc. all
  656. affect the internal configuration of your computer. To make themselves known to
  657. the system and work they may well fiddle with some system variables, vectors,
  658. interrupts or even the apparent appearance of the ROM - all of which may or may
  659. not be what you thought or know to exist.
  660.  
  661. For instance, AutoSwitch OverScan messes with various system variables such as
  662. 'exec_os'. This system variable normally tells the system where the start of
  663. the AES is, like $E13D94 under TOS 1.6. That makes sense because the AES is in
  664. the ROM starting at $E00000 on TOS 1.6. But, OverScan can set this to something
  665. like $708C8 way down in RAM. Normally you may think this is a great mistake on
  666. PROFILE's part as it doesn't make sense - until you read the AutoSwitch
  667. OverScan manual and see that this is documented. However, not all software, by
  668. any means, documents what it is doing internally to your system - hence
  669. PROFILE!
  670.  
  671. Something else you may notice is that PROFILE reports that you have less memory
  672. than you thought. This may well be because you have a RAM Disk installed that
  673. has altered the system variable 'phystop' to point, not to the top of physical
  674. memory, but to the memory address directly underneath the memory reserved for
  675. the RAM Disk. PROFILE will catch this.
  676.  
  677. Logbase and Physbase are two more vectors that cause concern. Physbase will
  678. normally point to the base of memory holding the data for the physical screen
  679. (the one actually displayed). Logbase normally points to the base of the
  680. logical screen (the one onto which any drawing by the GEM VDI is done). Usually
  681. these addresses are both the same but do not have to be. For instance, a
  682. program may have a screen displayed (at Physbase) whilst writing another (at
  683. Logbase) and swap between them for quick, snappy screen draws. However,
  684. AutoSwitch OverScan is a program that messes with these values to the extent
  685. that any call to Physbase will return the Logbase value when OverScan software
  686. is installed. If you didn't know this and are writing a program using Logbase
  687. and Physbase calls which repeatedly return the wrong values, PROFILE will help
  688. solve this problem for you.
  689.  
  690. PROFILE is as extensive as a program like this can be and yet remain compatible
  691. on all ST/TT/Falcon systems. That was of paramount importance when being
  692. written. There are some deficiencies in its reporting. These are for many
  693. reasons.
  694.  
  695. 1   I don't know about them. If you do then why not tell me what I missed.
  696. 2   I didn't know how to find that data whilst retaining compatibility across
  697.     all platforms.
  698. 3   There is no acceptable means of finding that data using sensible, accurate
  699.     and legal methods. The TT Fast RAM situation in the TT is a case in point.
  700.     As far as I and several developers in the UK and Europe can ascertain,
  701.     involving consultation with Atari UK and Atari US, there is no 100%
  702.     reliable legal way to report the total amount of 32-bit Fast Alternative
  703.     RAM in a TT. PROFILE will report the amount of TT RAM using an undocumented
  704.     feature which I'm taking a chance on. It should be alright.
  705. 4   A detail may be of too little importance to report or too esoteric and used
  706.     by only one or two people.
  707. 5   Other programs do it better, like disk diagnostic programs or system speed
  708.     analysers.
  709. 6   A detail may require the presence of third party hardware which I consider
  710.     to be outside the scope of this program.
  711. 7   Atari are moving the goal posts every day with MultiTOS and the Falcon. I'm
  712.     trying to keep up!
  713.  
  714. If you wish to comment on any of these points then please do, I am very
  715. receptive to program changes and suggestions and am not the sort of programmer
  716. that gets in a huff if someone complains of their work although totally
  717. thoughtless and destructive criticism may well get ignored! However, I am all
  718. too aware of my limitations and PROFILE isn't perfect by any means.
  719.  
  720. PROFILE v2 GEM version is in the pipeline and hopefully won't be long.
  721.  
  722.  
  723. PROFILE - BUGS AND INACCURACIES?
  724. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  725. My programming isn't perfect, of course, but PROFILE has been tested by myself
  726. and six knowledgable beta testers who have different systems. PROFILE has been
  727. developed over much time and with much thought. If you find any problems  -
  728. tell me!
  729.  
  730. I do know that it crashes under some circumstances when run under ST Low
  731. Resolution but as I can't be bothered with 40 column mode (I make no apologies)
  732. I haven't found the problem yet.
  733.  
  734.  
  735. PROFILE - VERSION HISTORY
  736. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  737. V1.0
  738. First release February 1993
  739.  
  740. V1.1
  741. March 1993
  742.     Falcon fixes:
  743.        Cookie ID _MCH Machine Type now recognised
  744.        "Screen Area Memory" now reports correct value (I think!)
  745.  
  746. V1.2
  747. March 1993
  748.     Bug fix in Environment Variables page which displayed some garbage under
  749.        some situations (thanks to Steve Taylor)
  750.  
  751. V1.3
  752. April 1993
  753.     Cookies _AKP and _IDT now added
  754.     Some cosmetic changes to Cookies screen display
  755.     "ROM Nationality" and "Current Resolution" not shown on Falcon
  756.  
  757. V1.4β - beta test release
  758. June 1993
  759.     Falcon "Nationality" added
  760.     More Hardware details added to first page
  761.        "Current Resolution" (as opposed to Screen Mode) added
  762.        "TOS-mode Screen Size" added
  763.        "Number of Predefined Colours" added
  764.        "Palette Size" added
  765.        "Displayed Screen Size" added
  766.     "Screen Area Memory" fixed again for good
  767.     Some details on drives moved to Disk Drives page
  768.     "Current Directory Path" added
  769.     "BPB of Current Drive" added
  770.     "pun_info Structure" added
  771.     "Current Program and Parents Basepage" structures added
  772.     Rewrite of some functions giving increased speed and smaller size
  773.     OS Header now shows last 3 items for TOS 1.2 instead of 1.4
  774.     _SND Cookie bug fixed (didn't show Falcon Matrix varieties)
  775.     "Falcon NEWDESK.INF" video details added
  776.     "Confirm Overwrite File" added to DESKTOP.INF section
  777.     Floating point not used for memory percentages making for a smaller file
  778.     Various cosmetic changes
  779.  
  780. V1.41β - beta test release
  781. August 1993
  782.     Hack introduced (thanks to Steve Taylor) to get around the crashes on a
  783.        Falcon when redirecting to screen (CON:) or printer (PRN:) using C.
  784.        Looks very much like another TOS 4 bug!
  785.     Various minor cosmetic changes
  786.  
  787. V1.42β - beta test release
  788. August 1993
  789.     Use Floprate to get floppy disk seek rate for both floppies instead of just
  790.        using the system variable for TOSes >= 1.4
  791.  
  792. V1.43
  793. September 1993
  794.     Incorporates all the above beta version changes
  795.     Date and Time now updated when shown
  796.     SpeedoGDOS now recognised
  797.     FSMC cookie recognised (FONT, FSM or Speedo GDOS installed)
  798.     More rows of data can be catered for on large screens
  799.     Various minor cosmetic changes
  800.  
  801. V1.44
  802. September 1993
  803.     Effective processor speed added (thanks to Jon Waite)
  804.     Removed the clear workstation function call that made a mess of MultiTOS
  805.        screens when running in a MiniWin window
  806.  
  807. V1.5
  808. February 1994
  809.     Change GEMDOS version number to show Hex/BCD format as default as well as
  810.        decimal format
  811.     "Number of AES Concurrent Applications" added
  812.     "Falcon Monitor Type" added
  813.     "MiNT Limitations" and other details added to Memory page
  814.     Minor mods to Cookie strings
  815.     "PMMU cookie" added
  816.     Update languages and countries to include two more
  817.     Screen Mode and NEWDESK.INF info should show 'Falcon resolution'
  818.     New page for "Misc Falcon Details" only seen on a Falcon showing video
  819.        modecode, DSP and Sound System on/off, DSP wordsize, Record/Playback
  820.        buffers on/off
  821.     Falcon TOS video memory function alternative to screen size
  822.     True colour mode detected
  823.     "Number of Background Colours" added
  824.     More... prompt added on Cookie page
  825.     _NET cookie publisher_id and version number of installer added
  826.     _FLK now shows version number of installer
  827.     Changes to GDOS detection and reporting, especially for font scaling types
  828.        including inclusion of version number and quality setting in GDOS and
  829.        Cookie sections
  830.     Update to basepage p_flags
  831.     Released to ST Review magazine cover disk
  832.  
  833. V1.51
  834. March 1994
  835.     Bug fixed in function that gets the currently mounted drive letters which
  836.        didn't see non-contiguous letters and truncated the list and also failed
  837.        to note those over P (i.e. in MultiTOS)
  838.     Added a "Not suitable for ST Low resolution" alert warning. PROFILE's
  839.        display is not formatted properly for 40 columns but 'D' from Main Menu
  840.        can be used.
  841.     Added a "Processing... please wait" message as apparently it takes a long
  842.        time to load on some systems (takes 1 second on mine!)
  843.  
  844. V1.52
  845. March 1994
  846.     Minor update to stop holes appearing in screen when mouse moved during
  847.        "Processing...please wait" message
  848.  
  849. V1.53
  850. March 1994
  851.     Updated DESKTOP/NEWDESK.INF RGB Colour Values to cater for the extended
  852.        palette in STE etc. where the DESKTOP/NEWDESK.INF file can contain
  853.        "?>=<;:" characters as well as the digits 0 - 7. Thanks to Karl Foley.
  854.     Now checks for less than 80 columns rather than just ST Low Resolution mode
  855.        and warns against using PROFILE in that resolution.
  856.     "Current Screen Mode" now changed to "Current Getrez Screen Mode" and "see
  857.        docs" to encourage users to RTFM!
  858.  
  859.  
  860. PROFILE - THE ACKNOWLEDGEMENTS
  861. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  862. Thanks go to the beta testers Lasse Eldrup, John Eason, Daniel Hastings, Daron
  863. Brewood, Paul Hargreaves and Steve Taylor, all very generous and patient guys.
  864. PROFILE wouldn't be anywhere near as useful without them - my warm thanks to
  865. you all for your testing, encouragement, bits of code and inside information.
  866.  
  867. Thanks to Jon Waite for the assembly code to calculate the effective processor
  868. speed. It slotted in beautifully!
  869.  
  870. Thanks to Karl Foley, Eric Chapman, Ofir Gal, Graeme Rutt, Chris Goodwin, Paul
  871. Alder, Stephen Nathan, Richard Gorbutt, Jon Ellis, Mathew Lodge and Flemming
  872. Nielsen for ideas, bits of code, inside details and encouragement. Sorry if I
  873. forgot anyone else who made some contribution to my knowledge, enthusiasm or
  874. PROFILE. Those are all my memory and comms log-book recall.
  875.  
  876. Lastly, thanks to Jane, a supportive and understanding wife who has a enormous
  877. capacity to listen to the load of rubbish I utter on my computing exploits and
  878. even remember it when I test her!! ;-)
  879.  
  880.  
  881. Slàinte mhath
  882. Mark S Baines
  883. Linnhe Computing
  884. 23rd March 1994
  885.  
  886. E-mail:
  887. Internet:  msbaines@cix.compulink.co.uk
  888. FidoNet:   2:259/29.10@fidonet.org
  889. NeST:      90:105/5@nest.ftn
  890. TurboNet:  100:106/0.10@turbonet.ftn
  891.