back to article 1984's MacPaint source code hits web

Apple has donated the source code of the groundbreaking graphics app, MacPaint, to Silicon Valley's Computer History Museum, located in Mountain View, California. Accompanying MacPaint is the source code for its underlying graphics-display library, QuickDraw. You can download both from the Computer History Museum here — and …

COMMENTS

This topic is closed for new posts.
  1. ceebee
    Thumb Up

    oh ...wonderful world of MacPaint

    MacPaint has always been one of my favourite little applications and I still play with it when I run either my MacPlus or vMac emulator.

    It really is an important step in the history of software.

  2. KrisMac
    Thumb Up

    Not all change is for the better....

    ".... In those far-away days, "write tight" wasn't a mere catchphrase — it was a necessity ..."

    It's a pity that leter developers never have to practice writing to minimal memory models... perhaps some of the code bloat that modern PC and Mac memory capacities allow might be tempered by better coding practices.

    1. Jimmy Floyd
      Thumb Up

      Very definitely

      I was thinking the other day that coding for mobile phones these days requires a bit more thought than for full-size computers, and how healthy that is.

      My old Computer Science teacher (using Pascal, co-incidentally) used to put good coding practices at the heart of everything we learnt, and I confess that my skills had grown rusty through years of being lazy and getting away with it.

    2. AndrueC Silver badge
      Thumb Down

      Hold your horses

      Writing 'tight' code almost inevitably sacrifices code clarity. The result might perform well but it can be a nightmare to maintain/extend and a source of obscure bugs and security holes.

      1. Lee Chong Yew
        Pint

        To quote "Real Programmers Don't Use Pascal"

        It's called "Job security".

        Beer. Real Programmers use them to go into "thinking mode".

      2. Anonymous Coward
        Stop

        RE: Hold your horses

        ...depends how good the original coder is!

      3. Steen Hive
        Thumb Down

        @Hold your horses

        "Writing 'tight' code almost inevitably sacrifices code clarity."

        Nah. "non-tight" code is inevitably more complex than the converse. Verbosity is more complex than brevity in any language; spoken, written or compiled. Witness the multi-megabyte abortions needed in some implementations to get something as simple as a line of text onto the screen.

        Some of the simpler projects I have inherited over the years could seriously have been completed in a few K of assembler, but instead were unending buckets of duplicated functionality, obscure class names and hierarchies and reams - of basically - shit; and to top it all verbose code in any decent-sized project usually has some of the same obscure bugs that dog "tight code" - one just has 100x more code to look through to find them.

      4. Gaius
        FAIL

        Not true

        Ever heard of /* comments */?

        1. heyrick Silver badge
          Happy

          Comments...

          Or even { comments } in Pascal.

        2. AndrueC Silver badge

          Comments are a poor alternative.

          The problem with comments is that nothing enforces their accuracy so they can (and often do) end up out of date - even assuming they were accurate when they were written.

          I prefer to write self documenting code and that usually means breaking it down into lots of functions/methods, employing encapsulation and not trying to do too much at once. That doesn't mean that I write bloated code - it just means I avoid 'tricks' and 'cute' code and don't optimise where it isn't needed.

          Of course there are still some areas where tight code is needed (smart phones are one) but we're talking here about a desktop application. There's no need to employ 'tight' coding techniques for that these days. I'm not advocating bloat because I dislike that as well but there is an extensive middle ground between the two.

    3. Jonathan 6
      Stop

      Not true...

      Writing for smartphones like the original iPhone and 3G forces a lot of memory constraints on developers. Write tighter rather than write tight perhaps, but doing more with far less is suddenly the name of the game again.

    4. Fred Bernal
      Paris Hilton

      So true...

      Nowadays, computers are rendered to their knees by bloated, badly written (Microsoft / Adobe) applications.

      Perhaps programmers need a refresher's course on lean and efficient ("tight") coding methods.

      - Paris, 'cos tight she ain't.

  3. Adrian 10
    Thumb Up

    ahhh the memories...

    which leads me to think about how I old I must be now... I'll go get a coffee instead.

  4. Anonymous Coward
    Anonymous Coward

    Ahhh...

    Pascal... That's why the source code is actually readable!

    I really wouldn't want to be the person who starts looking at 20 year old C source!

    1. Anonymous Coward
      Anonymous Coward

      You obviously never read Lyons then...

      20 year old C code! Pah - Try 40 year old C code...as in the sterling examples in John Lyons source code tour of UNIX. Actually it's not nearly as painful as you might think. Probably because there was no room for cleverness in 4K and a single-threaded processor....

      1. Paul 77
        Linux

        Source Code Tour of UNIX??

        Is this a book or a Web Site... Just done a quick google, and I can see some bits about John Lions - slightly different spelling. But can't see anything about a "source code tour of UNIX"...

        Best Regards,

        Paul

        ~~~~

        1. Code Monkey

          Re: Source Code Tour of UNIX??

          It's a book: http://tinyurl.com/32jysja (Amazon)

          1. Paul 77
            Linux

            Source Code Tour of UNIX??

            Thanks very much :-)

    2. Charles Manning

      Don't blame the language

      Blame the surrounding culture.

      Pascal was designed for teaching and thus all the pascal material is focused on education, readability and other noble attributes.

      C is proud of its hairy-chested association with people who like to write y = **x++;

      It is however possible to write easy to read code in C, and I've seen plenty shite Pascal too.

    3. Geoff Campbell Silver badge
      Linux

      20 year old C code

      Nah, C is easy. I was working on an old conferencing program a few months back, it was very easy to follow and modify.

      GJC

  5. Anonymous Coward
    Anonymous Coward

    The good ole days.

    Reminds of PC Paintbrush by ZSoft which came out about a year later.

  6. John Tserkezis

    Links dead

    The Computer History Museum's download area appears to be dead at this time (website not found), would make an interesting read once the code eventually becomes available though.

  7. gratou
    Thumb Up

    copyright

    this article should be compulsory reading for any software copyright advocate.

  8. AceRimmer1980
    Thumb Up

    Someone please

    Port it to Delphi

    1. Marco van de Voort

      Delphi/ FPC

      The Delphi compatible, Free Pascal, actually has a mac-pascal dialect.

      And better, at one point it supported both m68k (1.0.x series) and classic MacOS (2.0 series, for PPC), though unfortunately not at the same time.

    2. Danington the Third
      Thumb Up

      lol

      hell, you could probably port it to your watch these days

  9. Anonymous Coward
    Happy

    cool

    Best paint app ever created.

    1. Anonymous Coward
      WTF?

      @Cool...

      ...no it's not.

      Best for time, yes, best ever, don't be silly.

  10. Bad Beaver
    Thumb Up

    Love it

    I remember how I first used MacPaint and how impressive an experience it was.

  11. Herby

    More "donations"?

    We can only hope. Apple DOES have original software. I seriously doubt that anything from Redmond is worth donating (or unique).

    If another donation would refute this, please go ahead. In my dreams!

    1. mccp
      FAIL

      Word

      When MS ported Word to the Mac (83? 84?) people were able to see what WYSIWYG word processing could be like and Word took off.

      Arguably, Word is what made MS the power it is today - after all, businesses buy computers for the applications, not primarily for the hardware architecture or operating system.

      I'd say that the source for early versions of Word deserves a place in the history of computing. no matter what your prejudices are.

      1. heyrick Silver badge

        Of course Word revolutionised things

        Who remembers WordPerfect 5.1? The awesomeness of orange text. Remind me... was orange bold or was it italic?

        1. TeeCee Gold badge
          Unhappy

          Re: text colours.

          You were spoiled.

          When I used WordPerfect the colour of the text depended on what colour the bloody monitor was. Orange to me meant: "I am using the Toshiba portable* with the gas-plasma screen".

          *If you were a weightlifter. I attribute my lack of fitness these days to advances in technology.

          1. heyrick Silver badge

            @ TeeCee

            Oh God, I remember this Amstrad (IIRC) thing with a flip-up non-backlit LCD monitor (low-res and monochrome). A whole 640K of memory, plus twin floppy drives, and the slowest modem ever put on the face of this planet. That thing was my portal to the world of BBSing for ages. Just never on the road as it totally sucked for computing on the go. Taking like a dozen C cells, it would run for about 75 minutes. Given it was, V30 processor inside, it is so different to the Psion 3a that would arrive four years later, featuring a V30H and more memory plus larger, faster, SSDs and running for 20-40 hours on two AAs.

            Ah, found some info on it: http://www.old-computers.com/museum/computer.asp?c=195 and Psion 3 range at http://www.old-computers.com/museum/computer.asp?st=1&c=1207

            I have fond memories of the thing, even though it was pretty crap. A DOS boot disc in A: and TurboC in B: and I was good to go! :-)

  12. rahul
    Go

    This is where to send...

    ... those who believe that ElReg is rabidly against Apple. There is a lot right with Apple; but that doesn't mean that the wrong should be overlooked (or even glossed over).

    ElReg for balance.

    1. Chris 3
      Thumb Up

      No no.

      El Reg isn't rabidly anti any OS. It reserves that for DAB and Wikipedia. Oh, and Second Life

    2. Anonymous Coward
      Stop

      RE: This is where to send...

      It's not El Reg, it's the uninformed commentards!

  13. Anonymous Coward
    Happy

    Dpaint

    Of course, Deluxe Paint that came out for the Amiga a year later completely trounced MacPaint. Colour support and after a few years animation too. Many happy hours on my Amiga 500 drawing with that!

    1. ThomH

      And Photoshop!

      ... was doing 16bit per channel and layers before DP managed to get past indexed colour. But my understanding of the history of technology is that neither "this pioneering tool was worse than tools that came later" nor "they shouldn't be given credit for invention because everyone else quickly stole their ideas" are especially useful things to say.

      1. Anonymous Coward
        Anonymous Coward

        Umm

        I wasn't saying that, MacPaint was cool. Just that one year later, Dpaint was better :) By 1989 things had moved on again with the likes of Photoshop, not that was much use on a black and white Mac.

    2. I am the Walrus

      Agggh you bet me to it.

      I was just about to mention DPaint. I loved messing about with that as well. Between that Brilliance, ImageFX and ADPro (PhotoPaint was never as good as Photoshop by the end) Image manipulation was so much fun.

      Sorry to divert away from MacPaint but I'd never used a mac until about 2001.

  14. AndrueC Silver badge
    Boffin

    Meh

    Only half a meg?

    There was a similar application written for GEM running on the Amstrad CPC and that only had 128kB of RAM - including the video memory.

    1. Black Betty
      Unhappy

      read again. 0.05 = 1/20 meg. (50k)

      And the same 128k of memory as the Amstrad. Which cut its own throat with a "unique" disk format.

      Now fun was squeezing an entire snake game into 2 lines of Apple Basic.

    2. b b
      Boffin

      @Meh

      .05 megabytes != .5 megabytes.

      You're an order of magnitude out!

    3. Anonymous Coward
      FAIL

      Er...

      The CPC never ran GEM. However the 6128 did come bundled with CPM Plus.

      You might be thinking of the OCP Art Studio which was a full GUI based art package for the CPC, Sinclair Spectrum and Commodore 64.

      http://genesis8.free.fr/amstrad/game-rom/amstrad-game.php?prog_id=5818

      Was very advanced for its time and included a windowed GUI, mouse support, and a range of cut and paste options. Some clever buggers have even hacked it to support the full 4096 colours available on the CPC Plus machines.

  15. This post has been deleted by its author

  16. Bassey

    Too Young

    Although I remember it launching (the Mac, that is) I was too young to realise that the Paint app was revolutionary. I was only 9 so I just assumed all computers came with packages like that. However, the screen-shot reminds me of all the bizarre fill-textures and, in particular, reminds me of Risk for the Mac (the board game). Each player was assigned one of those "textures" (black and white, of course). Most of them were damn near identical so it was often hard to tell one from t'other but my friends and I would while away many a wet afternoon screaming in frustration at the apparent random nature of the Risk battles.

    Memories....

  17. g e

    AMX Art, anyone?

    Advanced memory Systems must have copied macpaint really fast as they brought out the AMX Mouse for the BBC micro in 1984 (the [c] date on the mouse manual) and that had AMX Art with it, complete with marching ants, etc.

    And that was only 32k of RAM to mess with...

    1. ThomH

      I'm not sure the copyright date is accurate

      Per some quick Googling, it wasn't reviewed by Acorn User until April 1985 (when they explicitly referred to it as being Macintosh-like) and other sites like computinghistory.org.uk list it as a 1985 release. Is it possible they got the hardware done having seen or read about the 1983 Lisa or any of the other mice that predated, then had a quick rejig of the software post-Mac?

    2. Victor Ludorum
      Coat

      Re: AMX Art, anyone?

      Less than 32k, I think you'll find, because the Beeb used main RAM for graphics (Mode 4, from memory, which used 10k), and there was about 4k of RAM used by the OS. So that left about 18k for the program. Oh, plus the 16k ROM that you had to plug in...

      So that's, er, 34k then.

      Mine's the one with the BBC Advanced Programming Manual...

      V.

  18. DZ-Jay

    Ah! MacPaint, how I loved thee

    The father of one of my neighbors, and best friend of my youth, Dennis, worked as a sales manager for Xerox and always seemed to stay on top of the highest technology. I remember when one fine day Dennis' father came home with the most spectacular and beautiful thing I'd ever seen until then: A Macintosh computer.

    Our only experience with computers so far was our very own Commodore 64's, and our various friends' assortment of Apple II's, TRS-80's, and even Dennis' dad's previous IBM Personal Computer.

    I remember how I spent hours on that Macintosh, most of the time just staring at it. I did school reports, comic strips, and even an attempt at a nifty looking newsletter.

    Of all the things I may have done, I specifically remember MacPaint; how easy, beautiful and fun it was. In retrospect, Dennis' parents must have been very tolerant, for I distinctly remember spending hours without end, even staying late most nights, just playing with that little machine; while Dennis himself was just watching TV, playing with his other toys, or maybe even out of the house!

    The one thing that has remained in my mind thereafter, and is as clear today as it was then, was the unyielding and overwhelming feeling that THIS--that seemingly simple and unassuming appliance, with its graphical user interface, strange rodent controller, and beautiful form and function--was, indeed, THE FUTURE.

    Gosh, what fond memories. Thanks, El Reg, for bringing them back.

    -dZ.

  19. Paul Hayes 1

    OCP Art Studio

    I remember that one! Had the Spectrum version, it used to take forever and a day to load (two tapes worth!). Was much better when I copied it onto microdrive. Probably the first time I ever used a mouse.

  20. Anonymous Coward
    Grenade

    Deluxe Paint

    I think Deluxe Paint would be alot better...

    EA, please release the Deluxe Paint source (for the Amiga version, not the PC version).

  21. Sam Therapy
    Thumb Up

    Great app.

    I loved Mac Paint and then later on the Amiga, Deluxe Paint.

    I'll have to fire up the Amiga emulator and get Deluxe Paint running again.

  22. jai
    Jobs Halo

    nostalgia....

    i was 9 when my dad brought home his FatMac from the office and set it up on the dinning room table. it was awesome, and i spent hours mucking about in MacPaint editing images at pixel level.

  23. johnsibly

    OSX lacking features that the original Mac had

    It's funny that now that OSX doesn't even include a paint program for basic editing!

  24. disgruntled yank

    Hamm's Beer!

    Wow, hadn't thought of that one in a while, perhaps not quaffed it in 30+ years.

    i guess that Jasper Johns's sculpture of Ballantine XXX Ale cans has company in the hall of American art inspired by beers.

  25. heyrick Silver badge

    Reminds me of TimPaint

    (on one or other of the Master series Welcome discs)

  26. This post has been deleted by its author

This topic is closed for new posts.

Other stories you might like