Problem with converting 160K PC Booter to img or other formats.

All questions regarding the dumping of media go here.
Post Reply
nightson
Posts: 10
Joined: Sat May 19, 2018 11:37 am

Problem with converting 160K PC Booter to img or other formats.

Post by nightson » Mon Feb 11, 2019 5:26 pm

Hi. I'm trying to convert the streams files I dumped from the 1982 PC Booter game Executive Suite to img. It's an early 160K 5.25'' disk. The output img file doesn't seem to be working under DOSBox or PCE. The game won't start after the screen shows "Executive Suite loading...".

Image

When converting the stream files to img, DTC showed that track 22 on side 0 was Good*+Modified. Is it some kind of copy protection? If so, how can I convert it to formats usable in PCE? Thanks!

Image


Log:

Code: Select all

DTC.exe -l15 -fE:\Program\Media\Dumping\kryoflux_3.00_windows\dtc\ESUITE.img -g0 -z2 -n+8 -k2 -v300 -i4 
00.0    : frev: 41458, drift: 0.100 us, tfer: 235090 B/s, rpm: 359.664
00.0    : base: 2.000 us [99.857%], band: 3.990 us, 5.999 us, 8.014 us
00.0    : MFM: OK, trk: 000, sec: 8
02.0    : frev: 38772, drift: 0.499 us, tfer: 221075 B/s, rpm: 359.661
02.0    : base: 1.997 us [99.827%], band: 3.986 us, 5.990 us, 7.993 us
02.0    : MFM: OK, trk: 001, sec: 8
04.0    : frev: 38836, drift: 0.757 us, tfer: 221573 B/s, rpm: 359.672
04.0    : base: 1.998 us [99.856%], band: 3.988 us, 5.994 us, 7.992 us
04.0    : MFM: OK, trk: 002, sec: 8
06.0    : frev: 38898, drift: 0.067 us, tfer: 222074 B/s, rpm: 359.666
06.0    : base: 1.998 us [99.899%], band: 3.991 us, 5.994 us, 7.996 us
06.0    : MFM: OK, trk: 003, sec: 8
08.0    : frev: 38878, drift: 0.683 us, tfer: 222325 B/s, rpm: 359.673
08.0    : base: 1.995 us [99.827%], band: 3.989 us, 5.985 us, 7.995 us
08.0    : MFM: OK, trk: 004, sec: 8
10.0    : frev: 38860, drift: 0.300 us, tfer: 221823 B/s, rpm: 359.680
10.0    : base: 1.994 us [99.825%], band: 3.988 us, 5.983 us, 7.998 us
10.0    : MFM: OK, trk: 005, sec: 8
12.0    : frev: 38850, drift: 0.508 us, tfer: 221324 B/s, rpm: 359.689
12.0    : base: 1.996 us [99.823%], band: 3.991 us, 5.987 us, 8.010 us
12.0    : MFM: OK, trk: 006, sec: 8
14.0    : frev: 38984, drift: 0.591 us, tfer: 222325 B/s, rpm: 359.687
14.0    : base: 1.998 us [99.879%], band: 3.990 us, 5.995 us, 8.007 us
14.0    : MFM: OK, trk: 007, sec: 8
16.0    : frev: 39924, drift: 0.791 us, tfer: 227472 B/s, rpm: 359.697
16.0    : base: 1.998 us [99.856%], band: 3.984 us, 5.993 us, 8.002 us
16.0    : MFM: OK, trk: 008, sec: 8
18.0    : frev: 38630, drift: 0.092 us, tfer: 220579 B/s, rpm: 359.696
18.0    : base: 1.995 us [99.745%], band: 3.984 us, 5.984 us, 7.987 us
18.0    : MFM: OK, trk: 009, sec: 8
20.0    : frev: 38390, drift: 0.133 us, tfer: 218859 B/s, rpm: 359.701
20.0    : base: 2.000 us [99.876%], band: 3.992 us, 5.999 us, 7.987 us
20.0    : MFM: OK, trk: 010, sec: 8
22.0    : frev: 39006, drift: 0.633 us, tfer: 222577 B/s, rpm: 359.705
22.0    : base: 2.000 us [99.857%], band: 3.986 us, 6.000 us, 7.988 us
22.0    : MFM: OK*, trk: 011, sec: 8, *H +1
24.0    : frev: 42950, drift: 0.508 us, tfer: 245757 B/s, rpm: 359.708
24.0    : base: 2.000 us [99.682%], band: 3.989 us, 5.999 us, 8.046 us
24.0    : MFM: OK, trk: 012, sec: 8
26.0    : frev: 43608, drift: 0.125 us, tfer: 249230 B/s, rpm: 359.711
26.0    : base: 1.997 us [99.686%], band: 3.996 us, 5.990 us, 7.957 us
26.0    : MFM: OK, trk: 013, sec: 8
28.0    : frev: 38590, drift: 0.816 us, tfer: 220331 B/s, rpm: 359.714
28.0    : base: 1.999 us [99.886%], band: 3.988 us, 5.996 us, 7.995 us
28.0    : MFM: OK, trk: 014, sec: 8
30.0    : frev: 38550, drift: 0.117 us, tfer: 220085 B/s, rpm: 359.718
30.0    : base: 2.000 us [99.790%], band: 3.982 us, 5.999 us, 7.981 us
30.0    : MFM: OK, trk: 015, sec: 8
32.0    : frev: 38210, drift: 0.649 us, tfer: 218130 B/s, rpm: 359.724
32.0    : base: 1.997 us [99.838%], band: 3.986 us, 5.991 us, 8.006 us
32.0    : MFM: OK, trk: 016, sec: 8
34.0    : frev: 38130, drift: 0.508 us, tfer: 217889 B/s, rpm: 359.719
34.0    : base: 2.000 us [99.894%], band: 3.984 us, 5.999 us, 7.999 us
34.0    : MFM: OK, trk: 017, sec: 8
36.0    : frev: 38310, drift: 0.674 us, tfer: 218859 B/s, rpm: 359.721
36.0    : base: 1.995 us [99.784%], band: 3.980 us, 5.986 us, 7.995 us
36.0    : MFM: OK, trk: 018, sec: 8
38.0    : frev: 38206, drift: 0.300 us, tfer: 218130 B/s, rpm: 359.732
38.0    : base: 1.999 us [99.844%], band: 3.979 us, 5.996 us, 7.997 us
38.0    : MFM: OK, trk: 019, sec: 8
40.0    : frev: 38110, drift: 0.316 us, tfer: 217647 B/s, rpm: 359.723
40.0    : base: 2.004 us [99.854%], band: 3.986 us, 6.012 us, 8.000 us
40.0    : MFM: OK, trk: 020, sec: 8
42.0    : frev: 38217, drift: 0.841 us, tfer: 218373 B/s, rpm: 359.725
42.0    : base: 1.999 us [99.845%], band: 3.981 us, 5.997 us, 7.994 us
42.0    : MFM: OK, trk: 021, sec: 8
44.0    : frev: 38104, drift: 0.058 us, tfer: 217647 B/s, rpm: 359.725
44.0    : base: 2.001 us [99.823%], band: 3.983 us, 6.002 us, 7.987 us
44.0    : MFM: OK, trk: 022, sec: 8
46.0    : frev: 38114, drift: 0.291 us, tfer: 217647 B/s, rpm: 359.730
46.0    : base: 2.001 us [99.874%], band: 3.986 us, 6.004 us, 7.995 us
46.0    : MFM: OK, trk: 023, sec: 8
48.0    : frev: 38183, drift: 0.524 us, tfer: 218130 B/s, rpm: 359.732
48.0    : base: 2.002 us [99.849%], band: 3.985 us, 6.007 us, 7.995 us
48.0    : MFM: OK, trk: 024, sec: 8
50.0    : frev: 38190, drift: 0.316 us, tfer: 218130 B/s, rpm: 359.731
50.0    : base: 2.001 us [99.818%], band: 3.982 us, 6.003 us, 7.989 us
50.0    : MFM: OK, trk: 025, sec: 8
52.0    : frev: 38273, drift: 0.449 us, tfer: 218616 B/s, rpm: 359.730
52.0    : base: 2.000 us [99.886%], band: 3.984 us, 6.000 us, 8.004 us
52.0    : MFM: OK, trk: 026, sec: 8
54.0    : frev: 38208, drift: 0.125 us, tfer: 218373 B/s, rpm: 359.727
54.0    : base: 2.003 us [99.824%], band: 3.982 us, 6.009 us, 8.005 us
54.0    : MFM: OK, trk: 027, sec: 8
56.0    : frev: 38232, drift: 0.225 us, tfer: 218373 B/s, rpm: 359.729
56.0    : base: 1.998 us [99.781%], band: 3.976 us, 5.993 us, 8.008 us
56.0    : MFM: OK, trk: 028, sec: 8
58.0    : frev: 38160, drift: 0.108 us, tfer: 217889 B/s, rpm: 359.729
58.0    : base: 1.999 us [99.790%], band: 3.978 us, 5.997 us, 7.987 us
58.0    : MFM: OK, trk: 029, sec: 8
60.0    : frev: 38132, drift: 0.732 us, tfer: 217889 B/s, rpm: 359.731
60.0    : base: 2.003 us [99.829%], band: 3.980 us, 6.009 us, 7.998 us
60.0    : MFM: OK, trk: 030, sec: 8
62.0    : frev: 38100, drift: 0.499 us, tfer: 217647 B/s, rpm: 359.729
62.0    : base: 2.002 us [99.844%], band: 3.978 us, 6.005 us, 8.002 us
62.0    : MFM: OK, trk: 031, sec: 8
64.0    : frev: 38141, drift: 0.142 us, tfer: 217889 B/s, rpm: 359.730
64.0    : base: 2.003 us [99.767%], band: 3.977 us, 6.010 us, 7.991 us
64.0    : MFM: OK, trk: 032, sec: 8
66.0    : frev: 38120, drift: 0.133 us, tfer: 217647 B/s, rpm: 359.733
66.0    : base: 2.001 us [99.830%], band: 3.981 us, 6.003 us, 8.009 us
66.0    : MFM: OK, trk: 033, sec: 8
68.0    : frev: 38203, drift: 0.558 us, tfer: 218130 B/s, rpm: 359.733
68.0    : base: 2.003 us [99.781%], band: 3.980 us, 6.010 us, 8.009 us
68.0    : MFM: OK, trk: 034, sec: 8
70.0    : frev: 38132, drift: 0.092 us, tfer: 217647 B/s, rpm: 359.730
70.0    : base: 2.001 us [99.841%], band: 3.976 us, 6.003 us, 7.998 us
70.0    : MFM: OK, trk: 035, sec: 8
72.0    : frev: 38188, drift: 0.533 us, tfer: 218130 B/s, rpm: 359.730
72.0    : base: 2.001 us [99.831%], band: 3.978 us, 6.002 us, 8.006 us
72.0    : MFM: OK, trk: 036, sec: 8
74.0    : frev: 38126, drift: 0.433 us, tfer: 217889 B/s, rpm: 359.728
74.0    : base: 2.005 us [99.735%], band: 3.979 us, 6.015 us, 8.012 us
74.0    : MFM: OK, trk: 037, sec: 8
76.0    : frev: 38357, drift: 0.275 us, tfer: 218859 B/s, rpm: 359.732
76.0    : base: 1.997 us [99.553%], band: 3.949 us, 5.992 us, 8.022 us
76.0    : MFM: OK, trk: 038, sec: 8
78.0    : frev: 37938, drift: 0.949 us, tfer: 216449 B/s, rpm: 359.729
78.0    : base: 2.001 us [99.213%], band: 3.897 us, 6.004 us, 8.035 us
78.0    : MFM: OK, trk: 039, sec: 8
80.0    : frev: 49074, drift: 1.099 us, tfer: 280565 B/s, rpm: 359.729
80.0    : base: 1.994 us [66.464%], band: 3.998 us, 7.978 us
80.0    : MFM: <unformatted>
82.0    : frev: 51392, drift: 1.124 us, tfer: 301551 B/s, rpm: 359.731
82.0    : base: 2.029 us [63.907%], band: 2.927 us, 4.188 us, 6.088 us
82.0    : MFM: <unformatted>

