                    SOMA figure solver  V1.20
                ----=========================---- 
     Program user interface.
        Thorleif Bundgaard <bundgard@post8.tele.dk>
     Solution finder algorithm [ FindSolve: ]
        Courtney McFarren  <abcmcfarren@worldnet.att.net>

     This ZIP contains:
        READ-120.TXT      This read-me file
        FIGS1-36 HTM      Sample figure file with 36 figures
        SOLVE120 BAS      The BASIC program
        SOLVE120 EXE      A compiled version
        SOLVE120 HTM      4 sample figures for SOLVE

     Version History:
     V0.1  19.01.1999 TB  First draft using solver routine
     V0.2  20.01.1999 TB  Structure buildup
     V0.3  22.01.1999 TB  Various
     V0.4  04.02.1999 TB  User interface operates 'On demand' from F keys
     V0.5  05.02.1999 TB  Manual figure input and Batch run
     V0.6  09.02.1999 TB  BMP and Batch functions
     V0.7  09.02.1999 TB  Improved manual entry and BMP save
     V0.70 09.02.1999 TB  Patched the revised ANSWER5 code
                          Added a few comments
     V0.71 11.02.1999 TB  Small revisiond for stability and display
     V0.72 15.02.1999 CMF Converted all CUB file references to S(,,)
     V0.73 16.02.1999 TB  Allow comment in figure, and 0 = empty cell
                          small cleanup
     V0.81 17.02.1999 TB  Added V0.72 Solver, Corrected Batch
     V0.82 18.02.1999 CMF Corrected solver array initialization
     V0.83 19.02.1999 TB  Modularized Solve routines
     V0.84 25.02.1999 TB  Implemented X,Y symmetry
                          Changed from OnKey to polled
                          Allow Batch save of graphics
     V0.85 01.03.1999 TB  Minor + Corrected a wrong filename in batch
     V0.86 02.03.1999 TB  Minor + Revised batch to NOT clear screen each loop
     V0.90 19.03.1999 TB  Corrections, Cube count in drawing,
                          Save to TXT files, append if same name.
                          Corrected fig nr in save
                          The endmark /SOMAEND is no more needed
     V0.9B 28.03.1999 CMF More speed on Answer: routine
     V0.91 15.04.1999 TB  Detect the prescence of an HTML header and start
                          listing header after <!/SOMAHEAD> identifier
                          Make piece count color depend on the possibility
                            of a solve
                          Clear grafic label before new label
                          Limit label to 1 line.
                          Clear G() below C190
     V1.00 03.05.1999 CMF Allow partial solve
     V1.01 07.06.1999 CMF Slightly speed improved
     V1.09 05.08.1999 TB  select 30 or 45 deg viewing angle
                          allow the finding of more solutions to a figure.
     V1.10 09.08.1999 TB  Changed the keys for rotation
     V1.10 02.08.1999 TB  Changed the keys for rotation
     V1.10x 02.09.1999 TB Accept Sivy's VLTZABP piece notation
     V1.20 17.09.1999 CMF Small array cleaning
     V1.21  7.01.2001 TB  Support graphic show of SOMA+Plus figures @Rlop1


    --------========  ========--------


The newest version of SOLVE V1.20  17.9.1999

This is SOLVE120, a slightly modified version of our favorite program.
Here are the changes:

1. The Island Matrix (E0) has been reduced from DIM E0(27,7)
   to DIM E0(27,6).
   All the information is shifted from 1-7 to 0-6.
   The only reason this was'nt done before was because the
   old programs was in 4 separate modules, and not all of them had
   OPTIONBASE=0.

2. Intersection-check modification:
   Those are the 7 routines (in the Answer module) that begin with
   '1111111111111111111111 or '2222222222222222222222, etc.
   I replaced a FOR...NEXT loop with a DO...LOOP in each one of them.
   The FLAG variable is not used anymore.

That's about it. I also did a couple of clean-ups in the ISLAND
routine; just fixing up some bad programming.

The program indeed runs a little faster (about 5 to 10% consistently),
but that was not the intent.
I just wanted to correct the faux-pas in my QBASIC programming.

~~~~~~~~~

The newest version of SOLVE V1.10  9.8.1999

When starting, or loading a new file, you will be shown
   the file header at once, and asked for a figure number.
   If you dont know it, just press [Enter][F7] to get the
   first figure in the file.

You may now.
   select 30 or 45 deg viewing angle for the figure graphics.
   Use the [Up] and [Down] keys.

Rotation:
   Is now done using the [Left] and [Right] keys, as an
   alternative to the [Home] and [End] keys

NOTE: in the figure editor, rotation is only done with
   the [Home] and [End] keys, because [Left][Right] is used
   for the cursor.
 
The SOLVER will now allow the finding of more solutions to
   a figure. Just press [F2] several times.
   And it still solves partial puzzles, although sometimes
   finding solutions by omitting a piece that you thought
   was needed.
   Caution, IF you rotate your figure, be sure to have
      it back at the start position before doing the next
      solve, Failing this would have mixed the colors wildly.
   Therefore: If you rotate the figure and press solve, it
   will restart the solve routine, but if you rotate AND
   bring it back to the same angle then solve will continue
   finding the next solution.




   ---=== Programming info to CMcF ===---

Apart from changing the [F2] call sequence, adding a flag,
adding a 30 deg view option, and doing small refinements.
This is added to the SOLVER routines

Added a solution counter.
Resetting piece #2 before recalling the solve.
Setting the flag NF when no more solutions, This will force
  a restart of the solver, if the user hits [F2] again.

   ----===============================---
