[ql-users] XTcc

2007-06-13 Thread Christopher Cave
In-Reply-To: [EMAIL PROTECTED]
My original posting on this topic was a bit short of detail(!) so I now 
offer J.Hudson's original README file which I found amongst my archives 
with the compiler etc.

Christopher Cave

xtc68 : c68 cross compiler for Unix and DOS-like systems


Requirements


386 or above with at least 4Mb of memory.

Distribution


xtc68-linux.zip ELF Binaries for Linux/i386
xtc68-dos.zip   DOS binaries for DOS (*), Win3.1, Win95, Win NT
xtc68-libs.zip  Latest lib and include files with correct path
for xtc68.
xtc68-cwsdpmi.zip   DPMI services for DJGPP DOS programs

(*) requires the freely distributable CWSDPMI DPMI extender for DOS.

The 'DOS-like' binary archive is cross-compiled (how appropriate!)
using DJGPP under Linux. This has the advantage that I do not have to
boot a DOS -like OS to compile this software. The downside is that
you're limited to 8.3 file names, even on Win95/NT. If you don't like
this, get the source code and recompile it yourself.

Components
~~


as68[.exe]as68 assembler
qcpp[.exe]GNU pre-processor
c68[.exe] c68 compiler
qld[.exe] linker
qcc[.exe] compiler driver

ql.makMakefile definitions to use native Make programs
  to compile xtc68 programs

Environment Variables
~

QLINC   Directory for c68 *.h files 
default = usr/local/qdos/include
  [usr\local\qdos\include]
Note that sys_ files are stored in a real sub-directory.
sys_stat_h - sys/stat.h [sys\stat.h]

QLLIB   Directory for c68 library and startup files 
default = usr/local/qdos/lib
  [usr\local\qdos\lib]

The library and startup files are taken verbatim from the c68
distribution.

C68PATH Used by qcc[.exe] to find other c68 programs (if they are not
in PATH).

Using the supplied defaults, and having the binaries in your PATH, you
should not need these.

Make


xtc68 works well with existing Unix, DOS and Win make programs (for
example GNU make, Watcom's WMAKE or Borland's maker.

LD extensions
~
qld[.exe] adds an extension to standard LD. 

qld -oprog @files.lnk

The @file contains the files to be linked, this is to bypass the
restrictive 16bit DOS command line limit of 128 bytes.

The @file may contain many lines of .o files separated by space. For
example, the DOS version of the QTPI ld qtpi.lnk file is:

 qtp.o qtpmenu.o qsetup.o qsdata.o pqem.o pqproc.o pqset.o qedit.o
 pqmenu.o pqdial.o qdsetup.o qvt100.o xprstuff.o about.o xprwin.o
 hotload.o view.o xprthing.o wild.o qserver.o minnymb.o srvspawn.o 
smagic.o
 litem.o menu-cho.o menu.o menusubs.o menu-chk.o menu-tex.o list.o
 menu_bfr.o resize.o
 qsprites.o jcall.o qtasks.o qemasm.o qfont1.o qfont2.o qfont3.o qfont4.o
 qchar.o spawn.o picker.o qconfig.o mono.o ioopen3.o hvers.o

The following link command is used.
 
ld -oQTPI @qtpi.lnk -lhotthg -lcsm

(note the position of the @qtpi.lnk option and the -l (library) options.)

In addition, xtc68 qld adds an extra 8 bytes to the excutable, the first
long word contains the text XTcc, the second long word contains the QDOS
data size requirement for the program.

XTcc blocks are supported by a number of cross-platform support
programs such as INFOZIP zip/unzip, qltools, and the uQLx qcp/qls
programs.

Other Issues


To avoid confusion with other compilers, some of the c68 images are
renamed.

CC = qcc
LD = qld
CPP = qcpp

The easiest way to handle this is to have a makefile 'include' file,
for example:


# ql.mak
CC = qcc
LD = qld
AS = as68
CPP = qcpp

%.o : %.s
$(CC) $(ASFLAGS) -c $ -o $@

And start your c68 make files with

include ~/ql.mak# or where ever it's hidden

I suggest the c68 files go into /usr/local/bin.

This works really nicely with 'make -j' for mega fast compiles.

Credits 
~~~ 
xtc68 is based entirely on the work of Dave and Keith Walker.  I am
grateful to Dave and Keith for making the complete source code
available. 

xtc68 is compiled with GNU/gcc for Linux and DJGPP for DOS.

xtc68 carries NO WARRENTY. You use it at your own risk.

xtc68 is (sort of) maintained by:

  Jonathan R Hudson [EMAIL PROTECTED]

FOR MORE INFO on c68, including all documentation and source code, 
please look at:

   http://ourworld.compuserve.com/homepages/DaveWalker/


This release of xtc68 includes all binary, library and include patches
to 24/02/97, including support of wm_rptrt ().


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] XTcc

