For Your Inspection: Source Code For Photoshop 1.0
gbooch writes "With the permission of Adobe Systems, the Computer History Museum has made available the source code for Photoshop version 1.0.1, comprising about 128,000 lines of code within 179 files, most of which is in Pascal, the remainder in 68000 assembly language. This the kind of code I aspire to write. The Computer History Museum has earlier made available the source code to MacPaint."
I'll just compile and run it to see.
Well, it doesn't seem to show anythALL HAIL STEVE JOBS! STEVE JOBS IS MY MASTER!
Their site has been toast since yesterday and now you turn the /. hose at it? Poor IT guys gonna have a bad day.
... in this code.
503 Service Unavailable
No server is available to handle this request.
At least they still have servers available to tell us that they don't have servers available.
Better known as 318230.
Here, I'll post it here to save you time:
503 Service Unavailable
No server is available to handle this request.
Not sure what language that's in.
Do you have ESP?
This the kind of story I aspire to write
THL phish sticks
Was this a college CS assignment? I wonder who made the choice to use Pascal.
I managed to get it, and WOW. It seems programmers in the olden days had a bit higher quality standards than the current league of script kiddies.
There's not a single superfluous abstraction. Every performance trick is applied. And yet, everything is totally readable.
Amazing.
This is a cool piece of history, though I wonder how much real functionality was in the original 1.0 version. Were they doing CMYK back then? Anyway, I want to check it out, but I don't anticipate seeing many technical marvels.
Engineering and the Ultimate
...and good. I miss those times.
I miss stuff which opened instantly and worked quickly. Where a faster PC actually meant things getting done quicker, rather than an opportunity to shim in another layer of crapware designed by a 3rd party half way across the world to find its way into your ever-less-steady stack of shit.
Windows 95 on a PC from 2000 runs way faster than XP on a 2010 PC, and both are faster than Windows Vista/7/8 on a modern PC. Why don't people make that effort any more? It's not as if using shitty pre-built components saves development time: learning all their quirks and bugs is often more time-consuming than just rewriting from scratch. Is it just that Twenty-First Century Capitalism thing where every useless leech has to take a cut, so it would be Unholy to properly develop in-house and on-shore?
by geeks around the world who think $700+ is a bit much for the latest version when they can hack on 1.0's source code for free.
Does this put the source code into the public domain - and thus now might it be possible to port it to other architectures?
Electronic Music Made Using Linux http://soundcloud.com/polyp
Interestingly this code is supposedly in there. (According to the comments on the page). Somebody should check the Adobe code...
Hopefully the Gimp folks can make some use of this.
No, sir, you are the idiot if you believe that people are using the 68k in new designs as anything other than a cheap microcontroller. The code in Photoshop 1.0 is pc code, so if you aspire to write code like it, you are not writing for an embedded microcontroller.
If its either, de-install Visual Studio please.
Non sequitur much?
Would Photoshop CS 6 (or wherever they are these days) still contain code from the 1.0 days?
I don't see anything about Mac Paint (or Adobe or Photoshop) anywhere on that page. And someone modded you up for that?
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
Has anybody run it in a 68k Mac emulator? It would be interesting to see a performance comparison between modern PhotoShop running natively and version 1 running on an emulator.
The world is made by those who show up for the job.
Okay, while we wait for the slag that was the hosts servers to cool and solidify-- why the heck did the paging on the home page change? It used to be going back a "day" would put use unique URL based on the date. So if I reloaded the page a day later, it would still show the same group of articles.
Now it has changed to ?page=1, where 1 means "1 page back from the most recent set of articles". So if I go back a page, then come back later and refresh-- I get a completely different set of articles-- somewhere between where I stopped reading last, and the new ones.
Isn't this a step backwards (no pun intended)?
UTF-8: There and Back Again
I love tapioca!
What would be required to actually build it? I already have a 68k Mac, so the hardware is covered.
"I use a Mac because I'm just better than you are."
Yeah, C++, C#, VB.NET and F# are ALL dying languages. Fucking moron.
F# ? I agree it's not dying, but only because it never lived.
More Twoson than Cupertino
503 Service Unavailable No server is available to handle this request..
Server=slag heap
Ever notice that Cobra Commander sounds an awful lot like Star scream?
Ran that sucker on a MacII with 8bit color at SVA's computer lab when it was on the East side 21st street...
Bruce Wands and Burt Monroy were both very excited about this product as it was much more powerful than "Digital Darkroom".
If telephones are outlawed, then only outlaws will have telephones.
Note that Photoshop 1.0 was a one-man app...and Knoll still works on Lightroom.
People today don't realize how mind-blowing Photoshop was back in the day. Nobody in real life did image editing - it was all airbrushing, paste-up, etc.
Anyway, good reading:
http://www.theverge.com/2013/2/13/3959868/photoshop-is-a-city-for-everyone-how-adobe-endlessly-rebuilds-its
The Computer History museum has a quite interesting YouTube channel too.
Supposedly it's in macpaint...according to the comments section of the story.
"The Computer History Museum has earlier made available the source code to MacPaint."" from TFS.
Did that get added in after you read TFS the first time maybe?
Source code on the internet? Not safe from Michael Hardy.
http://youfailit.net/?p=49
http://better-explorer.com/blog/a-word-about-michael-hardy-copycat/
This person likes to take peoples source code, recompile it with minimal changes (usually just taking the author out and putting in his name) and then sell it.
Recently hit the Apple II scene trying to pass off Byte Magazines Solitare Game as his own, asking how to make copyright materials then wanting the person who wrong Lemmings for the Apple IIGS to unprotect it for him. lol.
Anyways, great reading about a loser who profits via others work. But a source code thief and will find Michael Hardy's Photoshopped Photoshop 1.0 coming out soon!
Be seeing you...
UPhotoshop.LOAD and Photoshop.BuildFlags
These files are not in the source archive...
EVEITF.o
This object file is missing in a standard MPW 3.0/3.1 installation..
By the way some environmental variables used in the makefile is not defined in a default MacApp 2.0 installation, for example "SrcMacApp", "ObjMacApp" and "RezMacApp".
"Ignoring all the "it's pascal so it must suck" idiocy being posted, Turbo Pascal changed PC programming" - by tgrigsby (164308) on Thursday February 14, @03:50PM (#42900799) Homepage
1st, lets face some facts: Most of the dolts saying that probably haven't even USED any form of Pascal, hands-on, for comparison...
Secondly, per my subject-line above? From a reliable & reputable source (a competing trade rag no less)... it's what "stole me away" from being a primarily Visual Studio man in fact: Read on!
---
Back circa 1997, I was a BIG fan of coding with Visual Studio... especially MSVC++ &/or VB.
I run into a review in VBPJ, of all places (Visual Basic Programmer's Journal) Sept./Oct. 1997 issue "Inside the VB Compiler", a competing trade rag no less & one that was QUITE respected!
Then?
There, I saw Borland Delphi LITERALLY "knock-the-chocolate" outta MS' offerings, overall, in performance...
How much so? Ok (& this IS what I took to mgt.):
In the 6 tests given, Delphi won the majority (overwhelmingly in fact, in what ALL PROGRAMS DO, math & strings work)...
Specifics below (the most important, overall? Again - imo @ least - What they ALL do - math & strings!):
---
STRING SUITE:
Delphi = .275ms .500ms
MSVC++ =
MSVB = 4.091ms
---
MATH SUITE:
Delphi = 1.523ms
MSVC++ = 2.890ms
MSVB = 7.071ms
* AGAIN - note what I said above? Even while I was a HUGE fan of MS' Visual Studio?? I couldn't "argue with the numbers" here, & gravitated towards a BETTER coding environs in Delphi, by far, for performance alone!
---
API GRAPHICS METHODS SUITE:
Delphi = .269ms .293ms
MSVC++ =
MSVB = 292
---
TEXTBOX FORM LOADING SUITE:
MSVC++ = .012ms .069ms .072ms
Delphi =
MSVB =
---
ACTIVE X FORM LOADS:
MSVB = .114ms .495ms .778ms
Delphi =
MSVC++ =
---
NATIVE TO LANGUAGE GRAPHICS METHODS SUITE:
MSVC++ = .293ms .455ms .503ms
MSVB =
Delphi =
---
There you are... however: KNOW WHAT I WAS TOLD, that I absolutely HAD TO LISTEN TO & UNDERSTAND (which, I did):
---
"Microsoft has BILLIONS of dollars & absolute stability. We want to have SOMEONE to take responsibility for errors in their stuff, and to have support in the future. Microsoft odds are WILL BE THERE STILL... Will Borland?"
---
THAT IS BUSINESS' POV in a nutshell... & Borland was getting "brain-drained" (especially for the designers of Delphi) by MS regularly... ever heard of Mr. Anders Heijelsberg &/or Chuck Andrzewski? They built Delphi... & MS got 'em!
---
Getting back to replying to your points, point-by-quoted point:
"The only compilers besides MASM were too expensive for a college student to touch and slower than Christmas to compile" - by tgrigsby (164308) on Thursday February 14, @03:50PM (#42900799) Homepage
Absolutely - I have MASM 5.0 still here sitting right in front of me in fact, lol, believe-it-or-not... it wasn't that bad, because code was tiny (but, I recall having hit the memory limit on procs, lol, because they had size limits & asking my prof.: What did I do wrong here? Was 16-bit, & that was it... syntactically it was correct, I had to bust it up into separate subprocs!).
Now, by comparison? Even Borland C++ took way, Way, WAY longer & so did Microsoft C even (only ones I used for DOS in those days)... iirc, it has SOMETHING to do with how C++ compilers optimize, unrolling loops & such, but Pascal's KNOWN for massively FAST compilation times vs. other comp
They didn't need the source code to Photoshop 1 to figure out how to do a single window mode, so I guess that counts for something.
I'm afraid that by reposting this code you are violating the terms of the license that you agreed to when you downloaded it. You are essentially sublicensing the code to third parties, which you don't have the right to do.
I've asked the gibhub poster to please take it down. Please tell the others who created mirrors to do likewise.
The Computer History Museum has negotiated for permission to release all kinds of historic source code, including Apple's MacPaint, IBM's APL programming language, and now Adobe's Photoshop. Others are in progress. Each such negotiation is tricky and time-consuming. If we, as a community, demonstrate that we are unwilling to play by the copyright owners' rules, it will kill the prospects of getting other historic source code released.
Let's keep the pipeline flowing.
Thanks,
Len Shustek, Chairman, Computer History Museum
You admit being off-topic & that = troll. As to being stupid, on my part? LMAO: See subject-line, & this challenge to you then:
The day you can show me that you've done MORE, BETTER, & EARLIER than I have in the art & science of computing from this only PARTIAL list of only SOME of my "favorites" over time:
---
"My Name is Ozymandias: King of Kings - Look upon my works, ye mighty, & DESPAIR..."
----
Windows NT Magazine (now Windows IT Pro) April 1997 "BACK OFFICE PERFORMANCE" issue, page 61
(&, for work done for EEC Systems/SuperSpeed.com on PAID CONTRACT (writing portions of their SuperCache program increasing its performance by up to 40% via my work) albeit, for their SuperDisk & HOW TO APPLY IT, took them to a finalist position @ MS Tech Ed, two years in a row 2000-2002, in its HARDEST CATEGORY: SQLServer Performance Enhancement).
WINDOWS MAGAZINE, 1997, "Top Freeware & Shareware of the Year" issue page 210, #1/first entry in fact (my work is there)
PC-WELT FEB 1998 - page 84, again, my work is featured there
WINDOWS MAGAZINE, WINTER 1998 - page 92, insert section, MUST HAVE WARES, my work is again, there
PC-WELT FEB 1999 - page 83, again, my work is featured there
CHIP Magazine 7/99 - page 100, my work is there
GERMAN PC BOOK, Data Becker publisher "PC Aufrusten und Repairen" 2000, where my work is contained in it
HOT SHAREWARE Numero 46 issue, pg. 54 (PC ware mag from Spain), 2001 my work is there, first one featured, yet again!
Also, a British PC Mag in 2002 for many utilities I wrote, saw it @ BORDERS BOOKS but didn't buy it... by that point, I had moved onto other areas in this field besides coding only...
Being paid for an article that made me money over @ PCPitstop in 2008 for writing up a guide that has people showing NO VIRUSES/SPYWARES & other screwups, via following its point, such as THRONKA sees here -> http://www.xtremepccentral.com/forums/showthread.php?s=ee926d913b81bf6d63c3c7372fd2a24c&t=28430&page=3
It's also been myself helping out the folks at the UltraDefrag64 project (a 64-bit defragger for Windows), in showing them code for how to do Process Priority Control @ the GUI usermode/ring 3/rpl 3 level in their program (good one too), & being credited for it by their lead dev & his team... see here -> http://ultradefrag.sourceforge.net/handbook/Credits.html or here http://sourceforge.net/tracker/?func=detail&aid=2993462&group_id=199532&atid=969873
AND lastly: http://g-off.net/software/a-python-repeatable-threadingtimer-class where I got other programmer's work WORKING RIGHT (in PyThon no less, which I just started learning only 2 week ago no less) by showing them how to use a "Dummy Proxy Function" as I call it, to make a RepeatTimer class (Thread sub-class really) to take PARAMETERIZED FUNCTIONS, ala:
def apkthreadlaunch():
getnortonsafeweb(sAPKFileName = "APK_1_NortonSafeWeb360Extracted.txt".rstrip())
a = RepeatTimer(900, apkthreadlaunch) # 900 is 15 minutes... apk
Where it was NOT working for many folks there, before (submitted to the maker of the RepeatTimer class no less, & yes, it WORKS!)
----
What do I have to say about that much above? I can't say it any better, than this was stated already (from the greatest book of all time, the "tech manual for life" imo):
"But by the
Face facts: You wish you were me!
* :)
Bit of a timeframe here on the topic 32 to 64 bit (& even 16 bit Pascal before that):
That was then (1996) -> http://imagenes.es.sftcdn.net/es/scrn/5000/5384/apk-3dfx-tuning-engine-10.jpg & this -> http://www.start64.com/index.php?option=com_content&id=5851:apk-hosts-file-engine-64bit-version&Itemid=74 is now (2012) - the future, is now!
(LMAO - & you had the nerve to call me stupid, you the off-topic troll here the ENTIRE time, & yet I can show you're an ac "ne'er-do-well" troll, that hasn't done squat on your part by way of comparison to myself & in the programming languages discussed which ARE the topic & base of PhotoShop? Please...)
Thank-You for proving my point & it truly has been a pleasure showing everyone just what YOU are (by letting YOU DO IT TO YOURSELF, lol!) after you called me stupid... lol!
"We see you..."
APK
P.S.=> Duke Nukem & I are in an "exclusive club", I'm an entire chapter in his "Why I'm so Great" book, lol (compared to you), with his directly quoting me verbatim. because you just KNOW I've just GOTTA say it, as-is-per-my-usual, in my own "inimitable style":
THIS? This was just "too, Too, TOO EASY - just '2ez'"...
Why? Well - I'll let these people say so, again http://www.youtube.com/watch?v=SwgnNa0PLWg "We Rock the Party" (we rock the body) - you, clearly don't, troll... See 1st bold statement above, & "Rinse, Lather, & Repeat"!
... apk
Is this why the original Mac crashed if it tried to store something from the clipboard at an odd (or was it even?) numbered address?
I'm afraid that the community cares more about preservation of these historical items than the copyright owners' rules. The idea that archival copies of historical works is tantamount to unapproved sub-licensing is a completely ridiculous notion and the companies involved will have to eventually come to terms with that for any project on the scale of the Computer History Museum to truly succeed. Historical records cannot be owned and restricted in that manner and still be considered a historical record. Indeed, I feel that the very mission of the Museum includes bringing this level of understanding to those who would otherwise be turned off by it. This is history, not commerce. While it might make some unwilling to release, that is a problem with the angle they're coming at it from, and that needs to be well understood.
Len, the nature of the Internet is that it is a global network. In many parts of the world, people are not bound by the sorts of contracts that they are bound by in the United States. Even in the USA, it is not entirely clear if clickthrough EULAs are legally valid or enforceable. While I understand that you have a dedication to computer history, and that your livelihood is partially at stake as well here, you have to realize that once something's on the internet, it will remain out there despite the wishes of the copyright holder or their agents or licensees.
While this fact may bother you, it doesn't likely bother many other people - certainly not the people who copy and share these materials.
I'll stick by using literally since Delphi's results I posted "knock the chocolate" out of BOTH Microsoft's Visual C++ &/or Visual Basic in 6 discrete tests' results, here -> http://developers.slashdot.org/comments.pl?sid=3461171&cid=42905159 (Especially importantly in BOTH Math & String work, which EVERY PROGRAM DOES & BY ORDERS OF MAGNITUDE (nearly 50% in each if not more (see the #'s yourself, I am not 'exacting' now without seeing them...).
Now, IF Visual Studio could crap it's pants? It would & did, lol... hence, the "knocking the chocolate" out of it (via Borland's Object Pascal doing the job it did on it).
AND
When Microsoft's people saw it, you can BET someone there 'shit their pants', & what gave THAT away's the fact that "King Billy" (Mr. Gates, who I actually call THAT outta pure respect for not only his wealth, but what he managed with the 'empire of microsoft') BOUGHT UP the designers of Delphi (and Turbo Pascal in the former) in Mr. Anders Hejlsberg + Chuck Andrzewski (my fellow pole)...
* AND, "there ya go"...
Lastly/In Closing/Bottom-line: Iinstead of posting DAYS later, thinking I'm not seeing it + trying to "get in the last word" here, completely off-topic on your trolling part?
Hey - Guess again: I know you trolls better than you know yourselves & knew you'd *try* that...
So, do yourself, + the rest of us a HUGE FAVOR, & go away - since I have "knocked the chocolate" outta you!
(ROTFLMAO!)
APK
P.S.=> There's little question my subject-line "holds true" in YOUR case here vs. the topic @ hand though troll - you LITERALLY are way, Way, WAY off-topic...
&
Again - I'd almost BET when MS' personnel saw that link's test results from a trade-rag/mag that SHOULD be favoring THEIR STUFF, that SOMEONE SHIT THEIR PANTS in a HUGE panic!
(In fact - Ms' reaction showed it well enough buying those 2 gents away from Borland, doing what MS did for years on end, "brain-draining" them)...
... apk
"knocked the chocolate of of"? It's intended to convey sarcasm & exaggeration in my original post.
(However: Good ole' "grammar-nazi" troll doesn't have a leg to stand on being off-topic as he is, so he "runs with it" & tries his usual b.s. once more as usual!)
* That's all...
APK
P.S.=> Onwards & UPWARDS...
... apk