Script Writing

A few of you may remember a couple years ago reading in a Vice article about Eric Roth and his use of an old DOS only software program for writing all his Hollywood scripts. The Vice article was based on some earlier reporting in 2014 about his writing process. You can watch the full interview of Eric Roth on YouTube.

I remember seeing a link to the Vice article a couple years ago and finding the screenwriters use of an old DOS program, Movie Master, funny and interesting. He says in his interview that out of half superstition and half fear of change he prefers to use this very old software to write his screenplays. It’s so old and obsolete, he can’t even email the files to Hollywood. He has to print them out and have the studio scan them into modern software for use. The interview shows the screen of his old Windows computer and you can see the software he is using.

Of course because I love researching obsolete software and formats so much, I wanted to know if the scripts generated by “Movie Master”, version 3.09, are in a format that needed to be documented. I was a little surprised that this version of Movie Master was no where to be found. It was on none of the old abandoned software sites. Not on Internet Archive, no where it seemed. I did find a later version of Movie Master, version 5, but found this software was not the same thing.

The original programmer of Movie Master was Adam Greissman, which you can clearly see in the screenshot above. The software was copyright Comprehensive Video Supply in the 1980’s, but the Movie Master version 5 was developed by Ballistic Software, Inc, which was also known as “Comprehensive Cinema Software” or “Hollywood Cinema Software” later in the 1990’s.

According to a very in depth article by Daniel Plagens, Reinventing the Typewriter, mentions Adam Greissman not wanting to move the software from DOS to Windows as he didn’t feel there was enough of a market at the time. As it turns out the founder of Comprehensive Video Supply, Jules Leni, got a lot of pressure from users of Movie Master after Greissman, who left the company in 1991, to develop a Windows and Macintosh version of the software. They released this new version in October of 1996.

Let’s take a look at a couple of example files from version 5.

hexdump -C Scene.scr | head
00000000 11 0d 0a 32 2e 20 20 20 20 15 0d 0a 15 0d 0a 15 |...2. .......|
00000010 0d 0a 15 0d 0a 11 0d 0a 10 0d 0a 15 0d 0a 15 0d |................|
00000020 0a 15 0d 0a 10 0d 0a 46 41 44 45 20 49 4e 3a 15 |.......FADE IN:.|
00000030 0d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 |..The following |
00000040 22 73 63 72 69 70 74 6c 65 74 22 20 64 65 6d 6f |"scriptlet" demo|
00000050 6e 73 74 72 61 74 65 73 20 68 6f 77 20 4d 6f 76 |nstrates how Mov|
00000060 69 65 20 4d 61 73 74 65 72 20 0d 0a 63 61 6e 20 |ie Master ..can |
00000070 62 65 20 75 73 65 64 20 74 6f 20 6f 75 74 6c 69 |be used to outli|
00000080 6e 65 20 73 63 65 6e 65 73 2e 20 20 4f 6e 63 65 |ne scenes. Once|
00000090 20 79 6f 75 20 68 61 76 65 20 66 69 6e 69 73 68 | you have finish|

