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.


Messages - Mentore

Pages: [1] 2 3 ... 17
1
Hello Mentore.

Thanks for that. So, it means that "GpfRexx" is now "AS IS" Freeware, with no support from it's author (logically). That's good.

I have that the last version is this one:
- https://hobbesarchive.com/Home/Download?path=/Hobbes/pub/os2/dev/proglang/rexx/GpfRexx_1-2c.zip

Let me know any correction.

Thanks

Hi Martin,
AFAIK the release on Hobbes is the latest one. I have a mess in my personal software archive, which is scattered in three PCs and heavily unorganized, so I can't really confirm it's complete - still I can't find real differences in the archives I possess, so I guess that's complete.

I encourage you all to try this interesting piece of software.

Mentore

2
Hiya all, something good to let you know.
Recently I found I lost my registration key for the excellent GPF REXX programming IDE for OS/2 (https://ecsoft2.org/node/1322).
I decided to contact Jean-Baptiste Clerin, the developer, asking him to help me with this problem and after a few emails we agreed on this:
even if the product is no more of interest to him, he can't release it as open source because he would have to remove some cryptographic algorythm (didn't go too deep in details) and so some peculiar aspects of the program would be lost. Even so, he answered me he didn't have the time to work on it and also he got rid of his OS/2 environment, so open sourcing it was a no-no.

The solution? Creating a registration key for me and a generic-user registration key for everyone of us who wants to try the software!

Here it is:
V 1.2 (Pro)
License To: OS/2 User
License Id: 45-78-40718
Key: 50C2-9096-0C04-89B4-20DB-B246-2F1F-49E1

I'm in the process of re-installing all my OS/2 important software on a new ArcaOS VM so I'll have to work a lot. I intend to fire it up ASAP to work on some OS/2 native software. In the meantime, feel free to use the generic key as you see fit.

Mentore

3
Programming / Re: Boost 1.87 - assembler problems
« on: March 25, 2025, 11:29:57 pm »
Perhaps copy make_i386_sysv_elf_gas.S to make_i386_sysv_aout_gas.S, change the cmake.lists file or whatever file is needed to adjust to assemble make_i386_sysv_aout_gas.S instead of make_i386_sysv_elf_gas.S and hopefully can just remove the unknown pseudo-ops to get it to assemble. Might have to change the .section types too, forget the specifics right now.

Thanks Dave. I'll try something tomorrow (it's 11 pm here)... Boost would help me a lot in porting some interesting software like lilypond and other things.

Mentore

4
Programming / Boost 1.87 - assembler problems
« on: March 25, 2025, 01:45:02 pm »
Hello all, I'm trying to port the entire Boost library system.
Working with the CMake version helped me getting rid of the horrible B2 (bootstrap) build chain which I tried to port but with a lot of headaches.

I'm fixing little problems during compilation, but got stuck in some assembler section:

make gives me

