PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PCjs Blog

Adventures in Copy Protection

Thanks to a contribution from a PCjs user, I was able to examine a KryoFlux dump of an original Microsoft Adventure diskette:

Microsoft Adventure Diskette

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, I was able to convert the TransCopy .tc file into a set of KryoFlux .raw track files and successfully load them into HxC.

The basic steps:

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, I was able to update my DiskImage utility to read .psi files directly and create JSON-encoded PCjs disk images that replicate the structure of the original diskettes.

There are now two Microsoft Adventure disk images in the PCjs Disk Library:

The first diskette is what I originally had to use before PCjs supported copy-protected disks. In theory, I 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.

OK, enough with the boring blog post. Time to play!

IBM PC, 64Kb RAM, Dual Floppy Drives, MDA

Monochrome Display
Caps
Num
Scroll
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Esc
1 !
2 @
3 #
4 $
5 %
6 ^
7 &
8 *
9 (
0 )
- _
= +
Back
-
Num
Scroll
Tab
Q
W
E
R
T
Y
U
I
O
P
[ {
] }
7
↑ 8
9
Ctrl
A
S
D
F
G
H
J
K
L
; :
' "
` ~
← 4
5
→ 6
+
Shift
\ |
Z
X
C
V
B
N
M
, <
. >
/ ?
Shift
PrtSc
1
↓ 2
3
Alt
Space
Caps
Ins 0
Del .
Esc
Tab
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Num
Scroll
1 !
2 @
3 #
4 $
5 %
6 ^
7 &
8 *
9 (
0 )
- _
= +
Back
-
+
Q
W
E
R
T
Y
U
I
O
P
[ {
] }
7
↑ 8
9
A
S
D
F
G
H
J
K
L
; :
' "
` ~
← 4
5
→ 6
\ |
Z
X
C
V
B
N
M
, <
. >
/ ?
Shift
PrtSc
1
↓ 2
3
Ctrl
Shift
Alt
Space
Caps
Ins 0
Del .

Jeff Parsons
Jun 13, 2019