Jump to content
Excelsior Forums
Sign in to follow this  
widom

Missing BiosIO.c in TSCP (Linux)

Recommended Posts

Not really, but I don't want you to feel ignored. I see some references to biosio.c but a cursory look shows most of the ones I've looked at relate to syslinux.c - instead of TopSpeed (which I would imagine was mostly DOS/Windows).  I notice there are a few threads in forums (including here) relating to problems with the BiosIO module. Here is a place where someone is talking about re-writing the BiosIO module, perhaps he knows where it is:  http://objectmix.com/modula/176148-xds-ts-biosio-source-windows.html

Share this post


Link to post
Share on other sites

Thank's for your replay. Yes, the TS was old Jansen & Partners Int Modula-2 for DOS.

But in case of XDS there is a Linux compatibility pack. That what I ttried.

Actually I was expecting BiosIO.c to be a part of XDS TSCP (Linux) distribution, since all other modules are (e.g. IO.c ec). This file seems to be missing in XDS Linux distribution. What is intereting it is actually pointed from tslib.mkf in line:

../../../../src/TSlibs/POSIX/BiosIO.c

so, XDS used it for building it's libts.a

My problem originally came from  testing TSCP (XDS(. After imporing some modules like  IO or Window,  I have got error (see below). One of ideas was to rebuild a libts.a library again, but then I apoint a problem of missing BiosIO.c

MODULE test;

IMPORT BiosIO;

BEGIN

(* whatever goes here *)

END test.

/usr/local/xds/mod/test$ xc =m test.mod

O2/M2 development system v2.51 TS © 1999-2003 Excelsior, LLC. (build 10.05.2005)

#project is up to date

gcc  -o test test.o  /usr/local/xds/lib/x86/libts.a /usr/local/xds/lib/x86/libxds.a  -lm

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `no symbol':

(.text+0x1c1): undefined reference to `echo'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `no symbol':

(.text+0x1c6): undefined reference to `nl'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `no symbol':

(.text+0x1cb): undefined reference to `cbreak'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_RdKey':

(.text+0x25a): undefined reference to `getch'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x34b): undefined reference to `initscr'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x353): undefined reference to `stdscr'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x358): undefined reference to `keypad'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x360): undefined reference to `stdscr'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x365): undefined reference to `nodelay'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x36a): undefined reference to `cbreak'

/usr/local/xds/lib/x86/libts.a(BiosIO.o): In function `BiosIO_BEGIN':

(.text+0x36f): undefined reference to `noecho'

collect2: ld returned 1 exit status

make: *** [test] Błąd 1

external command fault 2:

make -f tmp.mkf

Share this post


Link to post
Share on other sites

Download the TSCP add-on package from the XDS website.  BiosIO.c is in the "C" subdirectory

as you can see here:

xds/C/BiosIO.c
xds/C/SysErr.c
xds/C/xtsFIO.c
xds/C/xtsIO.c
xds/C/xtsLib.c
xds/C/Str.c
xds/C/FIO.c
xds/C/FIOR.c
xds/C/Lib.c
xds/C/MATHLIB.c
xds/C/ShtHeap.c
xds/C/IO.c

john

Share this post


Link to post
Share on other sites

To be clear, BiosIO.c is in the TSCP add-on of the XDS-C 2.51 distribution, not the native compiler version.

john

Share this post


Link to post
Share on other sites

To be clear, BiosIO.c is in the TSCP add-on of the XDS-C 2.51 distribution, not the native compiler version.

john

:) Ah... I always forget about XDS-C, glad you clarified that, because I knew I didn't have it in any of /my/ directories.

Share this post


Link to post
Share on other sites

To be clear, BiosIO.c is in the TSCP add-on of the XDS-C 2.51 distribution, not the native compiler version.

In general, it is not a good idea to borrow files from XDS-C to rebuild a Native XDS-x86 library. There may be compatibility issues.

Share this post


Link to post
Share on other sites

If not borrowing from XDS-C, than what is the issue, since XDS-86 does not include it  ?

First, Native XDS-x86 itself does not include the module BiosIO. That module is part of the TopSpeed Compatibility Pack (TSCP), which is a separate download.

Second, TSCP for Native XDS-x86 already contains the module BiosIO in binary form, precompiled from Modula-2 source.

In case of XDS-C, the C code of the runtime library is provided to enable you cross-compile your Modula-2/Oberon-2 code for Unix, Mac, DOS Extender, or whatever platform you can find a C compiler for.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×