Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - agena@alex

Pages: [1]

I have been publishing an eCS/OS2 version of my programming language Agena for quite some time.

To sum up its capabilities, I currently use the following sentence:

`Agena is an easy-to-learn procedural programming language designed to be used in science, scripting, and many other applications.`

However, `scripting ... applications` sounds very "Germish" to me. Is there a better wording ?

Thank you,

Alex from Bonn

Programming / Non-yum/rpm vs. ordinary (?) eCS
« on: April 26, 2015, 11:53:39 am »
Dear Ladies and Gentlemen,

this weekend, a very kind eCS user informed me that there were a difference between standard
and yum/rpm based Warpin installers.

I thought that OS/2 - eCS and NT were siblings so that any DLL linking/path problems experienced
on UNIX-based systems did not happen to us ?


Programming / Lua 5.2.4 for eComStation has been uploaded ...
« on: April 25, 2015, 08:23:23 pm »
... to the Hobbes FTP server.



Programming / Agena 2.5.1 for eComStation
« on: April 01, 2015, 08:21:29 am »

I have just uploaded a WarpIN installer of Agena 2.5.1 for eComStation:

A crash course on the language is available here:

Any feedback would be nice.



according to a nice primer on socket programming available at,

IPv4 communication has first to be initialised by calling the sock_init C function. Is this
still necessary and does this function work correctly in eCS ? 

When booting eCS 2.2 bII, I see the network driver issuing a failure, sock_init() returning
an error, as well - but surprisingly I can open sockets. All other functions like bind, connect,
close etc., however, insist that they did not receive a valid socket handle.

Thank you,


Setup & Installation / End-User Suggestions for the next release of eCS
« on: September 13, 2014, 10:33:49 am »

as I am un/fortunately stubborn, I would like to ask the eCS devteam to consider some suggestions for a new version of eCS, at least concerning:

- File Management:

The GUI file manager needs a lot of dedication. I managed to copy files with a mouse movement from here to there without noticing it.

Due to kind advice from our forum, FC/2 made the day.

- FAT32/NTFS support

Plain FAT USB sticks are natively supported, FAT32 and NTFS sticks are not.

- Programme Editor:

e.exe with line numbering and a `goto line`search statement would be great.

- SIGFPEs & Dave Yeo's Assembler Patch

Projects using doubles or floats are not well supported by current GCC eCS editions. This is a real strain. Just including a brilliant ASM solution provided by Dave Yeo makes the day - without knowing it, you are lost.

Greetings from the Rhineland,


#ifdef __OS2__
  short fcr;
  __asm__ volatile ("fstcw           %0 \n"
                    "or         $63, %0 \n"
                    "fldcw           %0 \n"
                    : "=m"(fcr));

Setup & Installation / Reconfiguring the Screen to 1366x768 pixels
« on: September 13, 2014, 10:01:54 am »

is there a solution to convince eCS to be run in 1366x768 mode ?

vcfgcid /RES:(x):(y):(resolution) /RR:(refresh rate)

fortunately does not allow such experiments. Which is fine.


Setup & Installation / eCS connected to another monitor: black screen
« on: September 12, 2014, 05:33:33 pm »

I just installed eCS onto a computer and unfortunately chose a screen resolution that the
monitor that I want to use permanently with eCS does not support. Now, when booting,
the screen goes black.

Is there a way to change the screen resolution at boot-time ?  My PC has a pecularity: eCS
could only be installed with a PS2 keyboard plugged in. At home, I only have USB keyboards -
so I cannot use the installation DVD for a possible fix.

Thank you,



I am just trying to port C code to eCS implementing binary trees, that has run smoothly even in stress
tests with Valgrind - a memory leak checker for Linux and Mac OS X - being plugged in.

Tomorrow, one of our best C programmers at my company will check my code for errors. However,
since the crashes in eCS diminished significantly - but not vanished - when not memcpy'ing C structures
into other C structures, by just using assignment statements instead: is there anything special with memory
management in eCS ?  The errors happen when removing a large number of nodes from the tree, `only`.

I just read a non-eCS related comment on StackOverflow saying that using assignments instead of
memcpy could confuse the system if the structure to be copied resided on the internal C heap.

Thank you,


Programming / Simple C Programming Editor and File Manager for eCS ?
« on: September 09, 2014, 11:57:49 pm »

already trying so many editors and file managers I have downloaded from the NMSU Hobbes FTP server, I have to ask these silly questions *):

1) Programming Editor

Do you know of a GUI-based C programming editor as simple as the e.exe editor already being shipped with eCS, plus the following features:

- display of line numbers,
- ability to open multiple files in different tabs,
- undo and redo feature up to ten levels (or more),
- search for and jump to a given line number,
- and no need to manually re-configure it on the CONFIG.SYS level with TERM, XFree86, X11, etc. config settings ?