SomeGuy
Posts: 218
Joined: Wed Feb 18, 2015 8:18 pm

Re: Problem with converting 160K PC Booter to img or other formats.

Post by SomeGuy » Mon Feb 11, 2019 11:31 pm

A quick google search for this title indicates that it is copy protected. This means a 160k ".img" file will not work, as you loose the copy protection bits.

PCE comes with tools for converting Kryoflux streams to other formats that can retain some forms of copy protection. These include .tc (transcopy), CP2 (Copy II PC+Snatchit), .IMG (ImageDisk) and .TD0 (Teledisk) formats, as well as PCE's own PFI/PSI formats.

I'd start by trying to convert the KF stream file to .TC and see if you can get it to run in PCE.

If you'd like to post the Kryoflux stream file and link to it here (or PM me a link if you don't want it available publicly) I could take a look at it and see what kind of copy protection it uses.

nightson
Posts: 10
Joined: Sat May 19, 2018 11:37 am

Re: Problem with converting 160K PC Booter to img or other formats.

Post by nightson » Tue Feb 12, 2019 2:35 am

SomeGuy wrote:
Mon Feb 11, 2019 11:31 pm
A quick google search for this title indicates that it is copy protected. This means a 160k ".img" file will not work, as you loose the copy protection bits.

PCE comes with tools for converting Kryoflux streams to other formats that can retain some forms of copy protection. These include .tc (transcopy), CP2 (Copy II PC+Snatchit), .IMG (ImageDisk) and .TD0 (Teledisk) formats, as well as PCE's own PFI/PSI formats.

