Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: I made Modern API Documentation for Mac OS 9.  (Read 3677 times)

IoIxD

  • 4 MB
  • **
  • Posts: 5
  • New Member
I made Modern API Documentation for Mac OS 9.
« on: April 18, 2024, 05:09:53 PM »

I started becoming interested in Mac programming recently and was quite disappointed in the lack of good documentation for the C/C++ functions. Outside of literal scans of books, the only thing I could find was the Apple website which was only avaliable via Wayback Machine and had a horrible interface (a search bar that no longer worked)

So I took matters into my own hands.

This is generated via the header files from the copy of Universal Interfaces that I got with CodeWarrior 8. It's actually so new that it's intended for Carbon developers, but the functions that were removed in Carbon are still documented here.

Unfrotunately, "documented" is very literal here. It turns out Apple was horrible at documentation; many functions are not described and most struct fields are not either. I could probably find more information if I sat down and fully combed through the books, and if I do, I'm probably going to add it to this site. But in the mean time, this is better then what I found before.

I also invite anybody who has the time/knowledge to submit a pull request to the GitHub repo for the docs.
Logged

Greystash

  • 256 MB
  • *****
  • Posts: 256
  • Tinkerer
    • Mac-Classic.com
Re: I made Modern API Documentation for Mac OS 9.
« Reply #1 on: April 18, 2024, 07:05:22 PM »

This is an amazing resource!! Thank you lolxD!
Logged

Jubadub

  • 256 MB
  • *****
  • Posts: 452
  • There is no Mac in OS X
Re: I made Modern API Documentation for Mac OS 9.
« Reply #2 on: April 19, 2024, 02:19:35 AM »

Nice initiative! Yes, this sort of work is very much needed for more and better Mac OS 9.2.2 development!

I myself wanted to do this way back in 2021, until things... happened. And life priorities shifted. But I always wanted to see an initiative like yours become reality.

It may not be fully fleshed out yet, but what you got is already incredibly helpful, and it is good enough to encourage others to get started on developing their own Mac OS 9 apps.

Currently I'm working on a REALbasic DR1r33 project (with help of later versions to target certain additional platforms), but after that I have plans for another project, and that will likely be in pure ANSI C89 / ISO C90 (while still conforming with K&R C), using probably Fantasm 6 and the final version of Apple's MrC compiler. Once that is ongoing, your page will be of great help, and I will gladly submit a merge (AKA pull) request to your Git repo if I think I can flesh out any of the sections there.
Logged

Knezzen

  • Staff Member
  • 1024 MB
  • ******
  • Posts: 1264
  • Pro Tools Addict!
    • Macintosh Garden
Re: I made Modern API Documentation for Mac OS 9.
« Reply #3 on: April 19, 2024, 02:35:48 AM »

This is GOLD! I can't the amount of times I have searched everywhere for some documentation on a API I stumbled upon and found... Nothing.

Great job!
Logged
Pro Tools addict and staff member at Mac OS 9 Lives!, System 7 Today and Macintosh Garden.

Jubadub

  • 256 MB
  • *****
  • Posts: 452
  • There is no Mac in OS X
Re: I made Modern API Documentation for Mac OS 9.
« Reply #4 on: June 26, 2024, 10:41:18 AM »

Now that I'm developing an ANSI C89 Mac game, I finally remembered and came back for this. (My REALbasic app was put on hold for now.)

First thing I noticed is that, unfortunately, the website does not render fully on Classilla 9.3.4b... So if anyone of us could get that addressed somehow, that would be great. (The TLS part is addressed via Crypto Ancienne at least. I should retest the page with MacLynx...)

I will work around this for the time being and use the resource as is, though. Thanks again for creating this!

You mentioned this was generated based on Apple's "Universal Headers" from CodeWarrior 8... I wonder if that is the latest version of the headers. I think the final version is 3.4.1? I have to check. (Personally, I'm sticking with CW Pro 6.3 for the time being in case I also decide to target 68k, so this works fine for me eitherway.)
Logged

IoIxD

  • 4 MB
  • **
  • Posts: 5
  • New Member
Re: I made Modern API Documentation for Mac OS 9.
« Reply #5 on: July 03, 2024, 07:31:17 PM »

Late response, but how have you been using it?

I actually underestimated how hard it is to do this and have been using it alongside THINK Reference 2.0; in fact, I've mostly been using TR 2.0, only using my own site because it has a better search function.

I need to transfer everything from TR 2.0. I got about 70% there with a script, but I need to fix a lot of the files after doing that and there's still a lot of undocumented stuff because I can't automatically transfer stuff.
Logged

thirdbanana

  • 8 MB
  • **
  • Posts: 14
Re: I made Modern API Documentation for Mac OS 9.
« Reply #6 on: September 02, 2024, 05:54:57 AM »

Most impressive work! I should help me get back to coding classic Mac stuff; I will need all the help I can get  :-[

About lack of documentation from Apple, I wonder if (1) They just never shared it or (2) they belong to that group of programmers (that I know very well) who think "my code is self-documenting!" I am looking at you Perl coders!
Logged

sentient06

  • 8 MB
  • **
  • Posts: 11
Re: I made Modern API Documentation for Mac OS 9.
« Reply #7 on: December 05, 2024, 07:28:23 AM »

This is very cool.

Do you have plans of removing the PDF layer and just use plain HTML?

[update]

I just noticed you used the header files to extract the content. Is it possible to generate the text as some sort of markup and make these editable in a separate repo?

I picture it like a bunch of HTML pages that can be decorated with some JS to highlight code examples and things like that and we would be able to fork it, add content, examples or link other pages and just raise PRs and keep it nice and tidy. Is it doable?
« Last Edit: December 05, 2024, 07:47:22 AM by sentient06 »
Logged
Pages: [1]   Go Up

Recent Topics