2007-06-13 Thread Dilwyn Jones
 My original posting on this topic was a bit short of detail(!) so I 
 now
 offer J.Hudson's original README file which I found amongst my 
 archives
 with the compiler etc.

 Christopher Cave
(snip)
 In addition, xtc68 qld adds an extra 8 bytes to the excutable, the 
 first
 long word contains the text XTcc, the second long word contains 
 the QDOS
 data size requirement for the program.

 XTcc blocks are supported by a number of cross-platform support
 programs such as INFOZIP zip/unzip, qltools, and the uQLx qcp/qls
 programs.
Ah yes, this is the explanation for what I was asked, thank you

-- 
Dilwyn Jones

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[ql-users] XTcc

2007-06-12 Thread Dilwyn Jones
I'm trying to help with a query I received:

Does anyone know what an XTcc field is? Apparently it's mentioned in 
QLay's manuals connection with retrieving the dataspace of an 
executable program.

-- 
Dilwyn Jones

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[ql-users] XTcc

2007-06-12 Thread Christopher Cave
In-Reply-To: [EMAIL PROTECTED]
Some long time ago, Jonathan Hudson set up the C68 compiler, assembler 
etc to work on PCs (as in IBM-XT etc.). This enabled one to use, 
e.g.,Watcom's workbench to produce UQXL executables. Is this your 
reference?

Christopher Cave

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [ql-users] XTcc

2007-06-12 Thread Dilwyn Jones
Thanks. From what I gather of the original enquiry, and reading this 
reference
in one of the QLAY manuals:

A tricky part is setting the correct datasizes for an executable QDOS
program. Some executable files have the datasize storedin an XTcc
field in the file itself. QLAY can use those.

From looking at this, it seems that the task dataspace is stored
somewhere in program files which have an XTcc field. I have QLay2
set up on my system, although I don't use it much. It looks like the
QLAYT tools program (which is a DOS program) is able to somehow find
the dataspace size and use the stored figure (wherever it gets it
from, because it can't recover it from normal job headers placed in
the Native File Access DOS hard disk area of a QLay WIN file) to add
it to QLAY.DIR, which is where the QLay WIN device stores file headers
to protect them from being lost by DOS/Windows.

-- 
Dilwyn Jones

- Original Message - 
From: Christopher Cave [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, June 12, 2007 10:27 PM
Subject: [ql-users] XTcc


 In-Reply-To: [EMAIL PROTECTED]
 Some long time ago, Jonathan Hudson set up the C68 compiler,
 assembler
 etc to work on PCs (as in IBM-XT etc.). This enabled one to use,
 e.g.,Watcom's workbench to produce UQXL executables. Is this your
 reference?

 Christopher Cave

 ___
 QL-Users Mailing List
 http://www.q-v-d.demon.co.uk/smsqe.htm


 -- 
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.5.472 / Virus Database: 269.8.11/838 - Release Date:
 07/06/2007 14:21



___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm