67

TL;DR: As explained on Steven Weyhrich's great and authoritative Apple II History Site, Wozniak simply sat down and wrote his Integer-BASIC (*1) on paper, while assembling it at the same time by hand. In his own words: I had no assembler, that was another thing. To use an assembler, they figured that somebody was going to buy this processor to use for a ...


38

One thing is certain: Steve Wozniak was very good at hand assembling 6502. Instead of writing assembler mnemonics he could simply type in the necessary hex code. I realize this isn't a proper answer but this anecdote is simply too good to relegate to a comment. It comes from Bill Atkinson remarking on Steve doing some assembler work: The other thing that ...


19

I have to disagree, to some extent, with the framing of your question. While it is correct that limited RAM in early micros made it a valuable resource to conserve, it is not the case that shared code libraries weren't used to accomplish this. Shared code libraries were very prevalent in the early micros, and were generally embedded as ROM firmware, as a ...


13

Woz was exceptional, but not the only one with this (moderate level of ?) skill in machine language. Lots of teens/kids learned to poke (from Basic) absolute hex machine code into memory on several models of personal computers (not just the Apple I/II). I knew some who could speak out-loud a small subroutine in hex for the 6502, no assembly language or ...


8

I can give you an anecotal answer. I did this a few times. I suspect that porting in this direction would have been unusual. We only did it where the customer insisted on the use of Vax hardware. The company I worked for for many years specialised in real-time process control and communications handlers. We made our own range of controllers, based on the ...


7

You might be thinking of Resorcerer (apparently still available for purchase), which was like a beefed up version of ResEdit and included CODE disassembly functionality. Macintosh Garden has some screenshots of the older version. Apple also had a CODE editor for ResEdit which was sometimes distributed as "Super ResEdit"


7

I had a previous employment at a company doing software synthesizers in C++ on Mac OS 9. We were using Microsoft Visual SourceSafe for Mac OS, of all things, for SCM. (Not sure there was a SourceSafe server for Mac OS, I think ours was running off a Windows NT machine.)


6

On the BESM-6 (a 1960s Soviet mainframe) the most widespread programming environment was dynamically linking by default. Directly loaded application executables were not typically pre-built; the "executing loader" would link the program in memory and jump to it. Overlays were dynamic as well. For example (the compiler output is edited for brevity; ...


5

During the late 1990s, I was the Mac port maintainer for a multi-platform open source project. I edited and compiled the code using CodeWarrior, then used a standalone Classic application called MacCVS to upload to our project's CVS server (on someone's work Unix system). Its icon was an orange fish. According to the link, the program works with any Mac ...


5

The only thing CurrentDir() does is change the lock in your process structure that is used as the process' current directory, and return the old value. So, it is the return value of Lock() applied to the directory you want to use that needs to be checked. If this is a valid/successful lock pointer, then you can be assured that it will become your current ...


5

The MPW toolchain for Classic Mac OS which was available for free at ftp.apple.com comes with the DeRez tool that can decompile resource forks: http://mirror.informatimago.com/next/developer.apple.com/tools/mpw-tools/commandref/derez.html The internet archive has a backup of the ftp site for historical purposes, but I can't confirm the url as archive.org is ...


4

The question seems to cover multiple areas at once, including Dynamic linking at load time by the OS Runtime linking controlled by the application Shared libraries, in form of system-wide (or per-user) libraries and Shared code, either as preloaded by OS or Shared code loaded by application when needed, but only loaded once In any case, all of that was ...


4

The Myst stacks include 3 XFCNs (eXternal FunCtioNs) and 19 XCMDs (eXternal ComManDs). Of these: Three -- variant, Picture, and Movie -- were included with HyperCard and have a Claris copyright. Picture was probably written in Pascal, variant was probably written in C. Some of the features of the Movie XCMD were based on Cyan's feedback. One -- moveCursor --...


4

There's actually two layers of activity going on here. First, for each scanline the machine can choose both which row of pixels to scan out, and where on the row to begin. This is the basis for drawing the scenery backdrop and the track. I believe the SNES has specific facilities for doing this which are much more convenient than on the 6845-family CRTC or ...


3

The Sendmail address rewriting language used at the time when an e-mail address could include a mix of various routing notations, with its meta-variables, recursively called rulesets, and magic brackets < and > to denote the part of the string under consideration does resemble Refal somewhat.


2

Without virtual memory, you basically must have all library code loaded into physical memory at once to use dynamic linking. Systems using processors that supported virtual memory were uncommon before about the mid 1980s. But even if you had virtual memory, it was still problematic. Imagine working on MIT's Multics in 1972. You need to call the sine function....


2

One thing not yet mentioned in the other answers is how much more we made and used printouts (for those of us lucky enough to have a printer). Viewing code on an 80×25 or, worse yet, 40×24 screen makes it difficult to get a higher-level sense of the program, quickly check other bits of code, and so on, and that many microcomputer editors of the day were ...


1

With single-user (non-multi-tasking systems) systems, an application could use any memory that hadn't been allocated before it launched, and any such memory that an application didn't use would generally sit idle. While it was possible for applications to open a DOS shell, which could use any memory the applications didn't, it wouldn't be terribly common to ...


1

According to https://ericsink.com/Browser_Wars.html it seems the answer is The original Internet Explorer team was just five or six people. By the time Silverberg and others decided to rewrite the browser almost completely for version 3.0, released in 1996, the team had grown to 100. By 1999, it was more than 1,000.


1

You can look at early Mozilla releases which targeted classic MacOS. The code contained various CVS directories.


Only top voted, non community-wiki answers of a minimum length are eligible