I'd start by trying to convert the KF stream file to .TC and see if you can get it to run in PCE.

If you'd like to post the Kryoflux stream file and link to it here (or PM me a link if you don't want it available publicly) I could take a look at it and see what kind of copy protection it uses.
Thanks for the explanation. I don't really know how to use the PCE tools. Just PMed you the link to the stream files.

By the way, how do I learn to hex edit raw files or sector images, identify copy protections and know what parameters I should use with PCE tools to properly convert the raw files? I'm not tech-savvy but I'm really eager to learn. I just can't find a website or book that explains all this in details.

SomeGuy
Posts: 218
Joined: Wed Feb 18, 2015 8:18 pm

Re: Problem with converting 160K PC Booter to img or other formats.

Post by SomeGuy » Wed Feb 13, 2019 1:39 am

The good news is this disk uses a primitive copy protection scheme. It simply uses mis-numbered sectors. That means the lowest common denominator that can store this software is ImageDisk. (Teledisk, Copy II PC, and Transcopy formats would also work). I PMed you a link with the disk converted to ImageDisk. To run it, the emulator must support IMD files. It seemed to work fine for me in PCE.

Identifying copy protection is not always easy. Sometimes the only way to be absolutely sure is to test every single line of code in a program using a copy. In this case I was simply able to see the mis-numbered sectors by viewing the stream file using the HxC software.

