
06/09/1995 Kent Farnsworth

*****************************************************************************
                P C O D E   F O R   T H E   I B M   P C!
*****************************************************************************

It's finally here!

I updated the revision history of 'pcode861.asm' with the changes made. These
changes should not affect other host platforms, as all use #ifdef's of
'HOST_PC'.

To simplify the code installation, the following directory structure was
adopted:

Root Directory
    ->ic_code
        ->ic_code\bin
        ->ic_code\include
        ->ic_code\libs

The 'ic_code\bin' directory contains a 'GNU GCC' compiler subset, the 'AS11'
assembler, batch files and the 'IC' operating system. The carriage return
stripper, 'STRIP_CR.EXE' also resides here. This directory MUST be in your
path.  GCC runs in native 32 bit mode, so will not run on less than a 386
machine.

The 'ic_code\include' directory contains all of the include files.
The 'ic_code\libs' directory contains the library code.

All other files, reside in the 'ic_code' directory.

To unzip this system, do the following from the root directory:
1. Type 'MD IC_CODE'
2. TYPE 'CD IC_CODE'
3. TYPE 'PKUNZIP -d -o zipfile' ;zipfile = the pcode_pc.zip file and path.

I decided to forgo the 'make' function, and so produced a batch file to build
the Rug Warrior version of the pcode. To build other versions, just change the
'-D' variables in the 'GCC' command to what you need. To create a batch file
for other platforms, see below. Note that the '-DHOST_PC'is required for the
code to build correctly.

To build the pcode for Rug Warrior, just type 'BUILD_RW' from the 'ic_code'
directory.

The GCC preprocessor needs very few files, and is very small. The complete
compiler package is fully UNIX compatible, with all the bells and whistles.

I tried several other PC compilers, without success when trying to build this
code. I tried Microsoft C v.7, Metaware's Highc, Watcom's C, and Borland C++. 
The GNU GCC compiler is called 'DJGPP' on the net if anyone wants to ftp it. It
is a HUGE compiler.

I have run lots of programs under this pcode and everything seems to work very
well.

To build pcode for other robot boards, follow the instructions below.
Copy the 'build_rw.bat' file to another, and replace the GCC command -D
variables to the following for other boards:

Rev2 board w/large LCD: 
-DHOST_PC -DREV2 -DLCD_ROWS=1 -DLCD_COLS=40

Yamabico robot: 
-DHOST_PC -DYAMABICO -DLM576 -DLCD_ROWS=1 -DLCD_COLS=16

Sensor robot: 
-DHOST_PC -DSBOT -DLCD_ROWS=2 -DLCD_COLS=8

SX board:
-DSBOT -DHOST_PC -DLCD_ROWS=2 -DLCD_COLS=8 -DSBOT_SHUTDOWN_VOLTAGE=140

Rev2 board: 
-DHOST_PC -DREV2 -DLM576 -DLCD_ROWS=1 -DLCD_COLS=16

Rev 2.1 board:
-DHOST_PC -DREV21 -DLCD_ROWS=2 -DLCD_COLS=16

Rev 2.2 board:
-DHOST_PC -DREV22 -DREV21 -DLCD_ROWS=2 -DLCD_COLS=16

Rev 2.2 board w/o beeper:
-DHOST_PC -DNO_BEEPER -DREV22 -DREV21 -DLCD_ROWS=2 -DLCD_COLS=16

I don't have access to any of these boards, and cannot guarantee that they will
work. They should though!



*****************************************************************************
             A S 1 1 _ I C   F O R   T H E   I B M   P C!
*****************************************************************************

Included in the bin directory is a batch file called 'AS11_IC.BAT'.
This file will build an 'ICB' file from an assembly source. BEEPINT.ASM is
included as a sample. The interrupt base X register load is included from
'findx.asm' in the include directory.
The carriage return stripper is 'STRIP_CR.EXE' in the bin directory. This is
required, as DL.EXE does not accept carriage returns.
To build an ICB file, use the syntax:'AS11_IC filename_without_extension'. It
assumes an ASM extension.


Other notes:
To aid in debugging your code, you can edit the batch files and uncomment the
command that will create a complete listing file.

I would certainly appreciate any feedback on how this works for you!


Have fun!


Kent Farnsworth 
email: akent@zilker.net
address: HCO3 Box 62 M 1
         Spicewood, Texas 78669
