Paczka z kodem źródłowym, którą można pobrać z adresu w poprzednich postach, zawiera kompletny zestaw narzędzi wymaganych do skompilowania programu Word. Przynajmniej tak twierdzą autorzy releasu.
Do paczki dołączono krótki plik readme, w którym możemy przeczytać o przeznaczeniu poszczególnych folderów.
- Opus – zawiera kompletny kod źródłowy programu Microsoft Word 1.1a, bez zapisanej historii zmian (wtedy systemy kontroli wersji, takie jak SVN czy GIT nie istniały). Jest to kod źródłowy z 10 stycznia 1991 roku.
- OpusProg – folder zawiera pliki readme oraz dokumentację techniczną. W zamierzeniu miała to być dokumentacja dla klientów, jednak nie wygląda na taką. Prawdopodobnie jest niekompletna i wymaga przeredagowania. Folder ten jest podzielony na kilkanaście podfolderów. Składa się on z ponad 400 plików źródłowych, podzielonych według kategorii takich jak:
- procedury napisane w asemblerze 8086 (folder asm)
- funkcje pomocnicze na potrzeby debugowania programu (debug)
- projekty okien dialogowych (dlg)
- interpreter języka skryptowego (opartego na Basic), folder “interp”
- folder “tools” zawierający skompilowane pliki wykonywalne potrzebne do deploymentu aplikacji Word.
Folder z plikami źródłowymi opiszę szczegółowo w kolejnych częściach. Natomiast już obecnie mogę stwierdzić, że katalog “tools” jest szczególnie istotny, ponieważ w oparciu o jego zawartość można dokonać kompilacji całej aplikacji Word.
- OpusEtAl – zawiera różne aplikacje wspierające proces tworzenia programu Word. Można w nim również znaleźć dokumentację techniczną (dla programistów – autorów programu). Można tutaj znaleźć szczególnie dużo „mięsa” dla programistów 16 bitowego asemblera, jak również wyniki różnych, ciekawych badań.
W kolejnych wpisach tej serii będę już zakładał, że czytelnik zaopatrzył się we własną kopię kodu źródłowego. Na pewno będę zamieszczał krótkie snippety kodu źródłowego lub małe zrzuty ekranu dla osób, których nie interesuje aż tak głębokie wejście w temat Word 1.1, lub po prostu są zbyt leniwi, aby pobierać źródła.