Thread
Where are all the programmers?
Yeah, CodeWarrior is pretty opaque and certainly not freeware (though I know lots of people have asked). This is one reason a lot of people who want to port C code to the Mac are stymied, because you have to usually go abandonware or snipe on eBay. (My copies of CW Pro 2/5/6/7 actually happen to be legal, but, well, you know.
)
However, there are lots of other free tools for people to write in. What about FutureBASIC? Chris just made it all freeware, FB2 apps run on 68K and PPC (and behave nicely in Classic), and FB5 for OS X is community driven. I've even written extensions/INITs in FB2, so it's not just a toy! { http://www.stazsoftware.com }
Where are all the programmers, dang it? :rambo:
)However, there are lots of other free tools for people to write in. What about FutureBASIC? Chris just made it all freeware, FB2 apps run on 68K and PPC (and behave nicely in Classic), and FB5 for OS X is community driven. I've even written extensions/INITs in FB2, so it's not just a toy! { http://www.stazsoftware.com }
Where are all the programmers, dang it? :rambo:
That only further makes my point, though. Why aren't people developing anymore for the classic Mac, even if just for the heck of it? (Let's ignore Xcode for purposes of this thread; it's not Classic-compatible except if you jump through a lot of Carbon hoops.)
Speaking of MPW, I tried very hard to like it, but I just don't. The sheets metaphor is weird, and doesn't at all act how you would expect a command line to (at least not an old Unix fart like me). The compiler is nice and adept, but CW just seems more "Mac like" if I were going to program in C/C++. I only have MPW around on my dev MDD for ToolServer; my dev PowerBook with CW Pro 5 just has CW and I never start MPW on it at all.
Still, I repeat people can get as much mileage, if not more, out of tools like FutureBASIC, which are also freely available.
Speaking of MPW, I tried very hard to like it, but I just don't. The sheets metaphor is weird, and doesn't at all act how you would expect a command line to (at least not an old Unix fart like me). The compiler is nice and adept, but CW just seems more "Mac like" if I were going to program in C/C++. I only have MPW around on my dev MDD for ToolServer; my dev PowerBook with CW Pro 5 just has CW and I never start MPW on it at all.
Still, I repeat people can get as much mileage, if not more, out of tools like FutureBASIC, which are also freely available.
I know absolutely nothing about coding (beyond Applescript or FileMaker or the like). But this is a really good question. Excuse the ignorance that follows:
Is Macintosh programming of the sort that the question is speaking about easily done, as in, is it designed in any way to be as user-friendly at the programming level as it is at the user level? Or would that be the "object oriented" approach to which the abortive systems of the 90s were heading, but never reached (OpenDoc et al.)?
Is Macintosh programming of the sort that the question is speaking about easily done, as in, is it designed in any way to be as user-friendly at the programming level as it is at the user level? Or would that be the "object oriented" approach to which the abortive systems of the 90s were heading, but never reached (OpenDoc et al.)?
Classic macintosh programming is both an art and a pig. The goal is to make things easier for the user, not the programmer.
The programmer has one hell of a job writing an app that both solves a problem, looks good, is consistent and has AppleScript support.
Languages were 68k assembler and pascal, then C and later C++. OpenDoc was aborted from a political level, not a technical level.
The programmer has one hell of a job writing an app that both solves a problem, looks good, is consistent and has AppleScript support.
Languages were 68k assembler and pascal, then C and later C++. OpenDoc was aborted from a political level, not a technical level.
*raises hand*
Here's my situation. I started programming on the Mac as soon as I got my first PPC Performa in '96 (a 6116). I bought the Codewarrior "Discover" kit which was in my budget but it only included a 68k compiler. When I got comfortable with the Mac toolbox and wanted PPC speed I switched to MPW, which was also in my budget (free, lol). The learning curve was definitely higher but once you create one makefile you can use it as a template for future projects. PPCDebugger isn't as elegant as Codewarrior's debugger but it was free. As a hobbyist programmer I could never afford the $300 (or whatever it cost) for the Codewarrior PPC compiler so it was MPW that I've used since.
My main project was an action/adventure RPG. Certainly not a good choice for a first project so when I ran into a problem that had to be solved I would branch off with a "mini-project" just to learn what I needed to learn then go back to the main one. Anyway, this project became my "model train" project: never fully realized; adding a bit here, a bit there; sometimes scrapping it altogether and rewriting the code after realizing there's always "a better way".
Then came Mac OS X.
Hmm, do I Carbonize something that's not even finished or do I press on with what I have? Press on I did. More time goes by, I pick up a Cocoa book or two, try out some small projects then decide: I'm going to stop developing for classic Mac OS and jump on the Cocoa train. Wait. What's this? I have to go through what hoops to duplicate my hand-rolled offscreen blitters? OK, I think I got it now but it's going to take a lot of work to port my scripting engine (yes, I wrote a scripting engine, lol). Plus, I never could wrap my head around Cocoa's memory management. And it seems to change every time Apple releases a new version of Project Builder/Xcode. Not to mention they keep deprecating stuff! Not only that, something I built in Panther doesn't even run in Tiger! What is this crap? I'll just wait until the Cocoa API stabilizes somewhat. So now it's back to development on classic Mac OS. Finish it first, deal with the consequences later. If only two people get to enjoy it, cool. At least there will be something to enjoy.
What I'm doing now is going through my code and making it OS-neutral as much as possible. I'm rolling my own toolbox calls (like NumToString(), StringToNum(), PtInRect(), MoveDataBlock(), stuff like that) just so I can (someday) get it compiled in Cocoa.
So what did I accomplish in all those years of seemingly unproductive coding?
- custom 8, 16, and 32-bit blitters with optional effects (darken/lighten, blend, make grayscale, etc.)
- graphic scaling (just wanted to see if I could figure out how to do it without looking
)
- a smoothing algorithm for 2x scaled graphics
- a scripting language using tags and a custom assembly-like syntax (much easier than parsing x = 12 * y - 16)
- an animation engine for sprites and "cinema" animations
Anyway, sorry for the long post but I thought I'd share. (Plus, it's exciting to know there's still interest in Classic Mac OS programming!)
Here's my situation. I started programming on the Mac as soon as I got my first PPC Performa in '96 (a 6116). I bought the Codewarrior "Discover" kit which was in my budget but it only included a 68k compiler. When I got comfortable with the Mac toolbox and wanted PPC speed I switched to MPW, which was also in my budget (free, lol). The learning curve was definitely higher but once you create one makefile you can use it as a template for future projects. PPCDebugger isn't as elegant as Codewarrior's debugger but it was free. As a hobbyist programmer I could never afford the $300 (or whatever it cost) for the Codewarrior PPC compiler so it was MPW that I've used since.
My main project was an action/adventure RPG. Certainly not a good choice for a first project so when I ran into a problem that had to be solved I would branch off with a "mini-project" just to learn what I needed to learn then go back to the main one. Anyway, this project became my "model train" project: never fully realized; adding a bit here, a bit there; sometimes scrapping it altogether and rewriting the code after realizing there's always "a better way".
Then came Mac OS X.
Hmm, do I Carbonize something that's not even finished or do I press on with what I have? Press on I did. More time goes by, I pick up a Cocoa book or two, try out some small projects then decide: I'm going to stop developing for classic Mac OS and jump on the Cocoa train. Wait. What's this? I have to go through what hoops to duplicate my hand-rolled offscreen blitters? OK, I think I got it now but it's going to take a lot of work to port my scripting engine (yes, I wrote a scripting engine, lol). Plus, I never could wrap my head around Cocoa's memory management. And it seems to change every time Apple releases a new version of Project Builder/Xcode. Not to mention they keep deprecating stuff! Not only that, something I built in Panther doesn't even run in Tiger! What is this crap? I'll just wait until the Cocoa API stabilizes somewhat. So now it's back to development on classic Mac OS. Finish it first, deal with the consequences later. If only two people get to enjoy it, cool. At least there will be something to enjoy.
What I'm doing now is going through my code and making it OS-neutral as much as possible. I'm rolling my own toolbox calls (like NumToString(), StringToNum(), PtInRect(), MoveDataBlock(), stuff like that) just so I can (someday) get it compiled in Cocoa.
So what did I accomplish in all those years of seemingly unproductive coding?
- custom 8, 16, and 32-bit blitters with optional effects (darken/lighten, blend, make grayscale, etc.)
- graphic scaling (just wanted to see if I could figure out how to do it without looking
)- a smoothing algorithm for 2x scaled graphics
- a scripting language using tags and a custom assembly-like syntax (much easier than parsing x = 12 * y - 16)
- an animation engine for sprites and "cinema" animations
Anyway, sorry for the long post but I thought I'd share. (Plus, it's exciting to know there's still interest in Classic Mac OS programming!)
I noticed a couple of interesting comments in the Slashdot thread about Classilla
One led me to discover OggFrog:
One led me to discover OggFrog:
I also noticed this tidbit:Ogg Frog 1.0 will play music files and Internet radio, decode music files to WAV / Version 1.1 will add support for encoding and tagging / 2.0 will support CD ripping, burning, backup, skins and integration with portable music players like the iPod, and natively support many different platforms and microprocessors.
That's right: Ogg Frog is a cross-platform application / Version 1.0 will support Windows, all versions of Mac OS X, with Universal Binaries for 10.4 users, Linux for PowerPC and x86, and BeOS for PowerPC and x86 as well as Haiku and BSD. 1.1 will also support the Classic Mac OS for PowerPC and 680x0 as well as the Solaris operating systems.
Supported Music Formats
Ogg Frog will play these formats right out of the box:
* Ogg Vorbis
* Native FLAC - the Free Lossless Audio Codec
* Ogg FLAC
* Speex
* WAV
* BIN
* AU
If you computer has QuickTime, Ogg Frog will be able to play:
* MP3
* AAC - also known as M4A
If your computer has Windows Media Player or the Windows Media Components for QuickTime, Ogg Frog will play:
* MP3
* WMA
You'll be able to play Internet radio streams for all the supported formats. If you compile the source code kit for the patented sound file formats, you'll be able to play AAC+ or HE-AAC streams.
The rest of the thread has a few interesting comments about people who are still working with and/or supporting the classic Mac OS, and why they do.I've recently hacked the 7300/7500/7600/8500/8600 Graphics Driver to support resolutions in the 1600x1200 range / I now have a 20" 1680x1050 LCD connected and working perfectly / I figured out where the timing parameters are stored in the driver, allowing other new resolutions as well (like 1440x900), and fine-tuning of the pixel rate. / Contact me if you'd like try the driver or have a different resolution.
:O 8-o :approve:
Folks, I think I've discovered that our Porter is actually Jamie Madrox. There's no way anybody could have this many side projects going at one time.
Folks, I think I've discovered that our Porter is actually Jamie Madrox. There's no way anybody could have this many side projects going at one time.
REALbasic v1.1.1 is still a good choice for RAD. Compiles nice, small 68K programs, and has some powerful features like easy-to-use TCP sockets.
In fact REALbasic supported 68K all the way until v3.5.2, although I would recommend using an earlier version.
I think you could make some really cool functional programs using REALbasic. Do we have an RSS reader for 68K?
Or, use Facebook API or whatever it is and replicate Facebook in a REALbasic application. Instead of writing a web browser that attempts to work with CSS and JS, completely bypass them!
In fact REALbasic supported 68K all the way until v3.5.2, although I would recommend using an earlier version.
I think you could make some really cool functional programs using REALbasic. Do we have an RSS reader for 68K?
Or, use Facebook API or whatever it is and replicate Facebook in a REALbasic application. Instead of writing a web browser that attempts to work with CSS and JS, completely bypass them!
I can't believe this discussion has gone this long without mention of the greatest programming environment of all on the 68K Mac--HyperCard!!!
HyperCard may not be an "industry standard", but it certainly is a blast to use and has been used to create some amazing programs (most notably Myst and the other early Cyan titles). Apple had an excellent series of HyperCard-based classroom management programs in the early 1990s (HyperCard for Education) and plenty of other software was on the market that took advantage of HyperCard (I remember hearing about a family tree maker and a bar code creator). There were also some excellent public domain HyperCard stacks out there, from references (I have one about the characteristics, prevention, and cure of Mac viruses) to games.
As a programming environment, HyperCard worked a bit like HTML but was even easier to use and understand. It was easy enough for a moderately experienced Mac user to understand yet powerful enough for an experienced user who wanted to create decent programs. Danny Goodman had an excellent reference on HyperCard that turned many into decent program designers, but trial and error could lead to an understanding on the part of anyone. I first tinkered in HyperCard when I was five years old and am willing to bet there are some other folks who started young out there. (Some children probably started with Roger Wagner's HyperStudio, which was an even friendlier version of HyperCard that supported color, something that was difficult with Apple's program).
I still use HyperCard whenever I need to string together something to use as a program, bringing my iBook G3 along to use the stacks with. I develop with HyperCard 2.4.1 (I have the CD-ROM version of 2.3 and used Apple's updater from their website to bring it up to date). The HyperCard player is still on Apple's website and SuperCard is still out there to do what HyperCard used to--on OS X, no less.
I have used Code Warrior to program in C++. I used it at a computer camp on a PPC machine running OS 9.2.2 and felt it was a decent C++ environment. I used a Microsoft complier (on Win2K) in another C++ class I took and wasn't as impressed with it as I was with Code Warrior. I can't say I've done any C++ programming in about six years, but if I ever found a copy of Code Warrior for sale I'd have to consider getting back into it.
Does anyone have any comparisons between Code Warrior and Think C? I had wanted Think C in the 1990s but it was out of the price range for a Christmas gift for a nine year old (which is when I first read a book about programming in C using the compiler). I wound up getting SimCity 2000 (the CD Collection) that year instead (which was one of my favorite Christmas gifts ever).
HyperCard may not be an "industry standard", but it certainly is a blast to use and has been used to create some amazing programs (most notably Myst and the other early Cyan titles). Apple had an excellent series of HyperCard-based classroom management programs in the early 1990s (HyperCard for Education) and plenty of other software was on the market that took advantage of HyperCard (I remember hearing about a family tree maker and a bar code creator). There were also some excellent public domain HyperCard stacks out there, from references (I have one about the characteristics, prevention, and cure of Mac viruses) to games.
As a programming environment, HyperCard worked a bit like HTML but was even easier to use and understand. It was easy enough for a moderately experienced Mac user to understand yet powerful enough for an experienced user who wanted to create decent programs. Danny Goodman had an excellent reference on HyperCard that turned many into decent program designers, but trial and error could lead to an understanding on the part of anyone. I first tinkered in HyperCard when I was five years old and am willing to bet there are some other folks who started young out there. (Some children probably started with Roger Wagner's HyperStudio, which was an even friendlier version of HyperCard that supported color, something that was difficult with Apple's program).
I still use HyperCard whenever I need to string together something to use as a program, bringing my iBook G3 along to use the stacks with. I develop with HyperCard 2.4.1 (I have the CD-ROM version of 2.3 and used Apple's updater from their website to bring it up to date). The HyperCard player is still on Apple's website and SuperCard is still out there to do what HyperCard used to--on OS X, no less.
I have used Code Warrior to program in C++. I used it at a computer camp on a PPC machine running OS 9.2.2 and felt it was a decent C++ environment. I used a Microsoft complier (on Win2K) in another C++ class I took and wasn't as impressed with it as I was with Code Warrior. I can't say I've done any C++ programming in about six years, but if I ever found a copy of Code Warrior for sale I'd have to consider getting back into it.
Does anyone have any comparisons between Code Warrior and Think C? I had wanted Think C in the 1990s but it was out of the price range for a Christmas gift for a nine year old (which is when I first read a book about programming in C using the compiler). I wound up getting SimCity 2000 (the CD Collection) that year instead (which was one of my favorite Christmas gifts ever).
You don't say? Now, BASIC, I think I could have a crack at. Used to do some fairly complex projects in BBC Basic back in high school.REALbasic v1.1.1 is still a good choice for RAD. Compiles nice, small 68K programs, and has some powerful features like easy-to-use TCP sockets.
I generally agree with that. Programs aren't that small, however. The runtime (which is embedded in a compiled program) was 1MB+ when I used RB 2.5. Fine for Mac IIs and Quadras, but not for a Plus or SE. I briefly investigated writing an extension that would enable contextual menus in System 7, but I think that my first compile was 1.5MB in size.REALbasic v1.1.1 is still a good choice for RAD. Compiles nice, small 68K programs, and has some powerful features like easy-to-use TCP sockets.
Porter is being a naughty, contrary boy
RB has a relatively modern style and encourages good practice.REALbasic v1.1.1 has a very small runtime. I think it uses internal compression, because when you stuff a blank app, it barely gets smaller. This was back when they still cared about such things as file size.
http://mikerichardson.name/graveyard/Systaller.sit
This is an old app I made originally in RB v2.1.2 where it was 325K. Then I ported it down to RB v1.1.1 and it shrunk to 164K. The .sit file is 168K.
The programming style is also very modern compared to just about all of the other choices. There's free garbage collection on top of that, so you don't have to worry about memory. It's not suitable for System 6, but I think you could get by on System 7.0.1 with maybe a few extensions like Drag Manager.
Just to sweeten the pot even further - you can use XCMDs and XCFNs in your REALbasic programs! v1.1.1 does not let you Declare into the toolbox though.
Here is my attempt to write a BASIC environment in REALbasic. I think this one is compiled in REALbasic v2.1.2. http://mikerichardson.name/graveyard/SilverBASIC.sit
It includes a "Runtime68K" file. Basically the "compiler" just bundles your BASIC source code with the Runtime program to create a stand alone app. You could use this to make really simple apps if you wanted to.
There's the far more advanced SilverCreator v1.5. The editor is PPC only, but you can deploy the compiled games onto 68K. This is made with at least REALbasic v3.2 so I know you must have at least System 7.5 to run the apps. http://www.silvercreator.net/downloads/SilverCreator1.5PPC.sitx
I still distribute SilverCreator v1.5 because it's the last one that runs on Classic at all. The new v2.0 versions are OS X only.
http://mikerichardson.name/graveyard/Systaller.sit
This is an old app I made originally in RB v2.1.2 where it was 325K. Then I ported it down to RB v1.1.1 and it shrunk to 164K. The .sit file is 168K.
The programming style is also very modern compared to just about all of the other choices. There's free garbage collection on top of that, so you don't have to worry about memory. It's not suitable for System 6, but I think you could get by on System 7.0.1 with maybe a few extensions like Drag Manager.
Just to sweeten the pot even further - you can use XCMDs and XCFNs in your REALbasic programs! v1.1.1 does not let you Declare into the toolbox though.
Here is my attempt to write a BASIC environment in REALbasic. I think this one is compiled in REALbasic v2.1.2. http://mikerichardson.name/graveyard/SilverBASIC.sit
It includes a "Runtime68K" file. Basically the "compiler" just bundles your BASIC source code with the Runtime program to create a stand alone app. You could use this to make really simple apps if you wanted to.
There's the far more advanced SilverCreator v1.5. The editor is PPC only, but you can deploy the compiled games onto 68K. This is made with at least REALbasic v3.2 so I know you must have at least System 7.5 to run the apps. http://www.silvercreator.net/downloads/SilverCreator1.5PPC.sitx
I still distribute SilverCreator v1.5 because it's the last one that runs on Classic at all. The new v2.0 versions are OS X only.
So use FutureBASIC. It makes nice, tiny executables. Like I say, I even wrote an extension with FB2 once. And it's freeware!I generally agree with that. Programs aren't that small, however. The runtime (which is embedded in a compiled program) was 1MB+ when I used RB 2.5. Fine for Mac IIs and Quadras, but not for a Plus or SE. I briefly investigated writing an extension that would enable contextual menus in System 7, but I think that my first compile was 1.5MB in size.REALbasic v1.1.1 is still a good choice for RAD. Compiles nice, small 68K programs, and has some powerful features like easy-to-use TCP sockets.
Nice!NEWS! FB II is Available for older Macs -- April 19, 2008
If you have an older (68K) Mac, you can still run FutureBASIC. Click here to download.
http://www.stazsoftware.com/index.php
It's too bad FutureBASIC gave up on their own compiler though. That thing generated some stellar code.
They had it going until Carbon PEF PPC, but I'm guessing it would have required a huge re-write just to get to Carbon Mach-O PPC, and then another order of magnitude to get Carbon Mach-O Intel. I'm guessing Staz Software really isn't in business anymore.
They had it going until Carbon PEF PPC, but I'm guessing it would have required a huge re-write just to get to Carbon Mach-O PPC, and then another order of magnitude to get Carbon Mach-O Intel. I'm guessing Staz Software really isn't in business anymore.
HyperNext looks interesting as a modern version: and it's freeware, which SuperCard is not.the greatest programming environment of all on the 68K Mac--HyperCard!!!
Here's a list of Mac developer tools.
While I do code/support for a living, I have never coded a program for either Classic or MacOS X.
FutureBasic appears to be pretty nice. I may put it on my Lombard and see what I can come up with. While it has enough disk space (maybe) for the OS X dev tools, it's only a G3/333....
FutureBasic appears to be pretty nice. I may put it on my Lombard and see what I can come up with. While it has enough disk space (maybe) for the OS X dev tools, it's only a G3/333....
FB2 looks quite capable, but I haven't managed to get it to run properly on miniVMac yet.So use FutureBASIC. It makes nice, tiny executables. Like I say, I even wrote an extension with FB2 once. And it's freeware!
If we're talking freely available 68K development, I'd either go for ThinkPascal 4.5; which *is* quite capable of decent development; being a fairly well-known language; modest memory requirements and a simple object-oriented model. Or I'd go for the MacMeth Modula-2 compiler; which although it has a pretty poor user-interface and poor code-generation and is a fairly obtuse language, yet fits quite nicely in a 4Mb Plus-type environment.
For more advanced 68K development I have a genuine ThinkC 5.0.4 installation on my LC II - why oh why isn't it freely available?
-cheers from Snial @P
MacMETH has possibilities. It's hard to work with and requires a lot of effort to do simple things, but it does make nice tiny executables. I wrote an old 68K benchmark system in METH a number of years ago:
http://www.floodgap.com/retrotech/mac/ahl/
I hope I still have the source, it's been a good seven years since I touched it last.
http://www.floodgap.com/retrotech/mac/ahl/
I hope I still have the source, it's been a good seven years since I touched it last.
Several people above mentioned FutureBASIC, and i'd like to try it out
(especially now that it's free!), but the only versions i can find to
download are 4.4.3 or later, which will *not* run under OS9 or earlier.
Does anyone know of a good link for downloading ver. 2, 3, or 4.0?
Ver. 4.0 definitely ran under OS9, but perhaps that ver. was not
yet free..? Several sites seem to indicate that 4.x all run under
Classic Mac OS, but they simply do not. Unfortunately the original
site (stazsoftware.com) has recently gone offline.
I want to give FutureBASIC a try because i am not thrilled with
REALbasic which, although very powerful, uses a strict OOP model
that is awkward to use for large projects. TNTbasic and Chipmunk
basic on the other hand, while fun, are not compilers. Thanks.
(especially now that it's free!), but the only versions i can find to
download are 4.4.3 or later, which will *not* run under OS9 or earlier.
Does anyone know of a good link for downloading ver. 2, 3, or 4.0?
Ver. 4.0 definitely ran under OS9, but perhaps that ver. was not
yet free..? Several sites seem to indicate that 4.x all run under
Classic Mac OS, but they simply do not. Unfortunately the original
site (stazsoftware.com) has recently gone offline.
I want to give FutureBASIC a try because i am not thrilled with
REALbasic which, although very powerful, uses a strict OOP model
that is awkward to use for large projects. TNTbasic and Chipmunk
basic on the other hand, while fun, are not compilers. Thanks.
MacMETH just makes me want to scream in horror!!!
In college at OSU back in 1990 Modula-2 was the first language they taught us. We didn't get to C until 1994. My favorite still to this day was the extremely bizzare Pegasus Pascal for the IIGS. I remember using it for lots of my discrete math projects and confusing the professors. Pegasus was a "fuzzy" compiler so I would custom craft certain mistakes in the source that I knew how it would correct then compile.
But we did Modula-2 on the Mac Plus 4 mb machines and then on Sun 4 workstations.. ahh the good ole days. IIRC Tim Meekins was stuck in those same labs on campus when he was writing parts of GNO. And he suffered the same Mod2 stuff too!
In college at OSU back in 1990 Modula-2 was the first language they taught us. We didn't get to C until 1994. My favorite still to this day was the extremely bizzare Pegasus Pascal for the IIGS. I remember using it for lots of my discrete math projects and confusing the professors. Pegasus was a "fuzzy" compiler so I would custom craft certain mistakes in the source that I knew how it would correct then compile.
But we did Modula-2 on the Mac Plus 4 mb machines and then on Sun 4 workstations.. ahh the good ole days. IIRC Tim Meekins was stuck in those same labs on campus when he was writing parts of GNO. And he suffered the same Mod2 stuff too!
I like MacMETH a lot, but I think it's just because I was such a Pascal bug back in the day. (Makes Mac development perfect, no? ;-) ) I also got a lot of wear out of Turbo Pascal, and it was an easy jump to Modula-2.
That isn't to say I didn't do my fair share of cussing at the compiler, of course.
Paul, I'm looking around for my FB2 and FB3. If I find them, I'll put them on the gopher server unless someone beats me to it.
That isn't to say I didn't do my fair share of cussing at the compiler, of course.
Paul, I'm looking around for my FB2 and FB3. If I find them, I'll put them on the gopher server unless someone beats me to it.
I've ordered a handful of programming books from the US of A:
Tao of Objects: Beginners guide to OO Programming
A guide to Programming and Logic Design
Palm Programming for the Absolute Beginner
I picked them up for a handful of bucks each from a seller I was buying other stuff from, as I tend to learn better from books than screen-reading.
I also picked up the classic "Art Of Electronics" by Horowitz and Hill.
Tao of Objects: Beginners guide to OO Programming
A guide to Programming and Logic Design
Palm Programming for the Absolute Beginner
I picked them up for a handful of bucks each from a seller I was buying other stuff from, as I tend to learn better from books than screen-reading.
I also picked up the classic "Art Of Electronics" by Horowitz and Hill.
Okay, this is sad...replying to my own post. But i'm still "looking for" FB3, and also just tried to download FreePascal for OS9 from:
http://www.freepascal.org/down/powerpc/macos-ftp.freepascal.org.html
Such a nice site, but crawling with bad links. How pathetic. So.... in addition to FB3, does anyone have/know where to get the old Freepascal for OS9? (I *think* it would be v2.0.2 or earlier.) Thanks.
http://www.freepascal.org/down/powerpc/macos-ftp.freepascal.org.html
Such a nice site, but crawling with bad links. How pathetic. So.... in addition to FB3, does anyone have/know where to get the old Freepascal for OS9? (I *think* it would be v2.0.2 or earlier.) Thanks.
Didn't Think C 5.0 add some kind of object support? It wasn't C++ but I thought there was something extra there beyond C.Apart from Code Warrior is PowerPC/68k and C/C++ where as Think C is 68k and C only?Does anyone have any comparisons between Code Warrior and Think C?
Symantec C++ is both PPC and 68k.
Anyone have Think Reference? I have Think C 5.0 (never used it much except for class assignments) but never bought the Reference utility.
Does anyone have a Taxonomy of the various CodeWarrior versions and what they did/supported. I bought something like CodeWarrior Gold 10 or 11 way back when. Then the Pro versions started the numbering over again, I think. And there were student versions mixed in there somehow.This might be legal gray area, but CodeWarrior Pro 7.1 is available at a certain popular abandonware website.
Fortunately someone uploaded it to MacintoshGarden.does anyone have/know where to get the ol Freepascal for OS9? (I *think* it would be v2.0.2 or earlier.) Thanks.
http://macintoshgarden.org/apps/free-pascal-202
You'll need the MPW toolkit, which Apple no longer hosts on their FTP server. But it is "mirrored" here.
I don't remember the exact taxonomy, but the Gold CodeWarriors are pretty much hopeless for any code that's even remotely modern, so I use the Pro versions. I have CW 5, 6, 7 and 8. CW 6 is the last 68K version (I use CW 5 most of the time for 68K projects, however), and CW 7 is the first one to support Carbon. I don't remember when Mach-O capability was added (I think 8 ).
I don't know anything about the Windows or Java capabilities; I don't use those.
I don't know anything about the Windows or Java capabilities; I don't use those.
Hi I would also be interested in obtaining a copy of FutureBasic that can compile for 68k. (does anybody posses a tutorial?) The latest available only compiles for pcc and up. Classichasclass, could you upload your version? (Btw Tenfourfox runs great on my cube->Many thanks).
Does anybody has a version of hypercard that will fit on a floppy (or a few). I don't have enough appletalk parts to make a network,so every thing needs to over floppy to my Performa 460 and IIci
Does anybody has a version of hypercard that will fit on a floppy (or a few). I don't have enough appletalk parts to make a network,so every thing needs to over floppy to my Performa 460 and IIci
FB2 is actually better for 68K than FB3 IMHO -- I'll put that on the gopher server. (TenFourFox can use gopher; install OverbiteFF from https://addons.mozilla.org/addon/7685/ or use Camino, Classilla, Netscape or Firefox 3.6.)
gopher://gopher.floodgap.com/1/archive/by-request/classic-mac/
gopher://gopher.floodgap.com/1/archive/by-request/classic-mac/
Thank you, Cameron. It may be nine months later but it's still timely. I'll probably get around to writing code some time coincident with the heat death of the universe. Plenty of project ideas. So little time and skill.I don't remember the exact taxonomy, but the Gold CodeWarriors are pretty much hopeless for any code that's even remotely modern, so I use the Pro versions. I have CW 5, 6, 7 and 8. CW 6 is the last 68K version (I use CW 5 most of the time for 68K projects, however), and CW 7 is the first one to support Carbon. I don't remember when Mach-O capability was added (I think 8 ).
I don't know anything about the Windows or Java capabilities; I don't use those.
I think I have a copy of Pro 6 around here somewhere. I mentioned to a professor from whom I was taking C++ that I had a Mac at home and he burned me off a set of copies. We were using it on the PCs in the labs at school. Nice crazy guy, but I did not like C++. Too many confusing ways to do things. Very powerful I suppose, but also so intricate that it seemed to make coding impossible to follow.
Does Freescale still sell CodeWarrior for the Mac?
Sadly, Freescale no longer sells CodeWarrior for Mac. The last version being CodeWarrior Pro 10 for Mac.
I didn't realize it until now. But http://www.stazsoftware.com/ has a link to FBII right on the front page: http://www.stazsoftware.com/downloads/FutureBASICII.sea
Pretty convenient.
I recently discovered MacTech Magazine. They have a complete archive of their articles. All the way back to 1984! I been browsing some of them, around the 93/94 era.
Found one that was pretty interesting. How to make control strip modules.
http://www.mactech.com/articles/mactech/Vol.10/10.12/ControlStrip/index.html
Source code
Might have some fun trying to come up with something.
http://www.mactech.com/articles/mt_indices/Vol_10_Issues.html
Volume 10 (1994) has a whole bunch of neat stuff explaining the PowerPC architecture. Having a blast looking at these, it's like re-living the past that I was too young to understand at the time. Being only three years old at the time.
I also found a interesting two part article called "Pascal Programmer’s Guide
to Understanding ‘C’."
http://www.mactech.com/articles/mactech/Vol.09/09.12/PascalUnderstandsC/index.html
http://www.mactech.com/articles/mactech/Vol.10/10.01/PascalCII/index.html
I didn't realize it until now. But http://www.stazsoftware.com/ has a link to FBII right on the front page: http://www.stazsoftware.com/downloads/FutureBASICII.sea
Pretty convenient.
I recently discovered MacTech Magazine. They have a complete archive of their articles. All the way back to 1984! I been browsing some of them, around the 93/94 era.
Found one that was pretty interesting. How to make control strip modules.
http://www.mactech.com/articles/mactech/Vol.10/10.12/ControlStrip/index.html
Source code
Might have some fun trying to come up with something.
http://www.mactech.com/articles/mt_indices/Vol_10_Issues.html
Volume 10 (1994) has a whole bunch of neat stuff explaining the PowerPC architecture. Having a blast looking at these, it's like re-living the past that I was too young to understand at the time. Being only three years old at the time.
I also found a interesting two part article called "Pascal Programmer’s Guide
to Understanding ‘C’."
http://www.mactech.com/articles/mactech/Vol.09/09.12/PascalUnderstandsC/index.html
http://www.mactech.com/articles/mactech/Vol.10/10.01/PascalCII/index.html
Thanks Classichasclass,
Is it perhaps possible to .sit or.hqx this FuturbasicII.sea. My computer doesn't recognise it after I have downloaded it. (Nor on 8.5.1 or on 7.5.5).
I also downloaded the other two programs you offered on your gopher and could install them without trouble. BTW what does the drag and drop extension do?
Is it perhaps possible to .sit or.hqx this FuturbasicII.sea. My computer doesn't recognise it after I have downloaded it. (Nor on 8.5.1 or on 7.5.5).
I also downloaded the other two programs you offered on your gopher and could install them without trouble. BTW what does the drag and drop extension do?
Stuffit Expander 5 works fine onFutureBASICII.sea (I just tried). I found a page about using version 5 on older versions of Mac OS.
There's a dmg image of example sources on stazsoftware.com's shareware page. (Weird place for it huh?)
Been looking around at this mirror of the old ftp.apple.com and found some interesting goodies in Tool_Chest:
http://mirrors.vanadac.com/ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/
There's sample codes for CD detection, SCSI, ADB, Nubus, etc.
(One of us really need to mirror this copy of ftp.apple.com before it disappears too!)
Hopefully by the end of this summer I'll be on that list of Classic Mac Programmers.
Been looking around at this mirror of the old ftp.apple.com and found some interesting goodies in Tool_Chest:
http://mirrors.vanadac.com/ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/
There's sample codes for CD detection, SCSI, ADB, Nubus, etc.
(One of us really need to mirror this copy of ftp.apple.com before it disappears too!)
Hopefully by the end of this summer I'll be on that list of Classic Mac Programmers.
In case any of you guys are interested in looking (and maybe laughing at :lol: ) some recent code created for 68k macs, have a look at our retrochallenge entry's source in this thread: http://68kmla.org/forums/viewtopic.php?f=18&t=16623 :b&w:Why aren't people developing anymore for the classic Mac, even if just for the heck of it?
Hi,
I have been developing web (js/RoR) and iOS applications for the last few years and now I start to get interested in system 7 C++ development.
In fact, I installed system 7 on my well upgraded 9500 and I think I will never go back to 9 again. System 7 on that machine is so fast, such a great user experience! Sometimes I even feel that my intel iMac is quite slow after using the 9500.
I use 7.6.1 and I feel that some modern applications/utilities are missing and could be done without much pain (maybe I'm wrong...). So, I would like to start developing some of them on my free time and make them open source of course.
I am thinking about connected applications such as a twitter client, gmail client, or a cool control panel like a dock to replace the default mac launcher. In fact, I think that plenty of small iOS/mobile applications could be made for system 7.
My ultimate dream would be to have a lightweight webkit component working under system 7 to build apps on top of it... this is just a dream at the moment
I have been developing web (js/RoR) and iOS applications for the last few years and now I start to get interested in system 7 C++ development.
In fact, I installed system 7 on my well upgraded 9500 and I think I will never go back to 9 again. System 7 on that machine is so fast, such a great user experience! Sometimes I even feel that my intel iMac is quite slow after using the 9500.
I use 7.6.1 and I feel that some modern applications/utilities are missing and could be done without much pain (maybe I'm wrong...). So, I would like to start developing some of them on my free time and make them open source of course.
I am thinking about connected applications such as a twitter client, gmail client, or a cool control panel like a dock to replace the default mac launcher. In fact, I think that plenty of small iOS/mobile applications could be made for system 7.
My ultimate dream would be to have a lightweight webkit component working under system 7 to build apps on top of it... this is just a dream at the moment
Thanks for digging this thread back up out of the muck, I failed to follow it after the first few replies and now I've found a couple of really great bits of info.
I bought FutureBasic in first release, but never really got into it . . .
. . . programming in basic is something I used to be pretty good at when absolutely necessary, but coding is just not my thing . . .
. . . hate it actually, I'm glad you folks enjoy it. [
] ]'>
Question:
If I know the timing parameters for a few supported resolutions, how hard should it be to locate them in the Drivers for, and the DeclROMs of, some of the 3MB Video Cards in my available collection?
The Siren song of 1600x1200, 720p and 1080p is steering me ever closer to the rocks of absolute necessity. :-/
I bought FutureBasic in first release, but never really got into it . . .
. . . programming in basic is something I used to be pretty good at when absolutely necessary, but coding is just not my thing . . .
. . . hate it actually, I'm glad you folks enjoy it. [
] ]'>Question:
If I know the timing parameters for a few supported resolutions, how hard should it be to locate them in the Drivers for, and the DeclROMs of, some of the 3MB Video Cards in my available collection?
The Siren song of 1600x1200, 720p and 1080p is steering me ever closer to the rocks of absolute necessity. :-/
A webkit framework for building webapps upon would be extremely helpful to anyone coming to the platform with network apps in mind.
Barely related - I talked to Tobias and he has released a script to replace the system wide webkit on 10.4 with the updated version used in tenfourkit. With it you can use his updated webkit in other browsers that rely on the system framework such as Sunrise, Nagara and others.
Barely related - I talked to Tobias and he has released a script to replace the system wide webkit on 10.4 with the updated version used in tenfourkit. With it you can use his updated webkit in other browsers that rely on the system framework such as Sunrise, Nagara and others.
Hm, I'd never seen this thread before. Development on classic systems (Amiga and DOS, primarily, but Mac as well) is something I've wanted to devote more time to for a while now, I've just been caught up in other stuff...
Is there a good getting-started guide for C/C++ programming on Classic MacOS? I know I have some edition of Inside Macintosh saved around here somewhere, but I've yet to read very far into it...
Is there a good getting-started guide for C/C++ programming on Classic MacOS? I know I have some edition of Inside Macintosh saved around here somewhere, but I've yet to read very far into it...
Thanks a lot ClassicHasClass! XULRunner looks cool! I may have a closer look at it later. I have to get more familiar with development tools and system 7 APIs first.
@commodorejohn, personally, I use CodeWarrior pro v1 and I think it is really complete. With PowerPlant, it looks much the same as the first versions of XCode & IB.
If you have Inside Macintosh, have a look in the Macintosh ToolBox documentation. It describes the API that handles the Macintosh GUI. I find it quite tricky to find the class and method names in this kind of docs, but I think I will get used to it!
Unfortunately, it's a bit short for me to do the RetroChallenge but maybe on a future project! I have to learn Open Transport!
@commodorejohn, personally, I use CodeWarrior pro v1 and I think it is really complete. With PowerPlant, it looks much the same as the first versions of XCode & IB.
If you have Inside Macintosh, have a look in the Macintosh ToolBox documentation. It describes the API that handles the Macintosh GUI. I find it quite tricky to find the class and method names in this kind of docs, but I think I will get used to it!
Unfortunately, it's a bit short for me to do the RetroChallenge but maybe on a future project! I have to learn Open Transport!
Well, on System 7, XULRunner has about as much chance of getting off the ground as WebKit (little to none). I think Theos was talking more about options for earlier versions of OS X -- you can use TenFourFox's patches to build a 10.4-compatible XULRunner, for example. Classilla works on OS 8.6-9 because it's a hacked Mozilla 1.3.1 which already worked on OS 9 to begin with. You might be writing your own app-specific renderer for this use case.
@commodorejohn, there are some very good CodeWarrior/PowerPlant books for the classic Mac OS. Dan von Sydow wrote one, but the title escapes me.
@commodorejohn, there are some very good CodeWarrior/PowerPlant books for the classic Mac OS. Dan von Sydow wrote one, but the title escapes me.
Ok! I see!
So the best option for those missing web apps under 7 is to take them out of the browser.
I have just started a Twitter app!
On the CodeWarrior reference CD, I found a PowerPlant example showing how to do HTTP requests. It looks like it's first checking if the system can handle Open Transport or MacTCP and use one of them. The lib is already written so I don't really need to worry about it.
It works well and I used it as a base for my Twitter app.
Thanks a lot for the link Theos911! It's exactly what I needed!
So the best option for those missing web apps under 7 is to take them out of the browser.
I have just started a Twitter app!
On the CodeWarrior reference CD, I found a PowerPlant example showing how to do HTTP requests. It looks like it's first checking if the system can handle Open Transport or MacTCP and use one of them. The lib is already written so I don't really need to worry about it.
It works well and I used it as a base for my Twitter app.
Thanks a lot for the link Theos911! It's exactly what I needed!
Out of browser is probably good, especially if you are targeting 7 where there really isn't an up to date browser to build on anyway.
Hmmm... twitter you say? This project hasn't been updated sine 2009 so twitter's API has probably broken it several times by now, but it is a worthwhile place to look for the tweet sending part.
http://www.retards.org/projects/grackle68k/
http://www.retards.org/projects/grackle68k/files/
You could probably drop the dev a line and get a hold of some source code.
Hmmm... twitter you say? This project hasn't been updated sine 2009 so twitter's API has probably broken it several times by now, but it is a worthwhile place to look for the tweet sending part.
http://www.retards.org/projects/grackle68k/
http://www.retards.org/projects/grackle68k/files/
You could probably drop the dev a line and get a hold of some source code.
Are you sure? A search for the name results in a few VHS tapes on Amazon@commodorejohn, there are some very good CodeWarrior/PowerPlant books for the classic Mac OS. Dan von Sydow wrote one, but the title escapes me.
I've been looking for good CodeWarrior books, but I don't know which one to buy. Do you remember anything else?
Foundations of Mac Programming by Dan Parks Sydow? Perhaps the von came from the actor Max von Sydow?
Just found this -- it's incredible and I *believe* he's a member here.
https://sites.google.com/site/chuzzum/macintosh-c-programming-guide
My problem wasn't that I didnt want to program for Classic MacOS (I really really really do) but there weren't enough resources/books to find ... until now.
So yeah i'll at the very least be making tic-tac-toe for MacOS. (LOL)
https://sites.google.com/site/chuzzum/macintosh-c-programming-guide
My problem wasn't that I didnt want to program for Classic MacOS (I really really really do) but there weren't enough resources/books to find ... until now.
So yeah i'll at the very least be making tic-tac-toe for MacOS. (LOL)
ClassicHasClass, I use CodeWarrior Pro 1. It has the IDE v 2.0. Is it good enough? It is the only one version I have here.
Grackle68k is just a tweet sender. I plan to do a read/write tweets apps. I used to work in an agency, doing this kind of connected apps for mobile devices so I have (more or less) the concept in mind.
The first thing I will do actually, is a JSON parser so it can be used in many other apps. I will try to make it as light and fast as possible. If it's too heavy on some requests for our older machines, I will try to think of something else like a web proxy that generates lighter data. I will see how it goes!
Grackle68k is just a tweet sender. I plan to do a read/write tweets apps. I used to work in an agency, doing this kind of connected apps for mobile devices so I have (more or less) the concept in mind.
The first thing I will do actually, is a JSON parser so it can be used in many other apps. I will try to make it as light and fast as possible. If it's too heavy on some requests for our older machines, I will try to think of something else like a web proxy that generates lighter data. I will see how it goes!
No, it should be fine for the purposes you need. Note that Twitter is moving to a full OAuth system for API 1.1, so you will need to be able to handle that as well. For TTYtter, for example, I had to implement HMAC-SHA-1 signatures, and your network library will require SSL.
Facebook Chat is a good idea too!
You are right ClassicHasClass! I didn't think about OAuth. I don't know about implementing SSL apps under 7 but I will have a look at it.
You know, before doing any app, I will actually build a few libs to make things easier... and to give other people some tools to develop modern connected apps for System 7!
I will do what I can, I am not an expert, but I think it's a good goal!
The JSON lib is a start and it's going forward. As soon as I have a first working version, I will add it on github for sharing (I have an account there). It will be a C++ CW pro 1 project but the files should only rely on the default C++ API and be easy to build on any platform.
You are right ClassicHasClass! I didn't think about OAuth. I don't know about implementing SSL apps under 7 but I will have a look at it.
You know, before doing any app, I will actually build a few libs to make things easier... and to give other people some tools to develop modern connected apps for System 7!
I will do what I can, I am not an expert, but I think it's a good goal!The JSON lib is a start and it's going forward. As soon as I have a first working version, I will add it on github for sharing (I have an account there). It will be a C++ CW pro 1 project but the files should only rely on the default C++ API and be easy to build on any platform.
We need a Sys7 Jabber client with SSL support then.Facebook chat?I am thinking about connected applications such as a twitter client, gmail client, or a cool control panel like a dock to replace the default mac launcher. In fact, I think that plenty of small iOS/mobile applications could be made for system 7.
I also think we need easy-to-use MODERN (no basic, basic is always ew - along the lines of Python, Java, C#, Perl, Ruby, and Haskell for the functional hipsters, some we have ancient versions of - Java/C# before foreach and generics is no fun at all) language that works and works well with classic Mac OS. Once we get that, it will lower the gap.
The Amiga folks can get anything done with their Amigas and their crazy projects, but that's just crazy Germans in denial making new stuff for their little Miggies.
Perl 5 works just fine with System 7 and can make very credible GUI apps. The main problem is distribution of the runtime.
That said, FutureBASIC and CodeWarrior are still my preferred Classic dev environments.
That said, FutureBASIC and CodeWarrior are still my preferred Classic dev environments.
6502 NOW!Oh, laugh if you want, but our time will come, my friend. Our time will come...
OpenSSL still has classic MacOS code in its tree. The original author did his work with CW Pro 5, so it may take a bit of work to get it to work with CW Pro 1. I was able to make 0.9.6m build and work with CW Pro 7.1 but it took updating the project file to add and remove files that had changed since the project file was created.I don't know about implementing SSL apps under 7 but I will have a look at it.
I wanted to build newer versions but ran out of time. IIRC whatever the latest 0.9.5 revision is compiled fairly easily. One note, though: I had tons of problems at first that turned out to be because StuffIt was messing up the CR/LF conversions when extracting the tar file. Using SUNtar it compiled almost out of the box.
I've been working a bit more on the SSL issue. I'm working on a port of PolarSSL in CW Pro 1. I have a few more interfaces to adapt to native MacOS calls, including the rather important sockets code. There's also a bit of PPC assembly code that I need to adapt to Metrowerks' syntax. But what's there now compiles and runs tests successfully.
I was able to build the library pretty much as-is using CW Pro 7 with GUSI, the fantastic UNIX compatibility library. But that apparently only works with CW Pro 5, 6 and 7. I only have 7 and 1 so if I want to build anything for 68k I have to stick with 1. I should probably note, though, that the performance is already mediocre on a G4, so I can't imagine how bad it'll be on a 68k.
I'll be posting all of this on Github or something when I'm a bit further along.
I was able to build the library pretty much as-is using CW Pro 7 with GUSI, the fantastic UNIX compatibility library. But that apparently only works with CW Pro 5, 6 and 7. I only have 7 and 1 so if I want to build anything for 68k I have to stick with 1. I should probably note, though, that the performance is already mediocre on a G4, so I can't imagine how bad it'll be on a 68k.
I'll be posting all of this on Github or something when I'm a bit further along.
That's some really good work you did there leitec! Thanks for the research!
I am searching CW Pro 5 but can't find it anywhere so I think I will keep working with CW Pro 1. I want to do a dynamic array underCw Pro 1 but always have a syntax error when using "vector arr;" if you are familiar with the software, do you know how to do it leitec?
Also, I have been working for a company that made connected apps for J2ME mobile phones. A good workaround we used to handle really small resources is to make a web proxy that does the work for you. I remember we had security issues with sending passwords over the normal HTTP connexion but don't remember exactly how we worked that out. I will investigate.
I am searching CW Pro 5 but can't find it anywhere so I think I will keep working with CW Pro 1. I want to do a dynamic array underCw Pro 1 but always have a syntax error when using "vector arr;" if you are familiar with the software, do you know how to do it leitec?
Also, I have been working for a company that made connected apps for J2ME mobile phones. A good workaround we used to handle really small resources is to make a web proxy that does the work for you. I remember we had security issues with sending passwords over the normal HTTP connexion but don't remember exactly how we worked that out. I will investigate.
You're welcome!
I am not very familiar with C++, but I did try to figure that out today. The C/C++ compiler manual and MSL reference both indicate that that is possible, but testing showed otherwise. I finally found the answer in the release notes. If you look at vector.h, the part that defines a default allocator is not active (#ifdef MSIPL_DEF_TEMPARG), so you have to define it manually. One of the examples in the release notes has it as:
vector > v;
The tricky part is that the space between the two >'s is significant, which I suppose has to do with the fact that >> is an operator in C++. If you look at the inactive default allocator thing in vector.h, it's there too:
template >
I tried with
vector > arr;
and it worked.
I am not very familiar with C++, but I did try to figure that out today. The C/C++ compiler manual and MSL reference both indicate that that is possible, but testing showed otherwise. I finally found the answer in the release notes. If you look at vector.h, the part that defines a default allocator is not active (#ifdef MSIPL_DEF_TEMPARG), so you have to define it manually. One of the examples in the release notes has it as:
vector > v;
The tricky part is that the space between the two >'s is significant, which I suppose has to do with the fact that >> is an operator in C++. If you look at the inactive default allocator thing in vector.h, it's there too:
template >
I tried with
vector > arr;
and it worked.
Have you checked out Loband?A good workaround we used to handle really small resources is to make a web proxy that does the work for you.
viewtopic.php?f=15&t=16208
PolarSSL ported to CW Pro 1 is up here: https://github.com/leitec/polarssl. It's not well-tested but I figure others might be interested.
Disclaimer: basic SSL client connections work fine as far as I can tell but I don't know if it's actually secure. PolarSSL supports platforms that don't have an OS PRNG (and that code is enabled), so I'm guessing it's OK. Still, I provide no guarantees at all. I'm especially suspicious about 68k, since PowerPC at least is using the processor tick register that PolarSSL's HAVEGE PRNG uses. 68k is using OS ticks (Microseconds()) instead.
Disclaimer: basic SSL client connections work fine as far as I can tell but I don't know if it's actually secure. PolarSSL supports platforms that don't have an OS PRNG (and that code is enabled), so I'm guessing it's OK. Still, I provide no guarantees at all. I'm especially suspicious about 68k, since PowerPC at least is using the processor tick register that PolarSSL's HAVEGE PRNG uses. 68k is using OS ticks (Microseconds()) instead.
For what it's worth re SSL, I believe OpenSSL 1.0.0 will compile on Mac OS 9 at least, possibly for older Mac OS as well - I'd have to ask the guy who pulled that off for more specifics.
While OpenSSL isn't necessarily a light library, it is arguably the best-audited of the SSL implementations and thus is probably the best choice for security-critical application.
While OpenSSL isn't necessarily a light library, it is arguably the best-audited of the SSL implementations and thus is probably the best choice for security-critical application.
Yup, I got an older version (0.9.6) to compile OK with CW Pro 7.1 and GUSI (POSIX compatibility library). Although there is a port that is totally "native" (i.e. not using GUSI) it is completely unmaintained. I managed to get a newer version built later, but I had to manually sync the file list from the Makefile to the CW project file. So it was a bit of a pain, and I wanted something I could build with an older version of CW.
PolarSSL is not as widespread, but it is actively maintained and used widely enough in embedded systems that I feel comfortable using it. Plus, it being small and more manageable/readable is a huge plus. Once I rewrote the PPC asm stuff to work with CW the performance became quite good, too. Surprisingly there is also 68020 assembly code upstream, but I haven't ventured into porting it just yet.
The biggest issue for my port is that of entropy and RNG, but that is also a problem for OpenSSL. PolarSSL might actually have an advantage here because of its use on limited embedded systems without OS or hardware entropy sources. I am not at all an expert in this field, so I have to trust the result that I got from the entropy analyzer "ent," which showed good-enough results on both PPC and 68k.
On a more general note, I've also been writing an OAuth library in C that works with PolarSSL on CodeWarrior. It can successfully authenticate against Twitter over SSL on my Mac. I am cleaning it up by decoupling the HTTP/network code from the OAuth signature stuff, so when that's done I'll put it up on Github.
PolarSSL is not as widespread, but it is actively maintained and used widely enough in embedded systems that I feel comfortable using it. Plus, it being small and more manageable/readable is a huge plus. Once I rewrote the PPC asm stuff to work with CW the performance became quite good, too. Surprisingly there is also 68020 assembly code upstream, but I haven't ventured into porting it just yet.
The biggest issue for my port is that of entropy and RNG, but that is also a problem for OpenSSL. PolarSSL might actually have an advantage here because of its use on limited embedded systems without OS or hardware entropy sources. I am not at all an expert in this field, so I have to trust the result that I got from the entropy analyzer "ent," which showed good-enough results on both PPC and 68k.
On a more general note, I've also been writing an OAuth library in C that works with PolarSSL on CodeWarrior. It can successfully authenticate against Twitter over SSL on my Mac. I am cleaning it up by decoupling the HTTP/network code from the OAuth signature stuff, so when that's done I'll put it up on Github.

.