Sunday, May 19, 2019

What I learned this week - National Geographic CD ROM set

National Geographic issued a CD ROM set in the late 1990s. It was an impressive collection, a box set of 30 discs with all of the National Geographic magazines issued to date.

The magazines offer a glimpse of the past, from the late 1800s to the late 1990s. The software is also a slice of the past, with special options to install internet link software.

It ran on Windows 3.1 and Windows 95, and also on Macintosh systems. For those operating systems, it is clearly 16-bit software.

Windows 10 does not support 16-bit software. Windows has not supported 16-bit software for quite some time.

But that doesn't mean that this CD collection is unusable. Only the software that comes with the CD set is unusable. (I have no desire to install Windows 95 and use the old software.) The data on the CDs is still usable.

Examining the CDs shows that each CD includes a copy of the SETUP.EXE program (which we'll ignore) and a nunch of DLLs (which we'll also ignore) and a few directories. One of those directories is named 'images' and it contains usable data.

Each disk has a directory named 'images'. In those directories is a collection of oddly-named directories. The names are all three-digit numbers and a single letter, starting with '188a' and working upwards. Each disk has a different set of directory names.

Those oddly named subdirectories contain .JPG files. Each file is a scan of a single page of an issue of the National Geographic magazine. Thus, we have the images of the pages, and we can still display them. (The .JPG format has remained constant, or at least compatible, over time.)

Examination of the directories show that each directory contains a single issue of a magazine. Thus the odd name for the directory is really a year and a month, encoded as a three-digit number and a single letter. The first year, 1880, is encoded as 188; the first month, January, encoded as 'a'. The directory 188a is for January 1880.

The pattern is easy to decode. The directory 189a is January of 1881, and so on. Not every year and month combination exists -- the National Geographic Society did not publish monthly at the beginning.

So now the task becomes a simple matter of programming. Can we write a program to ask for a year and month (or better, present a list of year-month combinations and let the user select one), then display a window and let a user scroll through a series of JPG images? That seems quite possible.

Notice that we are not using the old 16-bit software from the CD ROMs, just the data. We're not reverse-engineering the code, or cracking encrypted data. We are simple reading data files.

I'm looking forward to this project.