Author Topic: Manual/Docs  (Read 4017 times)

rlittl01

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Manual/Docs
« 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
« Last Edit: August 20, 2023, 12:34:21 am by rlittl01 »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4677
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Manual/Docs
« Reply #1 on: August 20, 2023, 04:20:29 am »
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
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 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.

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
Martin Iturbide
OS2World NewsMaster
... just share the dream.

rlittl01

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Manual/Docs
« Reply #2 on: August 28, 2023, 01:10:59 am »
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?
« Last Edit: August 28, 2023, 01:15:52 am by rlittl01 »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4761
  • Karma: +98/-1
    • View Profile
Re: Manual/Docs
« Reply #3 on: August 28, 2023, 01:46:51 am »
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

rlittl01

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Manual/Docs
« Reply #4 on: August 28, 2023, 02:48:12 am »
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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4761
  • Karma: +98/-1
    • View Profile
Re: Manual/Docs
« Reply #5 on: August 28, 2023, 03:49:33 am »
No, that's the fork, the official site is https://openwatcom.org/ and the latest build is 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

rlittl01

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Manual/Docs
« Reply #6 on: September 08, 2023, 04:31:51 am »
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.