Page:Sony Computer Entertainment, Inc. v. Connectix Corporation.pdf/5

 Method (1) is the least effective, because individual software manuals often misdescribe the real product. See id. It would be particularly ineffective in this case because Sony does not make such information available about its PlayStation. Methods (2), (3), and (4) require that the person seeking access load the target program on to a computer, an operation that necessarily involves copying the copyrighted program into the computer’s random access memory or RAM.

Method (2), observation of a program, can take several forms. The functional elements of some software programs, for example word processing programs, spreadsheets, and video game displays may be discernable by observation of the computer screen. See Sega, 977 F.2d at 1520. Of course, the reverse engineer in such a situation is not observing the object code itself, only the external visual expression of this code’s operation on the computer. Here, the software program is copied each time the engineer boots up the computer, and the computer copies the program into RAM.

Other forms of observation are more intrusive. Operations systems, system interface procedures, and other programs like the Sony BIOS are not visible to the user when they are operating. See id. One method of “observing” the operation of these programs is to run the program in an emulated environment. In the case of the Sony BIOS, this meant operating the BIOS on a computer with software that simulated the operation of the PlayStation hardware; operation of the program, in conjunction with another program known as a “debugger,” permitted the engineers to observe the signals sent between the BIOS and other programs on the computer. This latter method required copying the Sony BIOS from a chip in the PlayStation onto the computer. The Sony BIOS was copied again each time the engineers booted up their computer and the computer copied the program into RAM. All of this copying was intermediate; that is, none of the Sony copyrighted material was copied into, or appeared in, Connectix’s final product, the Virtual Game Station.

Methods (3) and (4) constitute “disassembly” of object code into source code. In each case, engineers use a program known as a “disassembler” to translate the ones and zeros of binary machine-readable object code into the words and mathematical symbols of source code. This translated source code is similar to the source code used originally to create the object code but lack the annotations drafted by the authors of the program that help explain the functioning of the source code. In a static examination of the computer instructions, method (3), the engineer disassembles the object code of all or part of the program. The program must generally be copied one or more times to perform disassembly. In a dynamic examination of the computer instructions, method (4), the engineer uses the disassembler program to disassemble parts of the program, one instruction at a time, while the program is running. This method also requires