Oddly, the PCE tools had some problem decoding the stream file. It may be that you used a "guided" stream rather than a "preservation" stream - although that should have still worked. You didn't happen to dump the disk while set to high density (density line low)? while that usually still works, once in a while odd decoding issues can happen.

At any rate, the "PCE tools" are a set of command line tools that accompany the PCE emulator (PSI.EXE, PRI,EXE and PFI.EXE) that process sector, raw, and flux images. Their usage is quite complicated, but it is possible to do some rather advanced things with them.

(Of course, note that HxC software and PCE are third party programs and not supported or endorsed by the Kryoflux folks)

nightson
Posts: 10
Joined: Sat May 19, 2018 11:37 am

Re: Problem with converting 160K PC Booter to img or other formats.

Post by nightson » Wed Feb 13, 2019 2:45 am

SomeGuy wrote:
Wed Feb 13, 2019 1:39 am
The good news is this disk uses a primitive copy protection scheme. It simply uses mis-numbered sectors. That means the lowest common denominator that can store this software is ImageDisk. (Teledisk, Copy II PC, and Transcopy formats would also work). I PMed you a link with the disk converted to ImageDisk. To run it, the emulator must support IMD files. It seemed to work fine for me in PCE.

Identifying copy protection is not always easy. Sometimes the only way to be absolutely sure is to test every single line of code in a program using a copy. In this case I was simply able to see the mis-numbered sectors by viewing the stream file using the HxC software.

Oddly, the PCE tools had some problem decoding the stream file. It may be that you used a "guided" stream rather than a "preservation" stream - although that should have still worked. You didn't happen to dump the disk while set to high density (density line low)? while that usually still works, once in a while odd decoding issues can happen.

At any rate, the "PCE tools" are a set of command line tools that accompany the PCE emulator (PSI.EXE, PRI,EXE and PFI.EXE) that process sector, raw, and flux images. Their usage is quite complicated, but it is possible to do some rather advanced things with them.

(Of course, note that HxC software and PCE are third party programs and not supported or endorsed by the Kryoflux folks)
Wow. Thanks! Can you show me the commands you used to covert the stream files?

I used the GUI to output both "preservation" stream and img. This is the command from the log:

Code: Select all

