This repository has been archived by the owner on Dec 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New blog post: adventures in copy protection
- Loading branch information
Showing
26 changed files
with
184 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
--- | ||
layout: post | ||
title: Adventures in Copy Protection | ||
date: 2019-06-13 10:00:00 | ||
permalink: /blog/2019/06/13/ | ||
preview: https://game-disks.pcjs.org/pcx86/microsoft/adventure/Adventure_Booklet_Cover.jpg | ||
--- | ||
|
||
Thanks to a contribution from a PCjs user, I was able to examine a KryoFlux dump of an original | ||
[Microsoft Adventure](/disks/pcx86/games/microsoft/adventure/) diskette: | ||
|
||
![Microsoft Adventure Diskette]({{ site.games-disks.baseurl }}/pcx86/microsoft/adventure/Adventure_Diskette-HxC.png) | ||
|
||
You can see that the first sector on the (outermost) track is a normal 512-byte sector -- which it must | ||
be in order to function as a boot disk -- but the rest of the disk is primarily 256-byte sectors, along | ||
with bad sectors and unusual sector IDs. Since this isn't a DOS-compatible diskette, it can (and does) | ||
break all the rules. | ||
|
||
Interestingly, this dump wasn't created with the KryoFlux software. Instead, starting with a TransCopy dump, | ||
along with some advice on using the image conversion tools that come with [PCE](http://www.hampa.ch/pce/), | ||
I was able to convert the TransCopy `.tc` file into a set of KryoFlux `.raw` track files and successfully | ||
load them into [HxC](http://hxc2001.free.fr/). | ||
|
||
The basic steps were: | ||
|
||
- Use PCE's **PRI** utilty to convert the `.tc` file to a `.pri` (PCE Raw Image) file | ||
- Use PCE's **PFI** utility to convert the `.pri` file to a `.pfi` (PCE Flux Image) file | ||
- Use PCE's **PFI** utility again to convert the `.pfi` file to a set of `.raw` track files | ||
|
||
For example: | ||
|
||
pri MSADVENT.tc MSADVENT.pri | ||
pfi -p encode pri MSADVENT.pri MSADVENT.pfi | ||
pfi MSADVENT.pfi track00.0.raw | ||
|
||
In the process, I also learned a bit about `.psi` (PCE Sector Image) files, which can be created | ||
from `.pri` (PCE Raw Image) files; eg: | ||
|
||
pri MSADVENT.pri -p decode mfm MSADVENT.psi -f -v | ||
|
||
The nice thing about a `.psi` file is that the format is fairly straightforward, and with the help of | ||
a little [documentation](https://github.com/jeffpar/pce/blob/master/doc/psi-format.txt), I was able to | ||
update my [DiskDump](/modules/diskdump/) utility to read `.psi` files directly and create | ||
JSON-encoded PCjs disk images that more or less replicate the structure of the original diskette. | ||
|
||
There are now *two* Microsoft Adventure disk images in the PCjs Disk Library: | ||
|
||
- "Microsoft Adventure", which contains a patched binary on a normally formatted diskette | ||
- "Microsoft Adventure (Unmodified)", which contains the original binary on a copy-protected diskette | ||
|
||
The first diskette is what we originally used before PCjs supported copy-protected disks. In theory, we | ||
could have simply replaced the first diskette with the copy-protected version, but that would have broken | ||
the saved machine state of anyone who had already started playing the game with the first diskette. Besides, | ||
there may be some historical or diagnostic value in keeping both versions. | ||
|
||
*[@jeffpar](https://jeffpar.com)* | ||
*June 13, 2019* |
Submodule disks-demo
updated
from 94713b to 14000a
Submodule disks-game
updated
from 63e2b7 to 000b81
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.