5 ms·
Downloaded the code and I'm not really sure what I'm looking at. What language is this, and how would someone build/load it?
by NegativeLatency 4y ago
Downloaded the code and I'm not really sure what I'm looking at. What language is this, and how would someone build/load it?
- octetta 4y agoThe files I've looked at are Pascal (the article talks about Apple's object-oriented varient). I suspect there's 68000 assembly language there too, but I'm just getting started.
- GrumpyNl 4y agoUnder the OS section, there are some files with assembler in it.
- LastTrain 4y agoI see assembly and pascal files. According to this[0] article, the development was done on Apple II's and Mac development was done on Lisa! [0] https://macgui.com/news/article.php?t=518 https://macgui.com/news/article.php?t=518
- snewman 4y agoI can confirm this regarding Mac development. I was part of the team that built FullPaint (https://en.wikipedia.org/wiki/FullPaint https://en.wikipedia.org/wiki/FullPaint) back in 1985. We had just a few Lisas to work with, and they were considered sacred. Testing code required copying it onto a floppy disk and popping it into a Mac. We probably would have been a lot more productive if any of us had ever heard the words "unit test". (We were a young team, everyone in their early 20s or even late teens.)
- jchw 4y agoOh, how I wish I could've been involved in the halcyon days of the computer industry. I'm sure it's all rosey looking from the perspective of someone who wasn't there, but the scrappy young development teams, humble small organizations, mail-order software, and general naive optimism of the preceding era seems like it was so much fun. Probably very challenging, and I'm sure frustrating, but I can only imagine the satisfaction of having worked on the Macintosh and breaking so much new ground. I was born in time to experience the internet when it was a lot more fun and experimental, which I definitely am grateful for. I hope there are more "moments" like this in the future, though I can't help but feel they're mostly over when it comes to computers and technology. Things just can't stay scrappy and experimental forever.
- Fr0styMatt88 4y agoIf you haven't read Masters of Doom before, I highly recommend it! Your comment reminded me of it.
- diskzero 4y agoIt was pretty rosey for me, even with all the challenges, emotions and anxiety. I have experienced similar challenges, emotions and anxiety in jobs that were much less satisfying. I think the moments are out there still; you just have to seek them out. I wouldn't say working on Apple ][, Lisa, early Mac or other early PC efforts were as obvious and groundbreaking as they seem now. I think about a lot of parallel efforts going on at the time that I wish I could go back in a time machine to work on: Symbolics Workstations, early Wavefront/Alias software, Self, Smalltalk, Dylan and other languages that didn't become mainstream. There is so much out there that isn't over in computers and technology. It might be helpful to think about things that seem impossible, crazy and totally economically unviable. Sometimes we can let finding markets, solving scaleable problems and generating 10x returns for our investors cloud our vision.
- diskzero 4y agoHow did you all at Ann Arbor (I assume) get into Mac development? Did you have Lisa versions of software and decided to move to Mac? Did Mike Boich or Guy Kawasaki convince you to start developing? I am always interested at what makes someone decided to pour resources into a new platform. I have done it more than once myself and it is usually very high risk.
- snewman 4y agoI don't think we ever developed any software targeted at the Lisa (or if we did, it was in the brief period before I joined). We were always developing for the Mac, initially cross-compiling from Lisa. We did move to Mac-based development after not too long. I have zero memory of why/how that happened, but I'm sure it was clear even at the time that the Mac was the more sustainable long-term platform (also the Lisas were insanely expensive). Still, for a while there it was a real stretch to squeeze a reasonable dev environment into Mac hardware. I remember – and this feels insane as I'm typing it, but it happened – at some point we actually paid someone to fab an add-on circuit board that we somehow glommed into our Macs (these were probably 512KB or 1MB models, I can't remember) that doubled the RAM size. The additional RAM couldn't be used for normal applications, it somehow manifested as a RAM drive. We had one RAM drive in the add-on memory, a second RAM drive partitioned from the standard motherboard memory, and the rest of the standard memory was used to run dev tools and/or the application under test. Putting all of the source code into a RAM drive was necessary to make the development experience tolerable (I can't remember whether the concern was source code navigation, build times, or both... EDIT now that I think about it, it might have been the object code rather than the source code that needed to be on the RAM drive; or perhaps both). Different times...
- butlerm 4y agoIn the mid-late 1980s we compiled and tested Amiga software on the Amiga entirely from RAM drives using rather expensive 2 MB RAM add ons, and then stored the updated source code on 3.5" floppy disks that had to be rotated out regularly because they regularly went bad. Only towards the end of the 1980s were hard drives inexpensive enough to become commonplace. My first 65 MB drive cost $949 (ca 1989), and that is why we were using floppies and RAM drives instead. The RAM drives did survive reboots and crashes most of the time, which helped quite a bit as you may imagine.
- cmrdporcupine 4y agoFun story, development of Digital Research's CP/M68k and GEMDOS/GEM GUI on the 68k was also done on the Apple Lisa (and I think some VME 68k boxes from Motorola?). So, a competitor to the Mac (albeit not a successful one) developed on the Lisa, too. And in fact, fun people have gotten GEM/GEMDOS to boot and run again on Lisa emulators and real Lisas. Computer archeology.
- pjmlp 4y agoClascal, the predecessor from Object Pascal, used on Mac OS. Apple was also a precursor in using safer systems languages for OS development. Even when MPW later replaced Object Pascal, the major frameworks were based in C++, not C.
- ajross 4y agoMost of the Mac OS ROM was still in assembly (there was a story on the front page last week detailing a time bug owing to a misfeature of the 68k DIVU instruction, even). It wasn't about "safety", just productivity. And C wasn't chosen because Apple had made an organizational bet on Pascal years earlier with the Apple II. C in the early 80's was still a niche "new vogue" kind of thing from academia[1]. Apple's roots were older, they didn't get the Unix bug until decades later. [1] c.f. Sun Microsystems, founded by Stanford and Berkeley geeks, launching its very different 68k products concurrently.
- pjmlp 4y agoEvery OS has plenty of Assembly on them, even those written in C. They never got the UNIX bug really, even with the reverse acquisition from NeXT, or the way A/UX was implemented, Steve Jobs opinion on traditional UNIXes is well known in the Apple community as there some infos on his USENIX session, and NeXTSTEP brainstorming sessions.
- pram 4y agoIs that USENIX keynote available somewhere? I see the references but not the actual dialogue anywhere.
- pjmlp 4y agoBack in those days conferences weren't filmed. https://www.usenix.org/blog/vault-steve-jobs-keynotes-1987-usenix-atc https://www.usenix.org/blog/vault-steve-jobs-keynotes-1987-u... Here are some references, Chris MacAskill did a full overview of what he had to do to convince Job, it was even commented here, https://news.ycombinator.com/item?id=17420674 https://news.ycombinator.com/item?id=17420674 Now gone from the Internet, https://allaboutstevejobs.com/blog/2018-07-11-chris-macaskill-shares-memories-from-unix-expo/ https://allaboutstevejobs.com/blog/2018-07-11-chris-macaskil... However it is saved on the Wayback machine, https://web.archive.org/web/20180628214613/https://www.cake.co/conversations/rZXhqtP/that-time-i-had-steve-jobs-keynote-at-unix-expo https://web.archive.org/web/20180628214613/https://www.cake.... => "They said a Unix weenie was code for software engineers who hated what we were doing to Unix (the operating system we licensed)—putting a graphical user interface on it to dumb it down for grandmothers. They heckled Steve about his efforts to destroy it. His nightmare would be to speak to a crowd of them." There is also the interview with UNIX Today! https://www.tech-insider.org/unix/research/1991/11.html https://www.tech-insider.org/unix/research/1991/11.html => "You know, take SGI's new machines-they have 8-bit color frame buffers in them, you can't even put up a bunch of beautiful color photographs without having one of them look good. The rest of them look blah because you can't do it in 8 bits. You know what I'm talking about. So most computers haven't even gotten past the stage where you could put up a bunch of color photographs, much less other types of media, or moving, dynamic media. And I think that that's an advantage that we'll continue to keep. " => "We're bringing Unix to the commercial market where what they care about is designing, creating and deploying mission-critical custom apps alongside those in a multitasking environment. They want to be able to use a suite of productivity apps that are compatible in the data formats with all the ones they use in the PCs. And that's where we have an offering that Motif has nothing to compete with and Sun has very little to compete with. But if you take us into the traditional scientific and engineering marketplace, we are a pretty powerful and very cost-effective Unix box. And to address X, we do run X on our product very well. There are two: one X product, soon to be two, that you can buy from third parties that run X-Window right alongside their Next Step windows, and they're quite good. So we don't have anything against X for what it was designed for, but X has not made the crossover into the commercial marketplace. " Plenty of other similar remarks on the interview. And some interesting NeXT footage, https://www.youtube.com/watch?v=KRBIH0CA7ZU https://www.youtube.com/watch?v=KRBIH0CA7ZU
- JKCalhoun 4y agoI understand the app source code is in there too - it would be nice to know what the directory names refer to — which directory corresponds to which app, etc.
- musicale 4y ago> What language is this, and how would someone build/load it? In a Lisa emulator running Lisa Workshop, Apple's UCSD Pascal/Clascal-based development system for the Lisa. Technically you could potentially port Pascal and/or Object Pascal code to another platform like Delphi, but any low-level or hardware specific code would have to be rewritten. Fortunately the binary images are available on the internet and you can run them in a Lisa emulator.
- dreamcompiler 4y agoIt's Pascal but not UCSD. UCSD compiles to a virtual machine called p-code. Lisa's Pascal compiled down to the metal. (I used to use a Lisa to write Mac programs. In the early days Macs didn't have enough RAM to run the Pascal compiler.)
- timbit42 4y agoThis is a bit of a tangent, but I've heard the Mac System was written in Pascal with bits of assembly for speed and I've also heard it was written in assembly with a Pascal API. An Ars Technica article today mentioned some Lisa code was taken and modified to work on the Mac during its development. Was this code Pascal?
- cmrdporcupine 4y agoBill Atkinson's QuickDraw is one example of that. The original was written for the Lisa in Pascal, and then brought over to the Mac project. And I believe portions rewritten in assembler for compactness/speed. The Mac version of QuickDraw is here: https://computerhistory.org/blog/macpaint-and-quickdraw-source-code/ https://computerhistory.org/blog/macpaint-and-quickdraw-sour... Now that both are "open", it would be interesting to compare the two and see how they differ.
- pjmlp 4y agoAs everything in computing, it depends. Yes the original UCSD Pascal only did P-Code, however a few implementations supported AOT as well like the Constellation OS from Corvus Systems. https://en.wikipedia.org/wiki/Corvus_Systems https://en.wikipedia.org/wiki/Corvus_Systems