DTC.exe -l15 -fE:\Program\Media\Dumping\kryoflux_3.00_windows\dtc\EXECUTIVE_SUITE\track -i0 -fE:\Program\Media\Dumping\kryoflux_3.00_windows\dtc\EXECUTIVE_SUITE.img -z2 -n+8 -k2 -v300 -i4 -r5 -d0 -p -e83 -dd0
Why is track 21 on side 0 marked as modified in DTC? The disk is very clean and write protected. Is it the copy protection you mentioned?

Could you tell me how exactly you identified the misnumbered sectors or show me how to get the needed knowledge? Thanks!

SomeGuy
Posts: 218
Joined: Wed Feb 18, 2015 8:18 pm

Re: Problem with converting 160K PC Booter to img or other formats.

Post by SomeGuy » Wed Feb 13, 2019 3:58 am

nightson wrote:
Wed Feb 13, 2019 2:45 am
Wow. Thanks! Can you show me the commands you used to covert the stream files?
Well, actually, this time I cheated :) Since the PCE tools were acting funny, and even HxC was acting a tad wonkey I just wrote the Kryoflux image to a disk and read it back with ImageDisk.

Normally, HxC can export directly to IMD format.

The PCE commands I would normally use to export to Imagedisk from a low-density image read in a 1.2mb drive are:

Code: Select all

pfi track00.0.raw disk1.pfi 
pfi disk1.pfi -p double-step -R 1 -r 600000 -p decode pri disk1.pri
pri disk1.pri -p decode mfm disk1.psi -f -v
psi disk1.psi disk1.imd
psi disk1.psi -L > disk1.txt

erase disk1.pfi
erase disk1.pri
nightson wrote:
Wed Feb 13, 2019 2:45 am
I used the GUI to output both "preservation" stream and img. This is the command from the log:

Code: Select all

DTC.exe -l15 -fE:\Program\Media\Dumping\kryoflux_3.00_windows\dtc\EXECUTIVE_SUITE\track -i0 -fE:\Program\Media\Dumping\kryoflux_3.00_windows\dtc\EXECUTIVE_SUITE.img -z2 -n+8 -k2 -v300 -i4 -r5 -d0 -p -e83 -dd0
nightson wrote:
Wed Feb 13, 2019 2:45 am
Why is track 21 on side 0 marked as modified in DTC? The disk is very clean and write protected. Is it the copy protection you mentioned?
I don't exactly know.

When I tested the game, it did report that there was an existing "resume" already on the disk. I don't know if that was placed there at the factory, but my guess would be that some user saved it. It does permit save games, and since this is non-DOS I would assume saves are written directly to the original disk.

A few modified sectors can also indicate things like serial numbers written at the factory, or program configuration changes.
nightson wrote:
Wed Feb 13, 2019 2:45 am
Could you tell me how exactly you identified the misnumbered sectors or show me how to get the needed knowledge? Thanks!
I'd suggest downloading and trying out the HxC software (you don't need their hardware to run it) http://hxc2001.free.fr/floppy_drive_emu ... l#download It is fairly friendly and can plot out a "disk view" that can help you understand how things are arranged.

...

Also... a GAME about getting a job at a software company?! Please kill me. You know it's an old game because it thinks there are actual software related jobs and they are in the US!

dlfrsilver
Posts: 115
Joined: Fri Nov 12, 2010 8:08 pm

Re: Problem with converting 160K PC Booter to img or other formats.

Post by dlfrsilver » Mon Feb 25, 2019 1:01 pm

Just for information, this is NOT a 5.25" 360kb 300 RPM disk, but a 5.25" 1.2mb 360 RPM disk.

Just look at the log :

00.0 : frev: 41458, drift: 0.100 us, tfer: 235090 B/s, rpm: 359.664 <= look at this
00.0 : base: 2.000 us [99.857%], band: 3.990 us, 5.999 us, 8.014 us

Or, the problem is that you use a 5.25" 1.2mb 360 RPM drive to read a 300 RPM written disk. This can't work.

SomeGuy
Posts: 218
Joined: Wed Feb 18, 2015 8:18 pm

Re: Problem with converting 160K PC Booter to img or other formats.

Post by SomeGuy » Tue Feb 26, 2019 3:30 am

He was not trying to write a new 360k disk with a 1.2mb drive, he was just trying to get the resulting image to run in an emulator. Kryoflux can read low density 5.25" disks fine using either 360k or 1.2mb drives.

Post Reply