OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Setup & Installation => Topic started by: rlittl01 on August 20, 2023, 12:32:45 am
-
I want to get familiar with file hierarchy and porting software. So is there a recommended manual or docs online. To get started with system familiarization? Along with system libraries\API's?
Thanks
-
Hello rlittl01
I think that the answer of your question depends on what is your skill and what do you want to do?
We have plenty of software development resources on the EDM/2 wiki: http://www.edm2.com/index.php/Main_Page (http://www.edm2.com/index.php/Main_Page)
But it can be hard to know where to start. Mostly we use C and C++ to code on ArcaOS.
I'm also on a self learning process, and I had started learning the software build/make process with gcc and Presentation Manager (our GUI). I got a lot of help from the fellows on this forum.
I started to compile some basic Presentation Manager (https://www.os2world.com/forum/index.php/topic,3324.msg40268.html#msg40268) samples like:
(Since we are no longer on the 90's, I tried to include a screenshot of each sample so it can be faster to understand what it does)
- https://github.com/OS2World/DEV-SAMPLES-C-PM-MetaTest
- https://github.com/OS2World/DEV-SAMPLES-C-PM-NBEZ
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Bug
- https://github.com/OS2World/DEV-SAMPLES-C-PM-WindowTemplate
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Slider
- https://github.com/OS2World/DEV-SAMPLES-C-PM-GPI-Bezier
- https://github.com/OS2World/DEV-SAMPLES-C-PM-FastGPI
- https://github.com/OS2World/DEV-SAMPLES-C-PM-PMColour
- https://github.com/OS2World/DEV-SAMPLES-C-PM-MousDemo
- https://github.com/OS2World/DEV-SAMPLES-C-PM-GPI-Revolve
- https://github.com/OS2World/DEV-SAMPLES-C-PM-AirTrafficControlContainer
- https://github.com/OS2World/DEV-SAMPLES-C-PM-CheckersBoard
- https://github.com/OS2World/DEV-SAMPLES-C-PM-LBoxFont
- https://github.com/OS2World/DEV-SAMPLES-C-PM-RandRect
- https://github.com/OS2World/DEV-SAMPLES-C-PM-RunningBox
- https://github.com/OS2World/DEV-SAMPLES-C-PM-PMHello
- https://github.com/OS2World/DEV-SAMPLES-C-PM-VectFont
- https://github.com/OS2World/DEV-SAMPLES-C-PM-PMWalker2
- https://github.com/OS2World/DEV-SAMPLES-C-PM-BitCat
- https://github.com/OS2World/DEV-SAMPLES-C-PM-WinTree
- https://github.com/OS2World/DEV-SAMPLES-C-PM-ZoomBMP
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Slider_2
- https://github.com/OS2World/GAME-PUZZLE-PM_Maze
- https://github.com/OS2World/GAME-SPORTS-Racer (This is not PM)
- https://github.com/OS2World/DEV-SAMPLES-C-PM-ctrldes
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Chain
- https://github.com/OS2World/DEV-SAMPLES-C-PM-CNRDTL
- https://github.com/OS2World/DEV-SAMPLES-C-PM-CNREZ
- https://github.com/OS2World/DEV-SAMPLES-C-PM-CLIPBRD
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Dialog
- https://github.com/OS2World/DEV-SAMPLES-C-PM-STDWND-Hello
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Jigsaw
- https://github.com/OS2World/DEV-SAMPLES-C-PM-DIVE-ShowJet
- https://github.com/OS2World/DEV-SAMPLES-C-PM-framctl
- https://github.com/OS2World/DEV-SAMPLES-C-PM-ListBox2
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Animate
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Font
- https://github.com/OS2World/DEV-SAMPLES-C-PM-HugeLB
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Wideline
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Star
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Pie
- https://github.com/OS2World/DEV-SAMPLES-C-PM-ClipPath
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Rotline
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Colors
- https://github.com/OS2World/DEV-SAMPLES-C-PM-InkPS
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Template
- https://github.com/OS2World/DEV-SAMPLES-C-PM-DIVE-BeeHive
- https://github.com/OS2World/DEV-SAMPLES-C-PM-Simple
- https://github.com/OS2World/UTIL-FILE-NewFileManager
- https://github.com/OS2World/DEV-SAMPLES-C-PM-NBBASE
- https://github.com/OS2World/DEV-SAMPLES-C-PM-CNRMENU
Now I'm trying to go a little bit further and learn how to compile/port some games that uses SDL (https://www.os2world.com/forum/index.php?topic=3404.msg40805#msg40805).
Or, if you want to focus on learning the Presentation Manager or even the Workplace Shell API, there are some online books from the 90's that you can check out here:
http://www.edm2.com/index.php/List_of_OS/2_Software_Development_Related_Books
Just keep asking and give a little more detail to see if we can help.
Regards
-
Hey Martin,
C/C++ and some 32bit asm. I want to port some posix software. Including my soundcard(Maudio 2496 snd_envy24). First time user to anything related to os/2. Just recently purchase a license after obtaining some compatible hardware to run snap compatible gpu. "Very" excited about the efi supported. Thanks for the examples. Where is os2.h located?
-
Hi, os2.h is available a couple of ways. libc-devel will install a version that GCC will default to using. The toolkit has the official one, most of it can be installed with YUM/ANPM, os2tk45-headers for example will install it, with other packages starting with os2tk45 installing the rest of the toolkit including the official documentation.
For porting Posix software, use GCC. Porting a soundcard driver is much different then porting Posix stuff, as you need a 16/32 bit compiler for part of it with OpenWatcom being preferred. Not the fork on Github. It also has an os2.h
-
Hi Dave,
The watcom on os2site. Is there a difference from the one on os2site. Over this one? https://github.com/open-watcom/open-watcom-v2?search=1
This is the upstream one. Not the fork you mention
-
No, that's the fork, the official site is https://openwatcom.org/ (https://openwatcom.org/) and the latest build is ftp://ftp.netlabs.org/pub/openwatcom/open-watcom-c-os2-2.0-beta-4.exe (http://ftp://ftp.netlabs.org/pub/openwatcom/open-watcom-c-os2-2.0-beta-4.exe)
Jiri forked to Github as he was focused on 64 bit support and due to having a habit of committing before testing, there were problems.
Unluckily he kept the name but made it version 2 and later the official release after 1.9 decided to call it 2 as well.
OS/2 fixes happen to the official version, not sure if Jiri ever ports them to his fork but I doubt he has much interest in OS/2
-
Thanks Dave. I was able to download the source. And it comes with very extensive helpful docs. I wish there was a changelog or some history revision. But, I'm glad for guides.