Primary commands used
012345678 ?*.!$@()Esc" BDFGHLQRTUV  bgnstw    
' 'space and ','comma ignored, except [,] after digits to indicate end of number  

Map origin is 0,0 at bottom left corner
Heading presumes MM3 starts at 0,0 at Bearing 0deg, ie mapHeading 90deg heading along Y axis
mapHeading +ve is anticlockwise (mathematical)
Bearing    +ve is clockwise (as a compass)


COMMANDS
========
[Q],[Esc] - stop all
[.]  stop, quit current operation - recording, playing, input
["]  start/end of a comment, processed in GetCcmnd()
[(]  start of Do, Acts within a Do will be treated as subroutines, nestable to 15 levels
[)]  end of Do
[0]  use page0 for the next cmnd or Act, Acts [0][1] - [0][8]
      page 1 is the default
[1-8] - Play act, or the Act to record, copy, load etc
[!] - use ReActs page, ReActs [!][1] - [!][8]
[F]+-Digits[,] - Forwards   - if no digits then default move
[B]+-Digits[,] - Backwards  - if no digits then default move
[R]+-Digits[,] - turn Right - if no digits then default turn
[L]+-Digits[,] - turn Left  - if no digits then default turn
   digits should be terminated with [,] or [ ] or other non digit character except [Q] and [.]
   digits may be preceded by a minus sign to reverse direction so F-100, is B100,
[G]+-DigitsX[,]+-DigitsY[,] - goto X,Y
[H] - goto 'home'
[D] - Pen down
[U] - Pen up

[h][1] - horn on
[h][0] - horn off
[i][1] - indicator right LED on
[i][2] - indicator left LED on
[i][3] - both indicator LEDs on
[i][0] - indicators off

[w][1-9,0] - wait seconds, 0=10
[n][1-9,0] - nap tenths second, 0=10

Curve
-----
[C][f][l]digits[,] - curve forwards left
[C][f][r]digits[,] - curve forwards right
[C][b][l]digits[,] - curve backwards left
[C][b][r]digits[,] - curve backwards right

Aux
---   
[a][1] D0 SF on others off - test motor"));
   [2] D1 SB on others off - test motor"));
   [3] D2 PF on others off - test motor"));
   [4] D3 PB on others off - test motor"));
   [5] D4 on others off"));
   [6] D5 ledR on others off"));
   [7] D6 ledL on others off"));
   [8] D7 Horn on others off"));
   
Speed
-----

Sensors
-------
[$][b] - sense Bumpers
   [e] - sense eyefront  'Wisker'
   [g] - sense eyedown   'Ground' 

Skill
-----
Move
[m][h]digits[,] - turn to map heading"));
   [m] - move Memory - move same way as last time
   [o] - move Other - move other way from last time
   [+]+-DigitsX[,]+-DigitsY[,] - goto X,Y offset from current position

Turn
[t][m] - Turn Memory - turn same way as last time, same amount as last turn
   [o] - Turn Other - turn other way from last time, same amount as last move
   [u] - Turn Unwind
   [C]digits[,] - turn to Compass heading"));
   
[H] - goto 'home'
[g][H] - goto 'home'
[g][0-9] - goto numbered place

Mind
----
[M][r][0-9][{]<cmnds>[}] - if random(0,10)>[0-9] skip mind to [}]  - only if loading 
       eg. M3{F199,B200,Cfr,}h3w1h1w1. if random >3 then {...} will be done else horn will sound, { optional      
[@][h] - set current location as new 'home'
   [0-9] - set place (0 - 9) to current location
[?][m] - print Mind
[?][p] - print places

Behaviour
---------
[b][0] - Restore default behaviour
   [S] - Save behaviour as default
   [a][1-8] - Act to autorun on power on
      [0] - no autorun
      [d] - if Playing ends, run autorun Act
   [C]+-Digits[,] - Compass Offset
   [c][0-9] - coast time 1/10sec
   [m]digits[,] - default move steps
   [t]digits[,] - default turn steps
   [s]digits[,] - stepescale, time ms for 100mm
   [r]digits[,] - rotatescale, actual time ms for 360 degrees
   [b][0,1] - 0 bump react OFF
   [v] - verbose printing
   [q] - quiet printing, verbose off

System
------
[*][r][0 1-8] - record act, 0 use page0
   [l][0 1-8] - load act, 0 use page0
   [c][0 1-8][0 1-8] - copy act to act, 0 use page0
["] - start/end of a comment, processed in GetCcmnd()

Print
-----
[?][?] - prints all acts
   [a] - prints all acts
   [0] - prints acts 0, and changes [?][?] to just print current page
   [1-8] - print Act in current page
   [!] - print ReActs - no sensors to react to
   [b] - print behaviour
   [m] - print Mind
   [d] - dump all acts to PC without descriptions, for reloading
   [p] - places
   [h] - print help
   [E] - print EEPROM use
   [f] - print free RAM

Notes
-----
[(] - will show its location in EEPRO< when played eg (=263
[)] - will show its location in EEPRO< when played eg )=285
If a call to another Act is made from within a Do then the location to return to will be shown, eg (267)
Acts by default are stored in page 1, 0 changes to page 0 for the next command only.
Page 0 ia the first 256 bytes of EEPROM, Page 1 is EEPROM bytes 256-511, ReActs is the next 256 bytes, 
negative numbers allowed for F,B,R,L - so F-20 does B20
=============================================================
TVR010_PicAxe_IR_controller:
'---------------------------
'Before use, the transmitter must be programmed with the ‘Sony’ transmit code.
'1. Insert 2 AAA size batteries, preferably alkaline.
'2. Press [S] and [B] at the same time. [S] is in the centre of the arrows.
'  The top left red LED should light.
'3. Press [0]. The LED should flash.
'4. Press [1]. The LED should flash.
'5. Press [3]. The LED should go out.
'6. Press the red power button (top right).
'-------------------------------------------
'IRin cmnds using PicAxe controller
'DO NOT PRESS OTHER KEYS
'ie [A] [B] [C] [D] [E] [F] [G]
'They change the Mode and [B] has to be pressed to change back.
'[square] [triangle] [()] [L] [X] [backwards F]  have no effect
=============================================================