This page is a wiki. Please login or create an account to begin editing.


21 posts / 0 new
Last post
Offline
Joined: 2011 Jul 15
The Copland Project: From Beginning to Abrupt End

In order to provide information for a Wikipedia area on the Copland OS page regarding my project,I am publishing here the exact details of how my project started, and how it ended (general details, as they get personal).

I began my attempts at finishing Copland roughly around March/April of 2010 when I purchased my first Macintosh, a Power Macintosh 9500/132. I bought the machine at the local flea mall with a monitor and printer (this was in December of 2009) for somewhere around the sum of $50, and promptly took it home. After attempting to do some research on the machine, I discovered that it could run Copland, which, up to that point, I had no idea had even existed. I had been using my 9500 to install Newton programs, and to do basic NewtonScript work up to that point.
Shortly after I discovered that my 9500 was the perfect model to run Copland (c. February 2010), I began searching for a copy on the trusty old Internet. Lo and behold, it was during this point that I also discovered Macintosh Garden (separate incident). I found a loose copy, and installed it onto my machine, and began to fiddle with it. The copy I had was D4E11, and I was using a PowerBook G3 Kanga as my debugging machine.
At this stage I was basically just familiarizing myself with the whole setup of the system. It crashed often, so I looked for the things that seemed to make it crash most while it was starting up (text-messages from the system during startup, both on the debugger and on the developer machine). I began taking notes of certain messages on my MessagePad, and continued to do so until I had most of the "baddies", as I marked them in my notes, writ. I began to mark down what messages led up to baddies happening, and would consistently marked how they were written, so that I could type in commands properly into the Debugger.
Now, though I'ven't written it, you can assume that at this point I was effectively dealing with daily crashes. I would boot into 7.5, run Disk Utilities, and continue business as usual. I was juggling school, family, and developing, but since I had started so close to Summer Break, I was able to begin finalizing a semi-stable version by the end of Summer (work adds up, eh?). However, I experienced a similar situation to what happened to me this past December, where a minor crash (the December 2011 crash was major by comparison) was enough to drive my weathered HDD into a death roll, much like the HDD in my WorkGroup Server. I had enough money saved up at that point to afford two "new" hard drives, one of which only lasted into February of 2011 (from September 2010). I began again, and made it to where I had been in August of 2010 within two months. I didn't upload an of this to the internet, because I didn't really know how to get the contents of a hard drive of the 90's onto the internet of today.
So, by January of 2011, I had effectively built yet another semi-stable Copland. However, I felt I was leaving something out. Copland was fantastic at running Mac OS 7 under discreet emulation,and Mac OS 7 programs opened up and worked like they did under a full Mac OS 7 based system. However, I felt like my work wasn't done. Crashes still occurred, and though rare, they were devastating when they did happen, and Copland couldn't run things like PowerTalk, PowerShare, or any Mac OS 8/9 applications. I decided to work more toward the goal that I had of running Mac OS 9, rather than Mac OS 7. I realized that by doing this, though, I would be unable to effectively run the two main programs I had been after to run under Copland in the first place, which was PowerTalk/Share. I abandoned the idea of running PowerTalk, and moved toward the idea of running Mac OS 9 in the background. I upgraded the RAM to 1gb in order to accommodate the OSes together, but before I could begin to even ponder how to get OS 9 into Copland, the system (pardon my French) shat out on me again.
So, using my notes, I continued on, and reached the 1 year anniversary of my beginning the project, which I had, by that time, dubbed the Copland Continuation Project. At some point during 2011 I announced my work, and sought Cameron Kaiser to port Classilla to the system. Sadly, at the time when I contacted him I was in between HDDs, and I informed him that I was still working with the pre-alphas, rather than telling that I had recently lost all my data. To justify this, I didn't want to appear to be an incompetent who was doing this willy nilly with no way of preventing crashes. He declined politely (I told him I could provide him with mockups, if he wished), and I thanked him for hearing me speak (via email, of course). So, I continued, making it to December of 2011, where the Great Crash of 2011 occurred. Rather than telling you what I did after February and contacting Mr. Kaiser, I'll just tell you what I had Copland doing at the point of the final crash. Subsequently to telling you what Copland could do, and did do at the the point of the crash, I shall also inform you of why I can no longer continue with the Project, and why I am asking for anyone, anywhere, to just finish Copland for the community.
At the point of Crash, the following system features were partially (marked with *), fully (marked with +), or not (marked with X) implemented. Removed (marked with %). Non-implemented features were planned, but were pushed to the side by my being lazy and wanting to play around.

