                        
                   =========================================
                                    6x86set
                   Cyrix/IBM/ST 6x86 processor setup program
                   =========================================
                        v0.77 (c) Mikael Johansson 1997
                        Unregistered ShareWare version!

    
    *WHAT THIS PROGRAM DOES*
    ------------------------
    This program identifies your 6x86 (revision and so on), and lets you view
    and alter almost all the registers on your CPU, including all the
    undocumented regs that I'm aware of.


    *USING THE PROGRAM*
    -------------------
    To start 6x86set just run it without any parameters. If you give some
    parameters, the program will just show you a little message.

        6x86set starts at the Main Screen, which identifies your system. If
    this is all you want to do, press <Esc> to quit the program.

        To view the registers use the arrow keys. For more help on all the
    features of 6x86set, use the built in help system, by pressing <F1>.


    *WARNING MESSAGES AT THE ARR/RCR SCREENS*
    -----------------------------------------
    First, you could get a warning message complaining that the Starting
    Address should be an even multiple of the Region Size. You should
    probably correct the values, as undefined behaviour results of this.

    You could also get warning messages at ARR0, ARR1 and ARR7. This means
    that the ARRs don't define the recommended memory areas. Below is a list
    of how the ARRs/RCRs should look:

    > ARR0 is recommended to define the video buffer

    ARR0: Starting Address: 000A 0000h, Region Size: 128 KB
    RCR0: bit 5: 0 NLB
              4: 0 WT
              3: 1 WG  ; Write Gathering enabled, important!
              2: 0 WL
              1: 0 WWO
              0: 1 RCD ; Caching disabled for compatibility

    > ARR1 is recommended to define expansion card/system ROM area

    ARR1: Starting Address: 000C 0000h, Region Size: 256 KB
    RCR1: bit 5: 0 NLB
              4: 0 WT
              3: 0 WG
              2: 0 WL
              1: 0 WWO
              0: 1 RCD ; Caching disabled for compatibility

    > ARR7 should define main memory

    ARR7: Starting Address: 0000 0000h, Region Size: Total amount of memory
    RCR1: bit 5: 0 NLB
              4: 0 WT
              3: 1 WG  
              2: 1 WL  ; Weak Locking enable
              1: 1 WWO ; Weak Write Ordering enable
              0: 1 RCE ; Region cache enable

    NOTE on ARR7: the Region Size should be rounded upwards to the nearest
    fitting size. Then other ARRs/RCRs should be used to disable cache on the
    non-existent memory space (if present). If your system doesn't do this,
    contact me, and I'll see if I would get inspired enough to make this an
    automatic function.

    NOTE on all ARRs: v0.77 of 6x86set doesn't check the RCRs of the regions.
    So even if no warning messages are displayed, check the RCRs manually.

    6x86opt can set up ARR/RCR0 and 1 properly with the -ARR0+1 parameter!


    *EXIT CODES*
    ------------
    The following exit codes can be generated:
        0 : 6x86set quit without problems
        1 : 6x86set was invoked with some parameter
        4 : 6x86set did not detect a 6x86 CPU
    Any other codes _should_ never be generated.
    

    *VERSION HISTORY*
    -----------------
        v0.76 : First released version.

        v0.77 : Added the 'M' command (moves reg -> set).
                Corrected some typos.

    
    *WHY THIS PROGRAM EXISTS*
    -------------------------
    Because I could find no good setup program for the processor anywhere.
    The only one I found was IBM:s IBMM1. This program however does not let
    you change any of the reserved bits, and (naturally) doesn't display the
    confidential registers.
