Chocks Away Extra Missions patch v2
===================================

N.B. This text is best viewed at a display width of 77 columns.


About
-----

  The first patch fixes several graphical errors that mar the otherwise-
excellent game 'Chocks Away Extra Missions', which was published for Acorn
Archimedes computers by The Fourth Dimension in 1991.

  The following errors are fixed:

1. Thick lines were not clipped correctly at the righthand edge of the
   screen, which meant that up to one pixel could spill from the end of each
   raster line to the start of the next.

2. A subroutine used to do perspective projection when generating thick
   patterned lines (for roads and railways) corrupted the input depth value
   when the point to be projected was distant. The effect was to make distant
   lines thicker than those in the middle distance (and also brighter, in
   the case of parallel lines).

  A second patch was added at the suggestion of Jeffrey Doggett to fix some
other bugs (using his solutions). The first two bugs below were already
patched or otherwise worked around at run time if using the "ChocksAway
frontend v1.50" "by Keith McKillop 1998/1999/2000" but fixing them in the
stored code too does no harm.

  The following bugs are fixed by the 'Chocks_2b' patch:

1. Fix a write to address zero. This could cause a crash on game start if
   zero page was protected, otherwise undefined behaviour.

2. The values of R10-R12 are loaded from temporary memory upon returning to
   the game code after taking a reconnaissance photo but their values were
   not stored before leaving. This could cause a crash if zero
   page was protected, otherwise undefined behaviour.

3. Fix a use of the deprecated condition code NV. This may be incompatible
   with newer ARM processors.

How to install the patches
--------------------------

  (If you encounter difficulties at any point then refer to the trouble
shooting advice given below.)

  Firstly, make a backup of the !Chocks_2 application in case anything goes
wrong. I do not recommend patching an original 'Chocks Away Extra Missions'
floppy disc.

  Double-click on the supplied 'Chocks_2' and 'Chocks_2b' patch files to
load them. Provided that Acorn's !Patch application has been 'seen' by the
Filer, its icon should appear on the icon bar.

  Next, drag the !Chocks_2 application (or a directory containing it) from a
directory display to the !Patch icon on the icon bar. A window entitled
'Patch target directory' should pop up, displaying information about the
patches with adjacent option buttons labelled 'Apply'.

  Set (tick) the 'Apply' buttons for all patches that you want to apply, and
then click the MENU mouse button over the window to bring up a menu of patch
options. Choose 'Patch selected' from the menu.

  After a short period of activity (during which the hourglass may appear)
the 'Apply' buttons should change to 'Remove'. This means that the game has
been successfully patched.


Trouble shooting
----------------

(Listed by symptom.)

"An application that loads a file of this type has not been found by the
Filer...":

  If you get this error upon attempting to run a patch file then you will
first need to open a directory display containing Acorn's !Patch application.
This application should have been supplied pre-installed on your computer.


Empty 'Patch target directory' window:

  Either !Patch has not found your copy of 'Chocks Away Extra Missions' or
does not know of any patches for it. Make sure that you have loaded the
supplied 'Chocks_2' patch file, and that the directory you drag to the
!Patch icon (or one of its subdirectories) contains at least one copy of
!Chocks_2.

  One other thing to check is that the case of the file name in your
application matches that specified in the 'Chocks_2' patch. !Patch appears
to do case sensitive comparisons of file names, which is bizarre given that
case is not generally significant in RISC OS file names.


No 'Apply' or 'Remove' option button:

  !Patch found a copy of !Chocks_2, but does not deem it suitable for this
patch. This could be caused by attempting to patch an incompatible version
of the game.


Option button is labelled 'Remove' rather than 'Apply':

  Your copy of the game has already been patched! Should you wish to undo
the patch changes for some reason then set this option and choose 'Patch
selected' from the menu.


Contact details
---------------

For further information or to report a problem, feel free to contact me.

Christopher Bazley
26th April 2020

Email: mailto:cs99cjb@gmail.com
WWW:   http://kingfishercorner.eu