QuickDraw GX +
OpenDoc, including developer tools fully ported +
Mac OS 9 compatibility *
Assistants +
NuKernel +
Fully Preemptive Multitasking +
Themes *
PowerTalk/Share X
Running using only 20mb of RAM with nothing open (Active Debugger always open) +
Inbuilt Debugger +
Active, nonintrusive debugger +
Any SOM components %
Stacked folders in dialogue boxes *
G3 compatibility (was being coded in) *
G4 compatibility X
Compatibility with more than 2gbs of RAM *
Symmetric Multitasking +
Removal of need for "parts" to be compatible with systems, would install on any PowerPC System other than G5s *
AV-compatibility +
(Personal want) Inbuilt QuickTake 150/200 software +
Full internet capabilities +
Newton Software *
Multiple users +
Software Sandboxing (to prevent any downloaded files from spreading a virus when opened) X

Even with all of this, and the need for more RAM, the System ran almost 50% faster than Mac OS 9 on a 9500/132. Due to Mac OS 9 compatibility, Classilla ran well; however, it still ran at Mac OS 9 speeds. NuKernel was still buggy, but with the addition of an Active Debugger, I was able to "squash" most of them. The Active Debugger caught code that was either "rampant", where it led to more memory being used than was needed, or "colliding" code, where it would lead to another line of code becoming rampant. The Active Debugger used 3mb of ram when it was active, and created a temporary file that marked certain lines of codes, and showed the history of that code from startup until it became rampant or colliding, after which point it stopped the code and flashed the top bar four times.
I was able to put in the ability to use multiple processors effectively, and this alone took one month (September). Towards the end, I began to focus less on debugging and more on features and removing the need for "Compatibility Parts". I suspect that this removal of Compatibility Parts led to the Final Crash. Features added include the QuickTake software being built in, as I often use my QuickTake for photographs, and a partial implementation of Newton Connection Utilities being fully implemented as an inbuilt system feature. I was considering removing the Themes from the system, which is why I left them only partially implemented.I fully removed SOM components because they are useless. I had OpenDoc fully finished for Copland (a holdover from the second near finished build, barely saved from destruction by a set of floppies I lost, then erased, as I ran out of floppies).
I completed the Assistants software, which helped users use easier ways of completing tasks that they did often. I finished the multiple users aspect, and was able to implement it as it was mentioned in the mockup videos that came with the Mac OS 8 book published by Apple Press around 1996). I finished implementation of AV functionality, and even used my QuickTake 200 to record some video.

The most important thing I did was to finish implementing OpenDoc. When I did this (c. October), I was no longer focusing on bug fixes or implementing new features. What I had was a fairly stable version, and I wanted to use Copland on the internet, so I used Copland to port CyberDog, to bring her up to date with HTML 4, and to implement an OpenDoc feature that allowed for the immediate conversion of any flash video to QuickTime v6. I was able to view YouTube very, very well on my 9500/132
Sandboxing is a new, modern feature that is popping up on systems a lot nowadays, so I wanted to implement it to keep up. Sandboxing would hove not only kept virus from spreading throughout the system when a file or applications was opened, but would effectively kept any and all software defects from coming anywhere near crashing the system. I decided to push it back to Gershwin, which I was planning to begin on after releasing Copland.