hexdump -C MM5-s01.scr | head
00000000 11 0d 0a 31 2e 20 20 20 20 15 0d 0a 15 0d 0a 15 |...1. .......|
00000010 0d 0a 15 0d 0a 11 0d 0a 10 0d 0a 15 0d 0a 15 0d |................|
00000020 0a 15 0d 0a 10 0d 0a 54 45 53 54 49 4e 47 15 0d |.......TESTING..|
00000030 0a 7e 60 21 40 23 24 25 5e 26 2a 28 29 2d 2b 7c |.~`!@#$%^&*()-+||
00000040 3d 2d 54 65 43 66 4d 74 0d 0a 01 00 00 07 00 02 |=-TeCfMt........|
00000050 00 00 00 00 00 00 01 00 00 01 00 00 01 00 00 01 |................|
00000060 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 |................|
00000070 00 01 00 00 bf 03 00 00 0c 00 43 6f 75 72 69 65 |..........Courie|
00000080 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |r...............|
00000090 00 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 |.........0......|

Version 5 of Movie Master uses the extension SCR, which one could assume is short for “Script”. There does appear to be a header before any readable text starts, so that will be helpful in identification. Currently there is only one PUID, x-fmt/100, in PRONOM with the extension SCR, which happens to be for an AutoCAD script and has no signature, so anything you ask DROID or Siegfried to identify with the SCR extension will default to an AutoCAD script, which is frustrating. According to the File Format Wiki, there are quite a few formats with the SCR extension. More work to be done there for sure.

So I tried for a few weeks to find a copy of Movie Master version 3.09, I even put in a eBay favorite search for the name so it would alert me to a copy being sold, but no such luck. I gave up for awhile, then recently someone posted a link to a large collection of early warez. Warez is the name given to software that has been illegally copied. When I followed the link and searched though the vast amount of software titles, I got excited to see a couple matches to “Movie Master”. After a little wrangling of some downloads, I spun up a copy of DOSBox and low and behold, Movie Master 3.09!

Welcome to Movie Master V3.09 about screen

A lot of people have compared the old DOS scriptwriting tools to early word processors like Word, Perfect Writer, WordStar, etc. They did much of the same thing, but with special controls for helping with scenes, characters, indents, and everything writers needed to make some of the best Hollywood films out there. As Daniel Plagens noted:

The program proved popular for many years. Greissman estimates they sold over 10,000 units—“saturating the market,” as he put it—and recalls seeing help wanted ads in Hollywood Reporter and Variety where knowledge of Movie Master was a hiring requirement. He visited the sets of Days of Thunder and Hunt for Red October to help their writers and production teams acclimate to Movie Master.

Makes me wonder where all the old scripts from Hollywood movies are located in their electronic form? I am sure Eric Roth probably has quite the collection of different scripts he has written. I sure hope he backs them up and donates them to a library in the future.

Well, let’s take a look at a couple sample files from Movie Master version 3 and version 4. Version 4.04 was also in the collection uploaded to Internet Archive.

hexdump -C TEST3.SCR | head 
00000000 33 2e 30 39 0a 00 00 00 00 31 00 00 00 00 00 00 |3.09.....1......|
00000010 31 00 00 00 00 00 00 0a 00 4e 41 4d 45 20 3f 0a |1........NAME ?.|
00000020 ff 53 43 52 45 45 4e 0a 2a 42 01 19 3c 01 1e 37 |.SCREEN.*B..<..7|
00000030 01 1c 2f 01 14 25 01 18 24 01 39 4c 01 31 42 01 |../..%..$.9L.1B.|
00000040 35 41 01 0a 46 01 0a 46 01 3d 4b 01 02 00 01 0a |5A..F..F.=K.....|
00000050 03 00 54 65 73 74 69 6e 67 20 4d 6f 76 69 65 20 |..Testing Movie |
00000060 4d 61 73 74 65 72 20 76 65 72 73 69 6f 6e 20 33 |Master version 3|
00000070 2e 30 39 11 11 31 11 31 0a |.09..1.1.|

hexdump -C TEST.SCR
00000000 34 2e 30 34 0a 00 00 00 00 31 00 00 00 00 00 00 |4.04.....1......|
00000010 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a |1...............|
00000020 ff 0a 2a 42 01 00 19 3c 01 00 1e 37 01 00 1c 2f |..*B...<...7.../|
00000030 01 00 14 25 01 00 18 24 01 00 39 4c 01 00 31 42 |...%...$..9L..1B|
00000040 01 00 35 41 01 00 0a 46 01 00 0a 46 01 00 3d 4b |..5A...F...F..=K|
00000050 01 00 0a 18 01 00 0a 46 01 00 02 00 00 54 68 69 |.......F.....Thi|
00000060 73 20 69 73 20 61 20 74 65 73 74 20 6f 66 20 4d |s is a test of M|
00000070 6f 76 69 65 20 4d 61 73 74 65 72 20 53 63 72 69 |ovie Master Scri|
00000080 70 74 20 77 72 69 74 69 6e 67 20 73 6f 66 74 77 |pt writing softw|
00000090 61 72 65 2e 0a 01 03 00 00 31 0a 01 00 00 00 00 |are......1......|
000000a0 0a 03 01 0a |....|

hexdump -C COVER.SCR | head
00000000 33 2e 30 35 0a 01 00 00 00 31 00 00 00 00 00 00 |3.05.....1......|
00000010 31 00 00 00 00 00 00 0a ff 43 4f 56 45 52 0a 2a |1........COVER.*|
00000020 42 01 19 3c 01 1e 37 01 1c 2f 01 14 25 01 18 24 |B..<..7../..%..$|
00000030 01 39 4c 01 31 42 01 35 41 01 0a 46 01 0a 46 01 |.9L.1B.5A..F..F.|
00000040 3d 4b 01 06 00 00 0a 03 01 31 0a 01 03 00 00 11 |=K.......1......|
00000050 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 |................|
00000060 11 11 11 11 11 11 11 11 20 20 20 20 20 20 20 20 |........ |
00000070 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4d 65 | "Me|
00000080 65 74 20 74 68 65 20 44 72 61 63 75 6c 61 73 22 |et the Draculas"|
00000090 11 11 11 11 11 20 20 20 20 20 20 20 20 20 20 20 |.....

hexdump -C DRAC2.SCR | head
00000000 34 2e 30 30 0a 01 00 2b 00 36 00 00 00 00 00 00 |4.00...+.6......|
00000010 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a |5...............|
00000020 00 42 4f 42 0a 01 54 45 44 0a 02 43 41 52 4f 4c |.BOB..TED..CAROL|
00000030 0a 03 41 4c 49 43 45 0a 04 49 47 4f 52 0a 05 44 |..ALICE..IGOR..D|
00000040 45 4e 4e 49 53 0a 06 4d 55 46 46 49 4e 0a ff 53 |ENNIS..MUFFIN..S|
00000050 43 52 45 45 4e 0a 2a 42 01 00 19 3c 01 00 1e 37 |CREEN.*B...<...7|
00000060 01 00 1c 2f 01 00 14 25 01 00 18 24 01 00 39 4c |.../...%...$..9L|
00000070 01 00 31 42 01 00 35 41 01 00 0a 46 01 00 0a 46 |..1B..5A...F...F|
00000080 01 00 3d 4b 01 00 0a 18 01 00 0a 46 01 00 02 01 |..=K.......F....|
00000090 01 35 0a 03 00 45 58 54 20 54 45 44 20 44 52 41 |.5...EXT TED DRA|

The first thing to notice is they all start with the version number of the software which wrote the file. Really nice to have, but a terrible magic header. The files also all begin (after the version number) and end with the Hex value “0A”. Which happens to be a line feed control character. So super common, but could be helpful. Another pattern is that on the 9th byte it is “31” on most of the samples and “36” on one of them. “31” is the start of the ASCII number sequence, so could be the sequence number for the script as each SCR file could only store what was in memory.

I fear the rest of the format will have the same issue most word processors had at the time which is not having a header, but lots of formatting codes which may or may not be in every file, making programatic identification difficult. Might take awhile to identify all the formatting codes, but could lead to better identification and possibly an import module for tools like LibeOffice or Final Draft.

Screenshot of Movie Master 4.04 start screen

I didn’t find much different with Movie Master 4, seemed to have the same restrictions to 16 files in a script. The files from version 4 also seem to follow the same patterns from version 3. But both versions are different from the the Windows version of Movie Master, version 5. Click here for Movie Master 5 help menu on “Introduction for Movie Master DOS Users“.

There was another elusive script writing software title which adds to the confusion. Scriptware was another screenwriting software tool which seems to have had a large following. They produced a Windows and Macintosh version. It also started out for DOS and also used the SCR extension. The website is still active for the software, but hasn’t updated in 24 years. I wrote a little about in my post on PROmotion. All the demo versions out there are not useable demos, but animation demos. In this nice batch of old software on the Internet Archive I was able to find an early copy. Wasn’t able to get it to run, but the folder did have some samples.

hexdump -C SAMPLE1.SCR | head
00000000 32 5f 01 00 00 00 00 00 00 00 00 39 01 4a 5f 00 |2_.........9.J_.|
00000010 ff ff 2c 01 00 00 00 00 00 00 95 80 01 00 11 53 |..,............S|
00000020 63 72 69 70 74 77 61 72 65 20 53 63 72 69 70 74 |criptware Script|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000000b0 00 00 00 00 00 00 00 00 11 00 02 00 02 00 14 00 |................|
000000c0 12 00 6f 02 f9 04 0b 00 7b 04 01 00 05 00 00 02 |..o.....{.......|
000000d0 00 11 00 00 00 0c 00 00 00 06 00 ed 01 05 06 00 |................|
000000e0 00 00 00 00 08 00 0b 00 00 00 04 00 00 00 04 00 |................|
000000f0 82 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 |................|

hexdump -C SAMPLE2.SCR | head
00000000 0b 53 63 72 69 70 74 77 61 72 65 1a 95 80 04 80 |.Scriptware.....|
00000010 1e 53 63 72 69 70 74 77 61 72 65 20 53 63 72 69 |.Scriptware Scri|
00000020 70 74 20 32 2e 32 33 3a 34 3b 37 30 32 32 31 00 |pt 2.23:4;70221.|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000000a0 00 00 00 00 00 00 00 00 00 00 11 00 02 00 02 00 |................|
000000b0 11 00 00 00 34 02 01 05 0b 00 89 04 01 00 05 00 |....4...........|
000000c0 00 02 00 11 00 00 00 0b 00 00 00 06 00 aa 01 05 |................|
000000d0 06 00 00 00 00 00 08 00 0c 00 00 00 05 00 00 00 |................|
000000e0 05 00 8a 00 01 01 00 00 00 00 00 00 00 00 00 00 |................|

Luckily, they make it quite easy to identify these SCR files. ScriptWare was very popular and continued on with Windows and Macintosh versions. Later on, the format was changed along with the extension, which changed to SW3.

The SCR extension has been used often. On my desktop they default as a Paintbrush document. Apparently SCR is sometimes used as an extension for the ZSoft Paintbrush (PCX) format. It is also used on older postscript fonts on the Macintosh as a Type 1 screen font. Can also be a screensaver on Windows, but watch out, they can hide malicious code. You get the idea, SCR is a very common extension, identifying it up front can help avoid problems later!

Moral of the story is to never give up searching for old software and even though illegal copying of software should be avoided, I am grateful to those who help save abandoned software. Without them many titles would be lost.

I don’t have a good signature for these formats yet, but you can find a few samples on my GitHub page.

CD Architect

Receiving electronic media from an outside source can be an adventure. Often times you find yourself sorting the valuable files and separating them from the chaff. There can be hidden files, cache files, application files, drivers, and everything in between. Determining what formats are important can sometimes be difficult, especially if you don’t know the file format of some of the files.

I was recently working on a collection of files which had been produced through some audio software. When working with audio, a WAVE file is what is usually kept as they contain the actual audio data. With these files they came with a couple other formats. One of those formats was a bunch of SFK peak files. These files are meant to be temporary as they are generated from the WAVE file to make opening of audio data faster. They are important, but can easily be regenerated. One could argue they have historical value, but also they don’t contain anything that can be used by itself, so alone they don’t have much value.

The other format found with the WAVE files have a CDP extension. These came up as unknown when using DROID. It is not a common extension so finding the name of the software which created the files wasn’t too hard. Let’s take a look at one of them.

hexdump -C tutor1.cdp | head
00000000 52 49 46 46 79 03 00 00 53 46 50 4a 66 6d 74 20 |RIFFy...SFPJfmt |
00000010 18 00 00 00 00 00 01 00 02 00 00 00 10 00 00 00 |................|
00000020 44 ac 00 00 03 00 00 00 01 00 00 00 4c 49 53 54 |D...........LIST|
00000030 88 00 00 00 66 6c 73 74 66 69 6c 65 23 00 00 00 |....flstfile#...|
00000040 44 3a 5c 53 6f 75 6e 64 73 5c 4e 65 77 20 54 75 |D:\Sounds\New Tu|
00000050 74 6f 72 20 66 69 6c 65 73 5c 53 6f 6e 67 33 2e |tor files\Song3.|
00000060 77 61 76 00 66 69 6c 65 23 00 00 00 44 3a 5c 53 |wav.file#...D:\S|
00000070 6f 75 6e 64 73 5c 4e 65 77 20 54 75 74 6f 72 20 |ounds\New Tutor |
00000080 66 69 6c 65 73 5c 53 6f 6e 67 32 2e 77 61 76 00 |files\Song2.wav.|
00000090 66 69 6c 65 23 00 00 00 44 3a 5c 53 6f 75 6e 64 |file#...D:\Sound|

Huh, this is a RIFF file. RIFF is most commonly used as the container used for WAVE and AVI files. You can read more about the RIFF format on a previous post. The RIFF container format can be used for all sorts of things. Looking at the internals we can see a few unique list chunk’s.

Lots of references to other files, specifically WAVE files. But not a lot of actual data. That is because this format turns out to be just a project format for some software called “CD Architect“. Sonic Foundry was an audio software developer for a few years before they sold their catalog to Sony in 2003. In looking at the manual for CD Architect version 5.2, it explains the CDP Project format.

CD Architect software handles the organization of your CD using a small project file (CDP) that saves information about source file locations, edits, cuts, and insertion points. This project file is not a multimedia file, but is instead used to create the CD when editing is finished.

Looking at another CDP file from the collection, I noticed something different.

hexdump -C CDArch50a-s01.cdp | head
00000000 72 69 66 66 2e 91 cf 11 a5 d6 28 db 04 c1 00 00 |riff......(.....|
00000010 20 0a 00 00 00 00 00 00 84 38 15 b3 da 08 85 44 | ........8.....D|
00000020 b2 2a 5b 70 a1 32 15 ff 5a 2d 8f b2 0f 23 d2 11 |.*[p.2..Z-...#..|
00000030 86 af 00 c0 4f 8e db 8a 00 02 00 00 00 00 00 00 |....O...........|
00000040 78 00 00 00 00 00 04 00 11 00 00 00 44 ac 00 00 |x...........D...|
00000050 00 00 00 00 00 c0 52 40 00 00 00 00 00 00 5e 40 |......R@......^@|
00000060 00 00 00 00 00 00 00 00 04 00 04 00 40 00 00 00 |............@...|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 00 00 |............|...|
00000080 50 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 |P...............|
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

That’s odd, the RIFF format is always uppercase ASCII, this is lowercase. Also the important RIFF form, which was “SFPJ” in the other sample, is missing. This is not a valid RIFF format.

But further down in the file I can see the same list chunks. Did they take RIFF format and make a proprietary version of their own? I think they may have. It seems the first example was from CD Architect version 4 and these other files are from CD Architect version 5. That complicates things. Sony stopped developing CD Architect after version 5.2d and maintained it for a few years before selling many of their titles to MAGIX Software. As far as I know there was never any new versions released. The software was very popular, as it had some really nice audio mastering features and was easy to use. Many were upset when the software was abandoned.

Creating a signature for both version 4 and version 5 CDP files will be pretty straightforward. I feel knowing what you have in a collection you are processing is the first step in making informed decisions. Wether or not you keep the project files are up for debate. Some may only want the final audio created from a CD Architect project, while others may want to see the way the audio was put together and mixed. Either way, the more you know…..

One more thing. CD Architect would default to saving a CDP project file, but could also save a “CD Image file”. This process actually would save the project to a full WAVE file with some extras baked in.

An image file is essentially a wave file with volume, crossfades, effects, mixes, and track information embedded. Burning an image file will reduce the risk of buffer underruns (especially if you have a complex project or are using a slow computer) since no audio processing is required. 

Interesting, normally when working with track information in a single WAVE file you would need a companion CUE Sheet in order to reference the track layout of the Audio CD. So I am curious how they do all of this. Lets take a look at a “CD Image”.

mediainfo CDArch52d-s02.wav
General
Complete name : CDArch52d-s02.wav
Format : Wave
Format settings : PcmWaveformat
File size : 5.05 MiB
Duration : 30 s 0 ms
Overall bit rate mode : Constant
Overall bit rate : 1 411 kb/s
Conformance errors : 2
RIFF : Yes
General compliance : File size 5292434 is less than expected size 5292823 (offset 0x8)
WAVE : Yes
General compliance : Element size 5292811 is more than maximal permitted size 5292422 (offset 0xC)

Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 30 s 0 ms
Bit rate mode : Constant
Bit rate : 1 411.2 kb/s
Channel(s) : 2 channels
Sampling rate : 44.1 kHz
Bit depth : 16 bits
Stream size : 5.05 MiB (100%)

Already seeing some issues with the format, but all the important bits are there. JHOVE doesn’t like them much either.

JhoveView (Rel. 1.32.0, 2024-09-12)
Date: 2024-12-11 16:01:08 MST
RepresentationInformation: CDArch52d-s02.wav
ReportingModule: WAVE-hul, Rel. 1.8.3 (2024-03-05)
LastModified: 2024-12-11 15:58:02 MST
Size: 5292434
Format: WAVE
Status: Not well-formed
SignatureMatches:
WAVE-hul
InfoMessage: Ignored unrecognized list type: "pqls"
ID: WAVE-HUL-15
Offset: 5292044
ErrorMessage: Unexpected end of file: Bytes missing = 389
ID: WAVE-HUL-3
Offset: 5292434
MIMEtype: audio/vnd.wave; codec=1
Profile: PCMWAVEFORMAT

JHOVE is giving me two issues. The major error is the file appears truncated according to both MediaInfo and JHOVE. The InfoMessage which is less of an issue but more of a heads up that the WAVE file has an extra LIST type. “PQLS”, which was also in the CPD RIFF file we looked at earlier. So it seems by making a “CD Image” of a project embeds the project chunk data into the WAVE container. Identification is not an issue as these WAVE’s follow the standard pattern and therefore identify correctly, but one might want to be aware through further characterization these WAVE’s have some not so obvious extra data.

My attempts to find any samples from version 3 of CD Architect have failed. Until then, my proposal is to add version 4 & 5 to PRONOM with the signature on my Github page. There you will find a few samples as well.

NCH Software

Recently I came across a piece of software which used dozens of extensions for a single file format.

This T-Shirt Factory Deluxe files are a bit of an extreme, probably a prank against all of us doing file format identification. If you know who made this decision, I would like to have a chat.

This is not first time I have come across a format which seems to have been used for more than one software title. Awhile back I tried to find more information on a file format used with many tools created by MetaCreations. It was called “Composite File Management System“, and was used with Kai’s Power tools, Bryce3D, Ray Dream, Poser, and others. I did a previous post about the format.

I came across another recently with a similar issue. They are also many different software titles with the same native format.

NCH Software is an Australian software company who produce a massive number of software titles covering many different needs. From Audio Editing to Business charts and from Accounting tools to a 3D model converter, they have it all. Their audio editing software WavePad is quite popular. My initial entry into their software world was for the specialized Dictation/Scribe software which produced a slightly proprietary audio format with the extension DCT. This format does not use the format many of the other titles use.

With the number of different titles, it probably makes sense they use the same file structure to make processing/programming more efficient. They appear to be mostly proprietary binary files.

hexdump -C Wavepad/Untitled2.wpp | head
00000000 6c 73 64 66 01 00 1a 00 00 00 07 00 00 00 00 00 |lsdf............|
00000010 ca 84 20 00 00 00 00 00 e9 03 00 00 a5 84 20 00 |.. ........... .|
00000020 00 00 00 00 d0 07 00 00 99 84 20 00 00 00 00 00 |.......... .....|
00000030 d1 07 06 00 24 00 00 00 00 00 00 00 2f 55 73 65 |....$......./Use|
00000040 72 73 2f 74 79 6c 65 72 2f 44 65 73 6b 74 6f 70 |rs/tyler/Desktop|
00000050 2f 55 6e 74 69 74 6c 65 64 5f 30 2e 77 61 76 00 |/Untitled_0.wav.|
00000060 dc 07 02 00 04 00 00 00 00 00 00 00 00 00 00 00 |................|
00000070 d2 07 03 00 08 00 00 00 00 00 00 00 00 00 00 00 |................|
00000080 00 00 00 00 d3 07 03 00 08 00 00 00 00 00 00 00 |................|
00000090 00 00 00 00 00 00 00 00 d4 07 03 00 08 00 00 00 |................|

hexdump -C Crescendo/examples/Grooving.cdo | head
00000000 6c 73 64 66 01 00 05 00 00 00 03 00 00 00 00 00 |lsdf............|
00000010 8a b5 00 00 00 00 00 00 00 10 00 00 65 05 00 00 |............e...|
00000020 00 00 00 00 01 11 04 00 04 00 00 00 00 00 00 00 |................|
00000030 00 00 00 41 02 11 02 00 04 00 00 00 00 00 00 00 |...A............|
00000040 05 00 00 00 03 11 04 00 04 00 00 00 00 00 00 00 |................|
00000050 00 00 52 43 04 11 04 00 04 00 00 00 00 00 00 00 |..RC............|
00000060 00 80 94 43 05 11 04 00 04 00 00 00 00 00 00 00 |...C............|
00000070 00 00 a0 41 06 11 02 00 04 00 00 00 00 00 00 00 |...A............|
00000080 01 00 00 00 07 11 04 00 04 00 00 00 00 00 00 00 |................|
00000090 00 00 00 00 08 11 04 00 04 00 00 00 00 00 00 00 |................|

hexdump -C Spin3D/bunny.3dp | head
00000000 6c 73 64 66 01 00 20 00 00 00 01 00 00 00 00 00 |lsdf.. .........|
00000010 ec bc 65 00 00 00 00 00 00 10 00 00 e0 bc 65 00 |..e...........e.|
00000020 00 00 00 00 00 12 00 00 38 bc 65 00 00 00 00 00 |........8.e.....|
00000030 01 12 07 00 8c 26 26 00 00 00 00 00 cc d1 27 3f |.....&&.......'?|
00000040 1c b5 80 3f 3c f4 bd 3d d9 79 27 3f de af 80 3f |...?<..=.y'?...?|
00000050 bf 81 a9 3d ad fa 28 3f 10 e7 7d 3f 05 a8 a9 3d |...=..(?..}?...=|
00000060 ec a4 1a 3f 56 29 49 3f ab d0 c0 3d 3e 3c 1f 3f |...?V)I?...=><.?|
00000070 5f ed 4c 3f 5a 48 c0 3d 04 59 1b 3f 48 53 49 3f |_.L?ZH.=.Y.?HSI?|
00000080 42 e9 ab 3d 74 5d 1c 3f 05 6c 3b 3f f7 03 5e 3d |B..=t].?.l;?..^=|
00000090 46 d2 1a 3f f6 d4 3e 3f ef ac 5d 3d 94 db 1a 3f |F..?..>?..]=...?|

hexdump -C Voxal/Geek.voxal | head
00000000 6c 73 64 66 01 00 0c 00 00 00 01 00 00 00 00 00 |lsdf............|
00000010 ea 01 00 00 00 00 00 00 ec 03 01 00 01 00 00 00 |................|
00000020 00 00 00 00 01 e8 03 00 00 a9 01 00 00 00 00 00 |................|
00000030 00 00 20 02 00 04 00 00 00 00 00 00 00 13 00 00 |.. .............|
00000040 00 00 10 00 00 39 00 00 00 00 00 00 00 00 10 00 |.....9..........|
00000050 00 0d 00 00 00 00 00 00 00 00 20 01 00 01 00 00 |.......... .....|
00000060 00 00 00 00 00 00 01 20 04 00 04 00 00 00 00 00 |....... ........|
00000070 00 00 c3 f5 40 41 02 20 02 00 04 00 00 00 00 00 |....@A. ........|
00000080 00 00 22 00 00 00 00 20 02 00 04 00 00 00 00 00 |..".... ........|
00000090 00 00 0e 00 00 00 00 10 00 00 29 00 00 00 00 00 |..........).....|

hexdump -C PhotoPad/test.ppp | head
00000000 6c 73 64 66 01 00 02 00 00 00 00 00 00 00 00 00 |lsdf............|
00000010 ee 3c 00 00 00 00 00 00 c9 00 01 00 01 00 00 00 |.<..............|
00000020 00 00 00 00 00 04 00 00 00 d5 3c 00 00 00 00 00 |..........<.....|
00000030 00 02 00 00 00 c9 3c 00 00 00 00 00 00 03 00 06 |......<.........|
00000040 00 0f 00 00 00 00 00 00 00 6f 72 69 67 69 6e 61 |.........origina|
00000050 6c 5f 69 6d 61 67 65 00 01 00 00 00 85 3c 00 00 |l_image......<..|
00000060 00 00 00 00 07 00 07 00 79 3c 00 00 00 00 00 00 |........y<......|
00000070 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 |.PNG........IHDR|
00000080 00 00 04 00 00 00 03 00 08 06 00 00 00 ba ba 15 |................|
00000090 0d 00 00 00 01 73 52 47 42 00 ae ce 1c e9 00 00 |.....sRGB.......|

Above are just a few of the titles which use the same structure. The LSDF string is the first 4 bytes and always the last 4 bytes. The next two bytes, 0100, seem consistent for all samples, but the two bytes after that seem to be unique to the software. So far I have found the following titles use the format.

Software TitleNameExtensionPattern
WavePadWavePad Audio Editor Project FileWPP6C736466 01001A00
CrescendoCrescendo Score FileCDO6C736466 01000500
Spin3DNCH Software model format3DP6C736466 01002000
VoxalVoxal Voices FileVOXAL6C736466 01000C00
PhotoPadPhotoPad Project FilePPP6C736466 01000200
MixPadMixPad ProjectMPDP6C736466 01000400
DisketchDisketch ProjectDEPROJ6C736466 01000700
ClickChartsClickCharts DiagramCCD6C736466 01000A00
DreamPlanDreamPlan FileDDP6C736466 01001300
DrawPadDrawPad FileDRP6C736466 01001500

Without downloading and installing their vast library of software it’s hard to know all the different titles which use the format. The rest of the file for each sample seems to be proprietary in a binary format, except a few with a PNG image mixed in.

The simplest sample I could find was a preset file for the Zulu DJ Software which uses the ECF extension. The ECF extension is common with a few of the titles, like effect chains for WavePad and MixPad.

hexdump -C Zulu/Untitled.ecf
00000000 6c 73 64 66 01 00 0c 00 00 00 01 00 00 00 00 00 |lsdf............|
00000010 6b 00 00 00 00 00 00 00 00 10 00 00 1a 00 00 00 |k...............|
00000020 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 00 |................|
00000030 00 01 00 01 00 01 00 00 00 00 00 00 00 00 00 30 |...............0|
00000040 02 00 04 00 00 00 00 00 00 00 01 00 00 00 00 20 |............... |
00000050 00 00 29 00 00 00 00 00 00 00 00 10 00 00 0d 00 |..).............|
00000060 00 00 00 00 00 00 00 20 01 00 01 00 00 00 00 00 |....... ........|
00000070 00 00 00 00 20 02 00 04 00 00 00 00 00 00 00 00 |.... ...........|
00000080 00 00 01 6c 73 64 66 |...lsdf|

This header is identical to the header for the VOXAL format, so not sure if the second set of 4 bytes is directly connected to the software title. Or if there purpose is something else.

The question that needs to be answered is how we might represent these formats in PRONOM if needed. We could create a unique signature for each title based on the magic header and footer and the second set of 4 bytes which may indicate the software. Or create a single generic signature to identify the basic format using the magic header and footer and adding all the extensions to the list, which would be lengthy. This would be the easiest and catch all formats related to NCH Software using this file format, but then additional characterization would need to happen to identify the specific software title needed to render the file.

The NCH Software company seems to churn out new software and versions quite frequently and a search for reviews of their software turns up some questionable results. Many might enjoy their software as they are easy to use and are free for home use. I had lots of trouble with a few of them as they wanted to mount network locations and disk images I had used recently, which seems sketchy. I would love to know if anyone uses their software and has any need to preserve these formats. I currently don’t, but found the common use of a file format intriguing. I also found no reference to the magic bytes they use, except for a few TrID entries. Marco always is a step ahead!