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