Jump to content

Developing Software


Recommended Posts

I'm looking for some advice. I'd like to develop two internet apps for OS7. Are there any freely available development tools for 68k macs, OS6 or OS7 with a decent collection of example code? I remember using Think Pascal, but it's not something I have anymore.

 

So if anyone can recommend a development system that is available (even low cost would be ok). One that makes socket programming easier and not harder, and/or comes with some example code for internet apps; that would be great.

 

Thanks,

Nathanial Hendler

Tucson, AZ USA

http://retards.org/

Link to post
Share on other sites
  • Replies 58
  • Created
  • Last Reply

Top Posters In This Topic

You will probably want to grab MPW from Apple, as well as any documentation for the Macintosh toolbox that you can find.

 

If you have a little money to burn, a product like CodeWarrior Gold 9 will include the compilers, debuggers, and some getting-started books all on CD. The IDE is also easier to use than MPW, albeit less powerful IMHO. I'm guessing that a second-hand copy is rather cheap these days.

Link to post
Share on other sites

I looked a little at MPW, but it seems very modern. I need to develop both for, and on a Mac SE. Would it be a misconception to think that it's not even worth trying to get MPW running on an SE? I've found that Think Pascal is freely available. I remember using that on a plus at one point. I just don't know if it has any internet/socket programming abilities.

 

Are there any mailing lists or forums for 68k programming? I haven't found any.

 

Thanks for your reply.

 

Nathan

Link to post
Share on other sites

The version of MPW on Apple's website requires System 7.5.5, which would chew up the RAM on an SE. Though it does run on a 68k. There are older versions that will run in System 6, but I haven't seen those versions in circulation. (Though I do have a copy for System 7.)

 

Technically, Think Pascal was never freely available. Somebody just discovered that the updater on Symantec's FTP site was essentially the whole deal. Unfortunately it was also pulled a while back. :(

Link to post
Share on other sites

It depends upon the coder. A proficient programmer who has extensive knowledge of both algorithms and the system architecture should be able to beat a compiler in terms of optimized code any day. A middle of the road programmer with a middle of the road knowledge of algorithms should just stick to compilers since a compiler (even an old one with poor optimization) should be able to outdo that programmer. And a poor programmer with no knowledge of algorithms will end up with faster interpreted code if the interpreter provides a more extensive library. Choose where you fit in.

Link to post
Share on other sites

If you value your time, higher level languages are most definitely worth it. (4MB RAM is a huge amount of RAM for most System 6 programming.) And to the OP, find a copy of THINK C 5 or THINK Pascal 4 to use. There is heaps of sample code on the net - for internet/TCP/Sockets type stuff look at things like Peter Lewis's sample code (Stairways Software) and the NewsWatcher source. Old USENET articles are worth checking (google groups) and also the MacTech archives. Another thing is any info-mac archives have various bits of source code you can check - especially the old comp.sys.mac.programmer archives.

 

Ken

Link to post
Share on other sites
If you value your time, higher level languages are most definitely worth it. (4MB RAM is a huge amount of RAM for most System 6 programming.) And to the OP, find a copy of THINK C 5 or THINK Pascal 4 to use. There is heaps of sample code on the net - for internet/TCP/Sockets type stuff look at things like Peter Lewis's sample code (Stairways Software) and the NewsWatcher source. Old USENET articles are worth checking (google groups) and also the MacTech archives. Another thing is any info-mac archives have various bits of source code you can check - especially the old comp.sys.mac.programmer archives.

 

Ken

 

You're making an assumption that every compact out there has been fully upgraded. Coders have to write for the lowest common denominator. I have three Pluses and one SE and none of them has more than the standard 1 meg. So is 1 meg sufficient RAM to hold the OS, plus the high level language with any extensions that may be needed plus the code plus any data that may be required by the code??

Link to post
Share on other sites

1 MB is a fair bit of RAM to deal with, and compilers tend to be fairly efficient (particularly if your code lacks structure, as many assembly programs would).

 