The Enhanced Editor that is available with eCS unfortunately does not work with my Apple UK keyboard.

2) File Manager

I still have trouble getting acquainted again to the OS/2 Warp file manager. Is there something like the MuCommander (GUI-based Norton Commander clone) also available for eCS, with no further obligatory manual configuration on the CONFIG.SYS level ?

Thank you,


*) Maybe a forthcoming eCS 2.2 Beta III could be delivered with such tools out-of-the-box. It could spare hours for those who would rather like to concentrate on porting C code to eCS than spending time on setting up an easy-to-use development tools environment.

Programming / Agena 2.3.0 has been released for eComStation
« on: September 08, 2014, 04:45:29 pm »

I have just uploaded a WarpIN installer of Agena 2.3.0 RC 1 for eComStation:

Although `RC 1` may sound like `beta`, it is a stable version of Agena. The eCS version currently does not feature the `net`,
`gdi`,  `fractals`, and `xml` packages. I also did not have time to update the manual, yet.

You may find the sources at:

A crash course on the language is available here:

Any feedback would be nice.


Programming / kbhit C implementation for eCS GCC ?
« on: September 08, 2014, 04:33:14 pm »

yesterday, I searched for hours for an alternative C implementation of kbhit which checks whether
a key on the keyboard has been pressed, and which just returns a Boolean 0 or 1 but does not
write anything to stdout.

The eCS GCC conio header files unfortunately miss this non-ANSI C function.

Do you have a hint ? Thank you.


Programming / GCC: Request for help on IPv4 `shutdown` function
« on: September 05, 2014, 10:40:00 am »

I am currently searching for the eCS pendants of constants that are used by C's
`shutdown` function.

The constants SD_* and SHUT_* do not seem to exist in eCS.

Would you please help me ?

Thank you,


#ifdef _WIN32

static int net_shutdown (lua_State *L) {
  const char *mode;
  int r, m;
  AGN_SOCKET sock;
  STATUS *s;
  sock = luaL_checkinteger(L, 1);
  checksocket(L, sock, AGN_NET_SHUTDOWN);
  s = getsocketattribs(L, sock, AGN_NET_SHUTDOWN);
  if (!s->connected) {
    agn_neterrorfail(L, "socket not connected");
  mode = luaL_checkstring(L, 2);
  if (strcmp(mode, "read") == 0) {
    r = shutdown(sock, SHUTDOWN_RD); m = SHUTDOWN_RD;
  } else if (strcmp(mode, "write") == 0) {
    r = shutdown(sock, SHUTDOWN_WR); m = SHUTDOWN_WR;
  } else if (strcmp(mode, "readwrite") == 0) {
    r = shutdown(sock, SHUTDOWN_RDWR); m = SHUTDOWN_RDWR;
  } else {
    m = r = -MAX_INT;
    luaL_error(L, "Error in " LUA_QS ": unknown shutdown mode `%s`." AGN_NET_SHUTDOWN, mode);
  if (r == 0) {
    s->shutdown = m;
    if (treeupdate(socketattribs, sock, s) != 0) {
      luaL_error(L, "Error in " LUA_QS ": could not assign socket to administration table.", AGN_NET_SHUTDOWN);
  lua_pushboolean(L, r == 0);
  return 1;


I am currently porting an interpreter to eCS 2.2 using various GCC compilers (4.4.x, 4.5.x, 4.7.x)
kindly provided by Paul Smedley. I run eCS on Sun VirtualBox 4.3.12.

In my regression tests, I notice various SIGFPE crashes obviously issued via libc065 when trying
to call C's trunc, cosh, and sinh functions (thus far). Is this a known issue with eCS/GCC ?

The interpreter heavily relies on the use of doubles in numerical loops, etc. Although it never has
been fast on my late native OS/2 Warp 4 machine many years ago, the interpreter is running
unbearably slow now on eCS. When compiling, I use the following switches:

   $(MAKE) all MYCFLAGS="-O2 -static-libgcc -fomit-frame-pointer -D__ST_MT_ERRNO__ (+ some Agena/Lua non-numerical switches)"

Is there an approriate switch to speed up double arithmetic ?

Thank you,


Programming / eCS 2.2 C API documentation
« on: August 25, 2014, 10:11:40 pm »

I just searched the Net for an up-to-date C API documentation of eCS 2.2, to find information on any changes
at least to keyboard queries, mouse interaction, installed CPU(s), and memory consumption, with respect to
OS/2 Warp 4.5, but unfortunately failed.

I just discovered that fortunately is still on-line, I somehow imagine that I visited
this nice site many times years ago when creating an OS/2 port of an OpenSource project.

The very first hit at Google alleges that a current eCS C API documentation is available only for sale ?

I hope, the C API of eCS is still fully downward-compatible to Warp 4.5.

Do you have any clue ?


Pages: [1]