Newsgroups: comp.sys.transputer
From: suarez@polar.etsiig.uniovi.es (Suarez Alonso, Francisco Jose)
Subject: Re: Transputers with LINUX
Organization: Universidad de Oviedo
Date: 7 Nov 94 20:07:21 +0100
Message-ID: <1994Nov7.200721.1345@polar>

X-News: polar comp.sys.transputer:785

>From: s0017210@unix1.cc.ysu.edu (Steve DuChene)
>Subject:Transputer networks with Linux PC as host? how compile?
>Date: 26 Oct 1994 02:48:04 -0400
>Message-ID:<38ku34$vqq@unix1.cc.ysu.edu>

>	I have asked this about nine months ago but I am still
>	a little unclear on how to go about compiling ANSI-C code
>	to run on transputer networks that are installed on a B008
>	motherboard in a PC running Linux. We have a older version
>	of the INMOS PC-DOS ANSI-C compiler tools (D7214) that supposably
>	actually runs on the root transputer. I was told this was ideal
>	(next to buying a C compiler source to compile with GCC under
>	Linux, like PACT or Logical Systems packages) for use with
>	the Linux device drivers and Iserver port. My confusion comes
>	from the other tools that are part of the distribution such as
>	icc, icconf, icollect and etc. These are DOS executables so how
>	do we actually go about compiling, linking, configuring, and
>	collecting under Linux? I see there are *.btl files such as
>	icc.btl, icconf.btl under the itools directory. Are these 
>	something we can load onto the root transputer with the Linux
>	version of the iserver to do these same jobs under Linux? 
>	Or do we have to compile, link, configure, and collect under DOS
>	then load the resulting code under Linux?
>	I have the transputer device driver version 0.4 written by
>	Christoph Niemann (niemann@swt.ruhr-uni-bochum.de) and it seems
>	like a really well thought out package (it even runs the TDS).
>	I just hope it works with the 1.1.51 kernel I am running. :-)
>	If anyone who is using Transputers with Linux running on  
>	the host could shed any light on this I would appreciate it.
>-- 
>| Steven A. DuChene   sduchene@cis.ysu.edu  or  s0017210@cc.ysu.edu	 
>| Youngstown State University  | Computer Science / Math / Mech. Eng.
>|-------------------------------------------------------------------
>| 	Friends don't let friends do DOS


Dear Steven,

I think that can help you.

We are working with the same philosophy as you, that is, Inmos 
Toolset + B008 Board + PC Linux Platform and I have to tell you 
that the way the rest of tools (icc, ilink, ...) work under Linux 
is booting their executables files (.btl) directly with the Iserver, 
so you never need to work under DOS.

Once the above idea is clear, what you need are new tools whom 
target are loading the corresponding bootable (.btl) versions of icc, 
ilink, etc. These new tools will be unix executables files: icc*, 
ilink*, etc. that you will store in a new directory.

Well, It is only left to know the code of the unix executables to 
solve your problem and that follows correspons to it:

/******************************************************************/

# This code is value for any new tool, that is; icc*, ilink*, etc. 
# The only thing you must do is to name the code with the 
# corresponding tool name and then make it executable with 
# "chmod +x name"
#
#  for example: 
#                  cp code icc
#                  chmod +x icc
#
# IMPORTANT:  You also need to change the ITERM, ITOOLS and 
#             ISEARCH depending on your Path:
#
#                 ITERM :  terminal 
#                 ITOOLS:  directory for the .btl tools
#                 ISEARCH: Libraries
#
#!/bin/sh
# 02-Oct-92 lr - revised
# 15-Nov-91 lr
#   driver file for inmos c compiler
#
# This is intended as an interface to the Inmos C compiler utilities
if [ "$ITERM" = "" ]
then
	ITERM=/usr/local/ictools/iterms/ansi.itm
fi
export ITERM

IBOARDSIZE=\#200000
export IBOARDSIZE
ITOOLS=/usr/local/ictools/itools
export ITOOLS
if [ "$ISEARCH" = "" ]
then
	ISEARCH='/usr/local/ictools/libs/'
	export ISEARCH
fi
ISOPT=-SB
TOPTS="$*"
TMPFILE=$$3l
PROG=`basename $0`
TRECHO="tr '/' '\\\\'" # the linker wants backslash

case $PROG in
	icc)		PROGNAME=$PROG.btl;;
	icconf)		PROGNAME=$PROG.btl;;
	icollect)	PROGNAME=$PROG.btl;;
	icvemit)	PROGNAME=$PROG.btl;;
	icvlink)	PROGNAME=$PROG.btl;;
	idebug)		PROGNAME=$PROG.btl;;
	idump)		BYTES=`expr 1024 '*' $2` ;
			ISOPT="-SA -SP $2 -SI -SS -SC" ;
			TOPTS="$1 $BYTES $3";
			PROGNAME=$PROG.btl;;
	iemit)		PROGNAME=$PROG.btl;;
	ieprom)		PROGNAME=$PROG.btl;;
	ilibr)		PROGNAME=$PROG.btl;;
	ilink)		PROGNAME=$PROG.btl;;
	ilist)		PROGNAME=$PROG.btl;;
	imakef)		PROGNAME=$PROG.btl;;
	isim)		PROGNAME=$PROG.btl;;
	iskip)		PROGNAME=$PROG.btl;;
	itlink)		PROGNAME=$PROG.btl;;
esac

iserver $ISOPT $ITOOLS/$PROGNAME $TOPTS
status=$?
echo "Exit status is $status"
if [ -f /tmp/$TMPFILE ]
then
	rm -f /tmp/$TMPFILE
	rm -f /tmp/a$TMPFILE
fi
exit $status

/********************************************************************/


After making executable, for example, the icc file with the code above, 
you can key:

$ icc xxxx.c

Remenber including all the new tools in the PATH

 
and ..... BE LUCKY !!!


P.S. Tell me if you have success or not.


Francisco Jose Suarez Alonso
Area de Arquitectura y Tecnologia de Computadores
UNIVERSIDAD DE OVIEDO
e-mail: suarez@etsiig.uniovi.es
SPAIN