I tend to disagree with the "if you value your time" bit though. Programmers tend to create things for other people, not just themselves. So any programmer who values their time above mine leaves me in dismay. After all, 10 seconds here, 10 seconds there, and soon enough it amounts to real man seconds of lost time. Well, maybe Job's mantra for the original Macintosh doesn't work when there are only a few hundred classic Mac users left. :p

Link to post
Share on other sites
If you value your time, higher level languages are most definitely worth it. (4MB RAM is a huge amount of RAM for most System 6 programming.) And to the OP, find a copy of THINK C 5 or THINK Pascal 4 to use. There is heaps of sample code on the net - for internet/TCP/Sockets type stuff look at things like Peter Lewis's sample code (Stairways Software) and the NewsWatcher source. Old USENET articles are worth checking (google groups) and also the MacTech archives. Another thing is any info-mac archives have various bits of source code you can check - especially the old comp.sys.mac.programmer archives.

 

Ken

 

You're making an assumption that every compact out there has been fully upgraded. Coders have to write for the lowest common denominator. I have three Pluses and one SE and none of them has more than the standard 1 meg. So is 1 meg sufficient RAM to hold the OS, plus the high level language with any extensions that may be needed plus the code plus any data that may be required by the code??

 

No assumptions - just knowledge and experience. I've written heaps of code for system 6 - in C, Pascal and assembly, and none of this code was ever seriously constrained by RAM. Now speed on the other hand...

 

I tend to disagree with the "if you value your time" bit though.

Doesn't take away the simple fact that it takes far longer to write something in assembly than C or Pascal, so you pretty much only use assembly where and when you have good reason.

Link to post
Share on other sites

Could I ask why System 7? Goodness knows we could use some more, fun assembly-written apps for System 6! Even on a fast 68k Mac, System 6 makes it all the faster, and hence, more fun! And in many cases, the code you write for a System 6 app can also work without problem under System 7 (and faster too).

Link to post
Share on other sites