The reasons I cannot continue with Copland are as follows:
1. Financial. Due to the absolutely awful situation in the United States, where our recession has been carried on by our moronic leaders, I lost my job not a week before the Crash of December 2011.
2. Personal. Family issues have arisen.
3. Hardware. I can't afford any new HDDs to continue.
4. Lack of will. It's one thing to lose everything twice while the system really IS unstable, but to lose everything when you think the system simply can't crash anymore because you put so much work into it destroys any will you have. I simply don't have the will to lose hundreds of hours of work anymore, especially with school and the other reasons piled on.

So that's it. That's everything I did, had, and lost. I lost and updated Copland, Cyberdog, OpenDoc, Internet implementation, protected memory, symmetric processing, the lot.I hope that you wont get mad at me for giving up, but you see what I lost, what the Classic Macintosh community lost. If any of you are willing, you can try an do what I did, but I this this for almost two years, and still lost everything. So be warned, you see what happened, keep that in mind.

I'd like to end this by saying that I am truly sorry. I feel that I let you down more than myself, and that is something I genuinely hate. Please forgive me.

You can believe me, or not. Honestly, at the current moment I could care less. Anyway, it comes down to those who can finish it now. That just so happens to no longer be me.

Edit: Replaced 'xxx 7' with 'Mac OS 7' - IIGS User

Comments

Offline
Joined: 2011 Jul 15

NuKernel is simple to program once you have the speed and syntax down. It's the speed that's hardest to catch up with. But once the syntax is down, it's relatively simple to follow. I can assure that, at least for me, programming is not like riding a bike, as in the seven months since I stopped I've forgotten almost everything I knew. I remember tidbits, and that my biggest pain (not written in the story above) was an extension called "timing", which I had no clue as to what it did, so I had to assume that it's name was plain English, and go from there.

Protocol 7's picture
Offline
Joined: 2010 Aug 7

Did you really have D7E1 running on a 9500 or is that a typo? D11E4 will run on the x500 Power Macs but D7E1 apparently only ran on the x100 series. My 7500 requires 7.5.2 as a minimum and D7E1 came with 7.1.2 and 7.5. I had D11E4 running on it, but couldn't boot into D7E1.

Offline
Joined: 2011 Jul 15

That was, indeed a typo. I typically write D7E1 as that's the one I looked at most. Sorry guys! Typo! PLEASE NOTICE THE TYPO!

Offline
Joined: 2011 Jul 15

That was, indeed a typo. I typically write D7E1 as that's the one I looked at most. Sorry guys! Typo! PLEASE NOTICE THE TYPO!

Protocol 7's picture
Offline
Joined: 2010 Aug 7

Thanks for the update. I went back and looked at D7E1 afterwards to see if there might have been any way to get it running on a x500 but I couldn't see it.

Offline
Joined: 2011 Jul 15

Terribly sorry about that, I know it must have been confusing to those just reading to read.

Balrog's picture
Offline
Joined: 2009 Apr 24

Note that you can edit posts Smile

Offline
Joined: 2011 Jul 15

I'm serious that I just noticed after you informed me, one moment.

Offline
Joined: 2011 Jul 15

Fixed!

Offline
Joined: 2009 Oct 17

a "Real" developer would have kept offline back ups of things they really wanted or proof of reality!!! what sources where you using? never knew open doc sources were released? if you were this type of programmer (wonderchild) I would think that anybody would hire you or keep you as their secret weapon.
Sounds like a load of crap to me!!!!!!!!!!!!!!!!!!!!!!!

Ilovetheoldones's picture
Offline
Joined: 2012 Jun 3

Seriously? He put so much work into this for us and you're sitting there saying it was a load of crap? HUNDREDS OF HOURS! HARD DRIVE FAILURES! He even lost his job! The state of our country truly is terrible. He put his time and money into this project! Respect that.
Copland Dev. Thank you for trying to complete Copland. Taking that challenge was difficult, and I'm sorry for the troubles you've been having. Best of luck to you in the future. I would complete Copland, but I don't have the funds(or programming skills).

