The 1985 "The Print Shop" for the IBM PC
Broderbund Software's "The Print Shop" is one of those long lived applications that reuses version numbers and shuffles around the name enough to make Googling for information a challenge.
While looking in the file "Print Shop 1.0 (5.25).7z" I discovered this not only contained disk images of the 1989 "The New Print Shop" for DOS (the one with a Mac like UI), but also the first 1985 port of "The Print Shop" for the IBM PC / PC XT.
The interesting thing about this version is that it looks almost exactly like the original Apple II version.
Despite being labeled as an "installation disk" in the archive, it is actually intended to be a booter. The install file installs DOS on the original disk, not the application on the hard drive. It didn't include DOS because not all early 80s DOS machines were IBM PC hardware compatible, requiring them to use their OEM versions of DOS to operate.
The disk also uses a form of copy protection that prevents it from running from a hard disk. It is great that was preserved in it's original unaltered state, but an unprotect is needed to make it useful. Thankfully there are many "text file" archive sites still out there that archive such information.
Just for good measure:
Anyway, awseome stuff.
While looking in the file "Print Shop 1.0 (5.25).7z" I discovered this not only contained disk images of the 1989 "The New Print Shop" for DOS (the one with a Mac like UI), but also the first 1985 port of "The Print Shop" for the IBM PC / PC XT.
The interesting thing about this version is that it looks almost exactly like the original Apple II version.
Despite being labeled as an "installation disk" in the archive, it is actually intended to be a booter. The install file installs DOS on the original disk, not the application on the hard drive. It didn't include DOS because not all early 80s DOS machines were IBM PC hardware compatible, requiring them to use their OEM versions of DOS to operate.
The disk also uses a form of copy protection that prevents it from running from a hard disk. It is great that was preserved in it's original unaltered state, but an unprotect is needed to make it useful. Thankfully there are many "text file" archive sites still out there that archive such information.
Just for good measure:
Print Shop unprotect procedures The Print Shop uses an installation process which records the physical location of the program in an overlay file. During program initialization, a check is made to see if the location has changed. If it has, due to a restore, a disk reorganization, a disk optimization, or anything, the program refuses to run. The code to do the checking is actually stored in the overlay file. These procedures force the result to be accepted regardless of whether the check is correct or not. 1) Install the program in the usual way, using the Print Shop install programs. 2) Copy the files to another directory. 3) Uninstall the programs, again using the Print Shop programs. 4) Now CD to the directory which has the copied files. 5) Use DEBUG to make the following changes: -DEBUG PSINIT.OVR Load the program into DEBUG -S0 FFF 59 3B C8 75 1E This is a version check. xxxx:024A If you don't get this number, STOP NOW. Wrong version! -e24d 90 90 NOP out an instruction -s0 fff 30 e8 13 df 85 co 74 29 xxxx:0265 If you don't get this number, STOP NOW. Wrong version! -e26b eb Change a conditional jump to unconditional. -w Write the file back -q Quit DEBUG The Print Shop program will now run from any directory on any disk.
Anyway, awseome stuff.
Comments
In all seriousness, though, it's probably reading the FAT and comparing it to its known hard-coded location. You'd disassemble it and look for any INT 0x13 calls. After that it's a matter of trial and error to figure out which is the one to bypass - the copy protection routine most likely reads two bytes, then compares them to a value in memory; so look for that instruction pattern. The instruction being NOPed out is most likely the compare, to avoid generating any side-effects before doing the jump, which does not clear said side-effects.
Had the Print Shop used a scheme that involved non-standard floppy disk sectors (a popular method back then), whoever dumped the disk probably would have thought the disk was defective and just thrown it away.
To make matters worse, some (especially on Apple IIs) would store the entire program in non-standard disk sectors so you would have to find a way to extract that first.
Then there were programs that would throw a monkey wrench in the system if it detected you were running it in a debugger. Some early 80s software from Microsoft would claim it was erasing your disk if it detected anything like that.