[Index][Class hierarchy] (#Monochrome)

Reference for package 'Monochrome'

Units

program_blind_watchmaker

  

Monochrome Blind Watchmaker by Richard Dawkins v1.1 Sept 1993

unit_album

  

unit_biomorphs

  

unit_engineering

  

unit_error

  

unit_globals

  

Global constants, types, and variables

unit_initialize

  

unit_miscellaneous

  

unit_pedigree

  

unit_standard_get_folder

  

unit_triangle

  

unit_user_interface

  

Description

This is the API documentation for the Second Edition of Richard Dawkins' Blind Watchmaker program (Monochrome Biomorphs).

The Second Edition makes the minimal changes required to compile Watchmaker under both the original Think Pascal 4.0 used by Dawkins, as well as the newer FreePascal compiler. Compilation under Free Pascal requires the inclusion of a no-op implementation of the the Mac System 7.1 Pascal Interfaces, as well as a unit called "think_pascal", which includes definitions hidden by units that are part of the standard Free Pascal library (Errors), and features of the Think Pascal language (MemAvail) not available in the Free Pascal dialect.

Compilation units have been renamed to prevent namespace collision, as Free Pascal does not allow the use of identifiers with the same name as compilation units. The compilation unit names, and their old names, are as follows. The earliest date is Tuesday, September 28, 1993 19:07, and the latest is Monday, December 12, 1994 06:06, indicating that the bulk of the development of Dawkins' final version took place from late September 1993 to mid-December 1994, a period of approximately 14 months.

Note that file modification dates from 2015 and later represent modifications to the original source files necessary in order to make them compile against Think Pascal 4.0 once the Watchmaker Resucitation Project was underway.

Renamed Blind Watchmaker Compilation Units (Monochrome)
New Unit Name Old Unit Name Old Unit File Name Date
program_blind_watchmaker (program) Blind_Watchmaker Blind_Watchmaker.p Tuesday, January 13, 2015 20:06
unit_album Album Album Sunday, December 11, 1994 09:57
unit_biomorphs Biomorphs Biomorphs Monday, December 12, 1994 06:06
unit_engineering Engineering Engineering Wednesday, January 19, 1994 13:55
unit_error ErrorUnit ErrorUnit.p Tuesday, September 28, 1993 19:07
unit_globals Globals Globals Monday, December 12, 1994 05:40
unit_initialize Initialize Initialize Monday, December 12, 1994 05:37
unit_miscellaneous Miscellaneous Miscellaneous Friday, December 31, 1993 06:15
unit_pedigree Pedigree Pedigree Friday, December 31, 1993 06:30
unit_standard_get_folder StandardGetFolder StandardGetFolder.p Thursday, October 22, 2015 04:37
unit_triangle Triangle Triangle Friday, December 24, 1993 16:12
unit_user_interface User_Interface User Interface Sunday, December 11, 1994 21:33

The following original source files, present in Dawkins' distribution, are not used in the latest original sources, and they have been omitted from this documentation:

Unit Name File Name Date Notes
fossils Fossils October 17, 1990 13:03 Supplanted by Album (unit_album in the 2nd Edition)
Blind_Watchmaker (program) Main Tuesday, January 18, 1994 14:53 Supplanted by Blind_Watchmaker (program_blind_watchmaker in the 2nd Edition)

Compiling against ThinkPascal 4.0

In order to compile these sources under SheepShaver emulation, it's necessary to change the file attributes to conform with those expected by Think Pascal 4.0. The Type must be changed to TEXT, and the Creator must be changed to PJMM. To facilitate this, an application called FileTyper 5.3.1 (http://dazuma.freeshell.org/filetyper) is used: an AutoTyper is created that will change the attributes of an entire folder at once. The AutoTyper filters on the "*.pas" file name.

The original Think Pascal 4.0 project files specifies Stack size: 32 kilobytes and Zone size: 512 kilobytes. The resource file is BW.rsrc. The project type is APPL with a creator of DAWK, bundle bit set. 'USES' Extensions is checked. Compiler variables are:

THINK_PASCAL=TRUE;
Elems881=TRUE;
THINK_Pascal_Version_4=TRUE.

Saved Animals

Richard Dawkins' archive of the Blind Watchmaker (Monochrome) program included these files, which represent saved animals, sometimes organized into "Albums" of several biomorphs. The file modification dates range from Thursday, July 26, 1990 05:56, to Sunday, December 11, 1994 09:57, indicating that Dawkins had implemented the "Save Biomorph" feature as early as the summer of 1990, and that he was still saving biomorphs to disk in late 1994. By contrast, the latest date of code development in the Dawkins archive is October 17, 1990 13:03 (for the supplanted Fossils unit). Together these data indicate that Dawkins achieved the saving of Monochrome Biomorphs to disk no later than July, 1990.

File name Album or Single Biomorph? Date
Alphabet zoo album Sunday, December 11, 1994 09:57
Chinese character single Monday, September 26, 1994 09:28
Exhibition zoo album Thursday, July 26, 1990 05:56
Hankerchief with bows single Friday, December 9, 1994 09:32
Stunted single Friday, December 9, 1994 05:39