Short:        Arduino access using bwBASIC.
Author:       wisecracker@tesco.net (Barry Walker)
Uploader:     wisecracker@tesco.net (Barry Walker)
Type:         docs/hard
Version:      1.00.00
Architecture: m68k-amigaos; generic

Distribution: Public Domain.

============================================================================

Requirements Are...
-------------------

1) WinUAE 1.5.0 or greater.
2) With minor modifications to Arduino, STANDARD AMIGA A1200 or greater.
3) Standard OS3.xx.
4) bwbasic111.lha interpreter archive from AMINET.
5) Any dependencies for bwBASIC.

----------------------------------------------------------------------------

History:-
---------

01-08-2009.
-----------
Version 1.00.00, Probably the one and only upload.

----------------------------------------------------------------------------

(This readme is also the manual.)

Windows Side First:-
--------------------

Using the Arduino ? Board software, program the board with the file inside
the archive "Arduino-bwBASIC.pde". Note that the serial speed is set to
19200 bps. Although I normally suggest setting the COMx: port through the
Windows Control Panel I have found by experience that there is no need to
as the programmed board successfully changes it on the fly WITHOUT problems.
However it is always a good idea to set the COMx: port manually just in
case, to remove any possible errors from the Windows side.

The AMIGA Environment:-
-----------------------

Once the board is programmed close down the programmer software and start
up WinUAE, (in my case Version 1.5.3), and ensure that the COMx: port is
selected before starting the AMIGA emulator. My setup runs in classic
A1200 mode with 4MB FastRam, PAL Hires style graphics and using standard
"topaz 8" font.

Go to the PREFS: drawer and open up the Serial software. Set the Serial
port to 19200 bps, 8 bits, no parity, 1 stop bit and no handshaking.
Adjust the buffer to the minimum allowed. Select "Use" unless "Save" is
what you want.

Close down any unwanted open windows and/or programs.

It will be assumed that bwBASIC is fully installed onto the system and
that any bwBASICs dependency files are also installed.

Open up a Shell window.

Type in "Stack 65536<RETURN/ENTER>" without the quotes.

Go to the drawer where the bwBASIC executable exists.

Type in "bwBASIC<RETURN/ENTER>" without the quotes.

Load in the Arduino BASIC code by typing......

Load "DRIVE:Path/Arduino_bwBASIC.BAS<RETURN/ENTER>"

......WITH the quotes.

Where the "DRIVE:Path/" is where the BASIC code is situated.

Type "RUN<RETURN/ENTER>" without the quotes to start the program.

There should be an update of the board every second or so displayed on
the screen as the serial port is read.

Using a wire link between:-

1) ANALOG IN 0 and Gnd gives a reading of 0.
2) ANALOG IN 0 and 3V3 gives a reading somewhere between 169 to 172.
3) ANALOG IN 0 and 5V will quit the program.
4) An open circuit to ANALOG IN 0 will give random values.

NOTE!!! THERE IS A FLAW IN THIS IDEA AND IS A FLAW OF bwBASIC NOT THE BASIC
CODE THAT IS RUN.

It is very minor for this usage, however, can you find it... ;-)

This board does work on a classic A1200 with a small serial port converter
board built and fitted, or, alternatively using one of the very early
serial only Arduino boards.

Enjoy finding simple solutions to often very difficult problems.

----------------------------------------------------------------------------

                                IMPORTANT:-
                                -----------

    The Legal Stuff:-
    -----------------

    These programs are completely FREE and NO profit will be made from
    them. The author is not responsible for any damage to, or loss of, or
    failure of equipment or data caused in any way by the use of these
    programs. There is NO warranty with the use of these software releases
    at all and YOU USE THEM AT YOUR OWN RISK. They are issued, as of the
    above upload date, as Public Domain.

----------------------------------------------------------------------------

    Testing Evaluation:-
    --------------------

    An A1200 in 2MB, 6MB and 10MB modes using trapdoor memory AND/OR
    PCMCIA memory expansions and a special home made serial converter board.

    Tested on AF5/6 and WinUAE 1.5.3 using XP(TM) on a Dual Core notebook
    and Vista(TM) on a Quad Core machine using OS3.1x.

    All test conditions were/are running STANDARD OS3.xx, and using
    standard ~topaz 8~ fonts throughout.

    I have no idea what a strange configuration setup will create so refer
    to the ~The Legal Stuff~ above.

----------------------------------------------------------------------------

                                 WARNING.
                                 --------

  1) DISCONNECT any faulty equipment under test from the MAINS supply.
  2) If a DC supply is used do NOT reverse polarity the connections.
  3) Do NOT power up any electronic item until it is safe to do so.
  4) CHECK and RECHECK all of your construction and repair work thoroughly.
  5) Handle ALL tools used with care.
  6) Beware of ALL types of solvents, glues and etching fluids.
  7) NEVER leave a soldering iron switched on unattended.
  8) KEEP everything OUT of the reach of small children.
  9) Switch OFF the AMIGA before disconnecting or connecting any hardware.
 10) And finally read 1) to 9) again.

----------------------------------------------------------------------------

   Contact:-
   ---------

   Mr Barry Walker, G0LCU,
   70 King George Road,
   Loughborough,
   Leicestershire,
   LE11 2PA,
   England.

   Email:-     wisecracker@tesco.net
   URL:-       http://homepages.tesco.net/wisecracker/G0LCU.HTM

   Author of the ~TestGear?~ projects in the ~docs/hard~ drawer of AMINET.

----------------------------------------------------------------------------

   A very useful HardWare related site, (C) Anthony Hoffman, for
   modifications, schematics, repairs and the like is:-

                          http://amiga.serveftp.net/

============================================================================
