Stories
Slash Boxes
Comments

SoylentNews is people

posted by chromas on Thursday May 24 2018, @12:02PM   Printer-friendly
from the classical-sauce dept.

Thomas Knoll, a PhD student in computer vision at the University of Michigan, had written a program in 1987 to display and modify digital images. His brother John, working at the movie visual effects company Industrial Light & Magic, found it useful for editing photos, but it wasn’t intended to be a product. Thomas said, “We developed it originally for our own personal use…it was a lot a fun to do.”

Gradually the program, called “Display”, became more sophisticated. In the summer of 1988 they realized that it indeed could be a credible commercial product. They renamed it “Photoshop” and began to search for a company to distribute it. About 200 copies of version 0.87 were bundled by slide scanner manufacturer Barneyscan as “Barneyscan XP”.

The fate of Photoshop was sealed when Adobe, encouraged by its art director Russell Brown, decided to buy a license to distribute an enhanced version of Photoshop. The deal was finalized in April 1989, and version 1.0 started shipping early in 1990.

Over the next ten years, more than 3 million copies of Photoshop were sold.

That first version of Photoshop was written primarily in Pascal for the Apple Macintosh, with some machine language for the underlying Motorola 68000 microprocessor where execution efficiency was important. It wasn’t the effort of a huge team. Thomas said, “For version 1, I was the only engineer, and for version 2, we had two engineers.” While Thomas worked on the base application program, John wrote many of the image-processing plug-ins.

With the permission of Adobe Systems Inc., the Computer History Museum is pleased to make available, for non-commercial use, the source code to the 1990 version 1.0.1 of Photoshop. All the code is here with the exception of the MacApp applications library that was licensed from Apple. There are 179 files in the zipped folder, comprising about 128,000 lines of mostly uncommented but well-structured code. By line count, about 75% of the code is in Pascal, about 15% is in 68000 assembler language, and the rest is data of various sorts.

Download Photoshop version 1.0.1 Source Code


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by DannyB on Thursday May 24 2018, @02:44PM

    by DannyB (5839) Subscriber Badge on Thursday May 24 2018, @02:44PM (#683562) Journal

    Yep. TP7 stands out as excellent.

    About 1993, we had some code written in the p-System from the 1980's. Quite a bit. The p-System had all but disappeared. We could no longer even find who to continue paying annual licensing fees to. We were using a product from a Canadian company called "the datalex bubble" which let you run the entire p-System OS within an MS-DOS executable. Neat. But moving files into and out of p-System volumes to DOS files was a major pain point.

    So I got TP7. I wrote some command line tools that I dubbed "pTools". This was a collection of several commands, including PCOPY.EXE, PKRUNCH.EXE and others. You could use a syntax like:

    PKRUNCH.EXE C:\foo\somevol.vol

    This would do the p-System "Krunch" operation (eg, squish all files toward the beginning of the volume, leaving all free space at the end of the volume) from the DOS command line. And it was WAY faster than doing this operation within the actual p-System. My PKRUNCH.EXE, and all other tools in pTools were built on a common TP7 library I wrote which used large buffers on "modern" DOS machines that had upwards of several MEGABYTES!!! of memory or more!

    The tools would interpret paths with backslashes as DOS path syntax, up to a "vol" file which was a p-System volume. You would then continue the pathname syntax using colons to delve into "sub volumes" (eg dot-SVOL files) that contained volumes within volumes. So a command like:

    PKRUNCH.EXE C:\foo\somevol.vol:*

    would krunch all of the subsidiary volumes.

    Or I could copy a deeply embedded p-System TEXT file out to DOS:

    PCOPY.EXE C:\foo\somevol.vol:subvol1.svol:myfile.text C:\myfile.txt

    I greatly enjoyed working in TP7's DOS based edit-compile environment. As a Mac (classic) guy, I appreciated the "text ui" with a mouse. File, Edit, etc pull down menus. Text windows. Dialog boxes, etc.

    I found Delphi very interesting. But never did much with it myself. I was looking for cross platform as the holy grail. 56% of our customer base was Mac, but with a growing MS Windows customer base. I eventually ended up in Java after trying many alternatives.

    TP7 stands out as one of my favorite experiences. Along with Macintosh Common Lisp, and before that Mac Perl Lisp, and XLisp from about 1986 to 1993. Six years of Lisp was a profound joy.

    --
    The lower I set my standards the more accomplishments I have.
    Starting Score:    1  point
    Moderation   +3  
       Interesting=2, Informative=1, Total=3
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5