Offline
Joined: 2009 Oct 17

well like i said before a good dev would have backed up all they worked on to something that would not die. it just sounds like a good ole' tale to me. hell I lost my job and have had a shit time tryingt o get hired after the 2008 debacle, and like I said before where is the source that he would need to complete this? was he a internal dev from apple all those years ago and had this stuff stashed, this would suggest a good dev and hence a back up of all his work.

just a tall tale for amusement with out having any ictures or code for verification. hell i could tell you that I built "Star Trek" for the x68000 series and you would be none the wiser after I gave you a bunch of wiz bang and vague description about how I implemented it!!!!!!!!!!!!!!!!!!!!

Ilovetheoldones's picture
Offline
Joined: 2012 Jun 3

Link to the Copland continuity project: http://code.google.com/p/copland-continuity-project/w/list
I'm truly sorry you lost your job as well.
The source is listed there.

Offline
Joined: 2009 Oct 17

like i said before anybody could do a post and setup something like this, if he was a pro dev there would be back up files, code notes, anything computer and non computer generated. also were is the source code for opendoc? never known that to be released to the public. the files in that community page are available from any number of places hell i have them from 4 or 5 years ago before he started his project. anyway i all smells of bullshit

Offline
Joined: 2009 Oct 17

lets see coherent paper notes that show source and completed progress. anyone else have the source code to opendoc and the copland os? this os was sent to devs to verify that they could get the programs they were working on running with it, nobody go the source pool to fix the damn thing, who would let them do that? apple? hell nooooo!!!!!!!!! quit dreaming people and smell some reality!!!!!!!!!!!!

finkmac's picture
Offline
Joined: 2010 Nov 12

I think I'll side with unixphreak… this just sounds waaaay too good to be true…

On the other hand, If Copland Dev. is telling a yarn, why would he put so much work into these posts?

Offline
Joined: 2011 Jul 15

I am terribly sorry you think I'm lying. I suppose that my work was just too good to be true, as finkmac said. It's true, I did not keep offline copies of backups; in fact I didn't back it up at all. I had a relatively stable job at the time and would have been able to go back and redo whatever I messed up at the time. Hell, I could have afforded new HDDs. Now I work at a God damn Waffle House. I am SO sorry that this is too damn good to be true!

Offline
Joined: 2011 Jul 15

Sir, if you would like, you could go through exactly what I did. You could build an entire operating system from the broken remains that can be scavenged online. I'm tired, I genuinely am. I'm not even on the internet that much anymore because I work so hard. I am sorry that you think I just handed out and fed you all a tall tale. But I have begged, and begged, and begged again for someone to just finish it for me. I can't. Have a lovely evening, sir. I genuinely hope that someone comes along and finishes it, just so that I can play with it again. But for now, and probably for the next few years, I can't even spend any extra time anywhere, or on anything. Good bye, sir.

finkmac's picture
Offline
Joined: 2010 Nov 12

I would think asking on a forum that is more Developer-Oriented would result in interested people…
Heck, you could even do one of those Kickstarter things…

Offline
Joined: 2009 Sep 3

My advice to Copland Dev, and I mean this in all kindness, would be to really spend some time learning to program (it's fun!) instead of making something up. I'm a professional developer, and the post frankly has some holes in it. It takes tremendous resources and specialized knowledge to debug and modify a (modern) live operating system and you must have the source code. Also no serious programmer works without source code control and backups (cvs/svn/git - take your pick they are all free).

So please if you are interested in development, go to your local community college and pick up some courses. Start with javascript/css/html. If you like that then progress to PHP/Python/Perl. Then if you still love it, learn an OO language like Java or C++. Too easy? Learn C and Linux and actually contribute a patch to a real live OS.

But please for your own good, don't waste your time and others. I don't mean to be harsh but part of being a developer is learning to be frank and honest about your code and projects. Best of luck!