I did some searching a while ago and found that the maclynx code had been released, but it does not seem to be available anywhere now, and the only archive.org links I could find for it were broken. :( Now maclynx only works for System 7 and higher, but porting it down to System 6 would certainly be easier than starting from scratch.

 

Ken

 

*Kallikak* waves to JDW from Tokyo

Link to post
Share on other sites
Doesn't take away the simple fact that it takes far longer to write something in assembly than C or Pascal, so you pretty much only use assembly where and when you have good reason.

 

It will take longer because the code that you write is less dense, but I don't see why it has to take that much longer. After all, anything that you can do in a high level language can be mapped into assembler. In a lot of cases the mapping can be fairly direct. You even have things like function calls, can create object oriented code, and so forth, without too much effort.

 

Most people like to dis assembler because it is hard and because it is time consuming. Well, it is neither. It is just a very unfamiliar language that takes time to learn, and you have to put yourself in a different mindset (you have to think much more discretely).

Link to post
Share on other sites

Developing for C or Pascal using any of the THINK environments would be easy on an SE with 4 megs of RAM. No need to worry about doing assembly unless it's something that interests you, and if you do end up programming something that requires the extra speed, the inline assembler in THINK works fine. Lots of examples and tutorials out there on the web too.

 

MPW is very powerful, but I haven't been able to find any earlier versions that don't require 7.5.x, which as someone has mentioned is a hefty OS for an SE.

Link to post
Share on other sites
No need to worry about doing assembly unless it's something that interests you...

In my opinion, the benefits of properly written assembly code on an old Mac is worth making yourself interested! Seriously, it is THAT much faster! And on a slow Mac, speed is of critical importance. Plus, you can lower the RAM requirements too. Why do you think System 6 is so much faster than 7? No, it's not simply "the bloat of 7" that is the cause. System 6 is mostly assembly code, well written and compacted!

 

Let the assembly code roll off those programming fingers!

Link to post
Share on other sites

In Mac development, a large part of the code is related to handling the interface elements, and there is not much bloat or speed penalty for coding that up in a high level language. If you really need speed, the THINK C inline assembler is a very good choice - since you can refer directly to your variables etc, and it makes managing the stack much easier etc. Most of my coding was related to mathematical problems, so speed was certainly an issue, but a good knowledge of the compiler being used and the features of the language (C or Fortran mostly for my examples) meant tight loops could be very efficiently compiled and optimised. That being said, coding it in assembly would probably have roughly doubled the speed, but it was generally floating point code, and I always found floating point assembly hard to work with - largely because of the representation of the values and the associated difficulty debugging.

 

On the other hand, on my Apple 1 clone I never do anything in BASIC, but write everything in 6502 assembly. But I'm biased, since I wrote the assembler. [:D]]'>

Link to post
Share on other sites

Kallikak -- the link to MacLynx source from archive.org exists, but the download always hangs at about 50%. Frustrating.

 

The developer, Olivier (often misspelled Oliver) Gutknecht, is still very much around, however, and might be willing to send it to you. I would've contacted him, except that I wouldn't be able to do anything with the source myself.

Link to post
Share on other sites

I've been looking into writing some MacTCP apps in C, and for me, the streams interface to MacTCP has been the hardest part. I'm not real keen on learning a new interface that isn't connect().

 

there are a few libraries that emulate a socket interface to MacTCP. Simple Sockets and GUSI (Grand Unified Socket Interface) both come to mind, but I didn't ever get anywhere with them.

 

Just learning to use the silly MacTCP streams is probably better than using a socket layer.

Link to post
Share on other sites

Someone earlier mentioned supporting system 6. Something I hadn't given much thought to, but am now convinced I should do so.

 

This is sort of a round-a-bout question, hopefully someone can help me figure out what it is I want to ask, and the answer as well...

 

I have two versions of Think Pascal. 4.5 and 3.?. 3 doesn't have any TCP libraries and 4.5 has MacTCP.p.

 

As Kallikak suggested, I looked at some of Peter Lewis's code, which uses some included tcp libraries (TCPStuff.unit, TCPConnections.unit, TCPTypes.unit) but does not use MacTCP.p.

 

So, if I want to write an internet app that runs on system 6 through system 9, is it even possible? Should I use the pre-MacTCP.p code as a starting point, or should I use MacTCP.p?

 

If MacTCP.p is what I should be using, does anyone know of any simple sample code? Something along the lines of Peter Lewis's examples?

 

Thanks,

Nathan

Link to post
Share on other sites

I don't know anything about using Pascal, but it's not too hard to support System 6: Just use the raw MacTCP interface (MacTCP.p, if that's what that is) and use calls that are documented in Inside Macintosh Volumes 1-5.

 

Alternately, don't do any gestalt checking and code your code. See where it crashes on Sys6 to identify calls that require System 7. ;-)

Link to post
Share on other sites

If someone here is developing a web browser for System 6, it would be nice to see one with as many modern technologies incorporated as possible. I know a lot of things just won't be possible given the hardware, but it would likely turn out better than anything System 6'ers are currently using.

Link to post
Share on other sites

But is a browser really feasible? Sure, a text only browser might; but I'm talking about a real browser that let's you see graphics and forms too.

 

iCab once supported older 68k Macs, but they haven't released a version for System 7 in ages. I've even written to them multiple times about this, but my words have fallen on deaf ears. iCab is so buggy though that I can't use it on my SE/30.

 

After comparing every single browser (including the text only ones) on my SE/30, the best I've found is Netscape 2.0. It doesn't support some features that 3.0 does, but Netscape 2.0 is "wicked fast" on my SE/30.

 

So if a browser is indeed in the works, it would be nice to see something on order of Netscape 2.0 for System 6, especially in terms of speed. But I think that a browser of that magnitude on System 6 may not be possible. If it was, then why didn't Netscape make it compatible with 6 & 7? And again, there would be hundreds if not thousands of man-hours involved. True, it would be one of a kind and truly "wicked fast" because System 6 is so much faster than 7. But again, the effort required to bring it to the light of day may be overwhelming.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...