On Wednesday, July 3rd, 2024 at 10:39 AM, Jon Forrest <nobozo(a)gmail.com> wrote:
On 7/3/24 8:35 AM, Marc Donner wrote:
There have been case study courses here and there
over the years. I
would argue that Lyons’s book of sources was the text for one. An old
crony, Ed Smith, used to teach a comparative programming languages
course back in the day. And I know someone at NYU taught a course where
people studied the source code of a variety of utilities.
In the late 70s or early 80s there was an OS class at UC Santa Barbara
taught by John Bruno that used the Lions books of V6 Unix sources and
commentary. He had to go through some kind of special efforts to
get the books.
Jon
I'm curious, if such a work was produced not from original specimens of the Bell
Laboratories Sixth Edition source code, but rather someone sitting with a PDP-11
disassembler and meticulously stepping over the code, would publishing a work based on the
latter analysis run afoul of the same legal circumstances as what John Lions published in
the 70s?
I do have a pointed reason to ask: one of my long term goals is to write a case-study-type
analysis of a Famicom/NES title, in other words, a John Lions-esque work based on one of
my disassemblies of such a title. The intention is to not only step through the
(disassembled, not original) source code of a real world game and explain in detail
precisely how it operates but also draw connections to other titles by the same
development team and the historical conditions of the game's production. I
haven't seen such a work focused on a video game, and it's something I always
wanted to sink my teeth into as a beginner, so my hope is I can use what I've learned
over the years to provide for others what I once wanted in the past.
Something complicating the matter is console video games aren't licensed quite like
operating systems or software utilities, it's typically an "All Rights
Reserved" sort of situation rather than a lengthy license expounding on user rights,
at least in my experience. Anywho, curious what folks think, whether disassembly of a
work a user does have license to (and of which the license makes no statement on reverse
engineering/disassembly) can then be used by fair use or some other claim in an
expository, non-commercial work.
- Matt G.
P.S. On the note of old UNIX reverse engineering ideas, is anyone aware of any early
(early 80s and back) attempts to produce something akin to a C decompiler, something that
could effectively analyze assembly produced by a C compiler and make a good guess as to
what C made it up based on calling conventions, stack frames, known optimization
techniques, etc?