make_i386_sysv_elf_gas.S:34: Error: unknown pseudo-op: `.hidden'

I'm currently using GCC 14.20, but as.exe is the "original" one on OS/2 since the 9.2.0 release of GCC.
It seems the assembler is the culprit, by searching in some other forums.
Am I correct in assuming that by default the "as" assembler is used? Or is it WASM?

I'll keep trying, but some suggestion would be greatly appreciated.

Mentore

5
General Discussion / Re: Brainstorm: What is Next with OS/2 ?
« on: March 21, 2025, 08:29:27 am »
Hello.
As long as we can't fix the memory issues (4GB border), everything else is more or less useless. And I doubt we ever get this one fixed.

I guess that just as USB 3 or UEFI was a blocker to run OS/2, I guess this is our new blocker. Not a blocker to run OS/2 on hardware, but to have modern software compiled on it.

Regards

Looking at all the troubles Dave Yeo and Paul Smedley are going through to port Qt 5/6 and Dooble / Otter / other browsers, yes, this is one of the key points we likely will not be able to address.
So two solutions come to mind: open up a niche (not ours) with specific interest, or try to push again for the kernel (at least) source.
Which, likely, is impossible to achieve.

Mentore

6
General Discussion / Re: Brainstorm: What is Next with OS/2 ?
« on: March 20, 2025, 07:59:18 am »
Hello

Yes, again, the typical thread for brainstorming about the future of OS/2 and ArcaOS.

On Dec of 2023 I sent the attached wish list document to Lewis based on past discussions.

Today ArcaOS is running on UEFI and finally has some language localizations like German, Spanish, and Russian.

It seems to me that the top requirements from the perspective of the OS are still:
1) Modern web browser
2) Wifi Driver.

What do you think it is missing or what had changed from 2023's wishlist to today?

On the other hand, what else can it be interesting to do as a community?

Regards

Being both a developer and an user, I can see from both sides.
Yes, we need drivers and yes, we need a modern web browser.
For these targets to be, eherm, targeted, we need developers.

It seems to me that on OS/2 we have gone back to the '80s era, when there was no software and you had to build it yourself. This is pretty bad-looking from a common user's point of view: we are really used to the plain and simple "I need some software to do XY, I search on the 'net for XY, I find the software, I install it, I'm more or less satisfied, case closed". This is not really the case on OS/2.

So something good to do would be to nurture a little more our shrinking developers' community.
I'm really afraid this would be a HUGE task, but I feel this should be some starting point to try and obtain something more from this old beloved beast.

Mentore

7
Applications / Re: LarsenCommander - new test version
« on: February 24, 2025, 08:52:54 am »
I've just released v1.09.00. See https://sourceforge.net/projects/lcmd-git/files/


Hi Andi, I'm about to test it  right now. I'm heavily using LC, since I'm so used to the old Norton Commander interface. I also would like to ask you if it's possible to add an "Open With" option on files.
Since I use it really much when I develop or port OS/2 software, something like that would be of great help in order to let me, say, open a source code file with an appropriate editor like VisualSlickEdit, EPM, plain old E, FTE, or maybe a more complex IDE like VisualAge or OpenWatcom.
Was that already on your mind?
In any case, thanks for your good work on this file manager, I feel really at home using it.

Mentore

8
Applications / Re: hobbesarchive.com FTP
« on: February 14, 2025, 08:32:19 am »
So how does one upload to Hobbes?

I just downloaded cadaver and tried to connect to hobbesarchive.com and was not successful.

On the top of the page you should see an "Upload" item. Just click on it and you will be presented a form to input relevant data and upload the file. It is almost 100% identical to the old Hobbes upload form (just lacks the .txt file you'd attach to the compressed file on the original Hobbes site).

Mentore

9
Applications / Re: XWP v1.0.17
« on: February 05, 2025, 09:11:32 am »

XWorkplace v1.0.17 is now available.


Thanks Rich, I just downloaded it.
By the way, it seems your SSL certificate is out of date...

Mentore

10
Programming / Re: [gcc] libgomp?
« on: January 23, 2025, 08:16:25 am »
libgomp is AFAIK a library for optimizing multithreading programs. That's certainly not an easy port to do.

Yes, you're right. On some forum the issue is discussed but it's a really gray area: it would at least need a really long configuration process, and I'm almost sure it would have to be rewritten for the most part with the OS/2 thread API.
Most probably the best solution for PortableGL is removing the parts requiring libGomp or substitute them with the OS/2 API equivalent. I'll try to understand the next steps.

Mentore

11
Programming / Re: [gcc] libgomp?
« on: January 21, 2025, 10:55:57 pm »
IIRC, PortableGL is header only and libgomp is only needed for some examples.

Hi Jochen, yes you're right in both. But I'm still wondering how come we don't have libGomp in OS/2 GCC, I feel this could be useful. I also tried something but seems building it separatedly is kind of a huge beast to tame. Will have a deeper look tomorrow (it's 11 PM here now).

Mentore

12
Programming / [gcc] libgomp?
« on: January 20, 2025, 02:32:31 pm »
Hi everyone,
trying to port another OpenGL renderer (PortableGL) which seems promising, but complains I lack libgomp.
From what I saw, libgomp should be part of GCC but I seem unable to reach for it - GCC falls back to searching it in the OS/2 toolkit, which means it's not in the GCC tree.

Can someone help me finding it? We could do with a more modern OpenGL library (albeit incomplete).
Mentore

13
Programming / Re: DOSBox-x - infinite loop in configure/make
« on: January 17, 2025, 10:08:22 am »
Cool, so the latest dosbox-x works fine on Arca then?

Hey J,
currently I haven't still tried again with Dosbox-x. As Dave said, there are many other problems with it so this is just one of them (and only on my VM, I'm fairly sure Dave has his PC's clock running fine).

I'm in the process of reorganizing all the source code I have on my personal Github repository, together with some sponsoring information to keep going with OS/2 related software (ports and native).

Mentore

14
Programming / Re: DOSBox-x - infinite loop in configure/make
« on: January 15, 2025, 03:15:51 pm »
Hello all,
I'm having a real PITA trying to port DosBox-x under OS/2 with the latest tool (Gcc 9.2.0, the rest is up-to-date with ANPM netlabs repo).
-- snip --

Hi everyone, I finally found the problem! Thought it would be useful to know.
Fact is, make checks wether configure script is more recent than configure.ac and - in case - it recreates the configure script calling --recheck on config.status. BUT: I didn't notice thay my VM was setting a fixed system date at october 24, so every time I rebuilt the script it would still be older than configure.ac... Thus the loop.

I've issued a DATE command to reset time and now I'm compiling an Atari 800 emulator on SDL. Gonna let you know what's happening and maybe even give another try to Dosbox-x.

Mentore

15
Thought I'd ask Gemini a similar question. Larger example, includes where the example came from, missing #define INCL_WIN.
Actually, looking at the source, it is old MS Programming library v1.3, 16 bit API?
Code: [Select]
#include <os2.h>

/* Window class structure */
static HAB hab;
static HWND hwndFrame;

/* Window procedure */
MRESULT EXPENTRY ClientWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) {
    switch (msg) {
        case WM_PAINT: {
            HPS hps;
            RECTL rc;

            WinQueryWindowRect(hwnd, &rc);
            hps = WinGetPS(hwnd);
            GpiSetColor(hps, SYSCLR_BLUE);
            GpiFillRect(hps, &rc);
            WinReleasePS(hps);
            break;
        }
        case WM_DESTROY:
            WinPostMsg(hwndFrame, WM_QUIT, 0, 0);
            break;
        default:
            return WinDefWindowProc(hwnd, msg, mp1, mp2);
    }
    return 0;
}

/* Frame window procedure */
MRESULT EXPENTRY FrameWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) {
    switch (msg) {
        case WM_COMMAND:
            switch (SHORT1FROMMP(mp1)) {
                case IDM_QUIT:
                    WinPostMsg(hwnd, WM_CLOSE, 0, 0);
                    break;
            }
            break;
        case WM_CLOSE:
            WinDestroyWindow(hwnd);
            break;
        default:
            return WinDefWindowProc(hwnd, msg, mp1, mp2);
    }
    return 0;
}

int main(VOID) {
    HAB hab;
    HMQ hmq;
    HWND hwndFrame, hwndClient;
    QMSG qmsg;

    /* Initialize Presentation Manager */
    hab = WinInitialize(0);
    hmq = WinCreateMsgQueue(hab, 0);

    /* Register window classes */
    WinRegisterClass(hab, "MyClientClass", ClientWndProc, CS_SIZEREDRAW, 0);
    WinRegisterClass(hab, "MyFrameClass", FrameWndProc, CS_SIZEREDRAW, 0);

    /* Create frame window */
    hwndFrame = WinCreateWindow(
        HWND_DESKTOP,
        "My Frame Window",
        "MyFrameClass",
        WS_VISIBLE | WS_BORDER | FCF_TITLEBAR | FCF_SYSMENU | FCF_MINMAX,
        0, 0, 200, 100,
        HWND_DESKTOP,
        HWND_TOP,
        hab,
        NULL,
        NULL
    );

    /* Create client window */
    hwndClient = WinCreateWindow(
        hwndFrame,
        "My Client Window",
        "MyClientClass",
        WS_VISIBLE,
        0, 0, 200, 100,
        hwndFrame,
        HWND_TOP,
        hab,
        NULL,
        NULL
    );

    /* Message loop */
    while (WinGetMsg(hab, &qmsg, NULL, 0, 0)) {
        WinDispatchMsg(hab, &qmsg);
    }

    /* Clean up */
    WinDestroyWindow(hwndFrame);
    WinDestroyMsgQueue(hmq);
    WinTerminate(hab);

    return 0;
}

Explanation:

    Include Header:
        #include <os2.h>: Includes the necessary header file for OS/2 Presentation Manager functions.
    Global Variables:
        hab: An anchor block handle, used to identify the application to Presentation Manager.
        hwndFrame: A handle to the frame window.
    Window Procedures:
        ClientWndProc: Handles messages for the client window.
            WM_PAINT: Fills the client area with blue color.
            WM_DESTROY: Posts a quit message to the frame window.
        FrameWndProc: Handles messages for the frame window.
            WM_COMMAND: Processes menu commands (not implemented in this example).
            WM_CLOSE: Destroys the frame window.
    Main Function:
        Initialization:
            WinInitialize: Initializes Presentation Manager and returns an anchor block handle.
            WinCreateMsgQueue: Creates a message queue for the application.
        Window Registration:
            WinRegisterClass: Registers the window classes for the client and frame windows.
        Window Creation:
            WinCreateWindow: Creates the frame and client windows with the specified attributes.
        Message Loop:
            WinGetMsg: Retrieves messages from the message queue.
            WinDispatchMsg: Dispatches messages to the appropriate window procedures.
        Cleanup:
            WinDestroyWindow: Destroys the frame window.
            WinDestroyMsgQueue: Destroys the message queue.
            WinTerminate: Terminates Presentation Manager.

Note:

    This is a basic example and can be extended to include more features such as menus, controls, and more complex window interactions.
    You'll need to use an OS/2 development environment (such as IBM Visual Age for C++) to compile and run this code.
    This code demonstrates the fundamental concepts of creating and managing windows in the OS/2 Presentation Manager environment.

This example provides a starting point for creating OS/2 Presentation Manager applications. You can further explore the Presentation Manager API to implement more advanced features and create sophisticated graphical user interfaces.

    https://github.com/spacerace/MPL

Interesting. It doesn't use WinCreateStdWindow, so maybe you're right and it's not a 2.x PM code. That said, I see no big mistakes. Not surprising though - GPT and other AI tools are really useful in these cases, where there's a non-ambiguous code base to use. It hallucinates, but behaves better than in other topics.

Mentore

Pages: [1] 2 3 ... 17