How I fixed a DMP file using multiple DMP files

The other day Peepo submitted as few dumps of “Killing Machine”, for which he was having read errors in TAPClean.

The restoration was done using two DMP files: DUMP1310.DMP and DUMP1311.DMP. Neither DMP file is 100% healthy, but they show issues in non-overlapping sections.

As it is easier to work with TAP files, I first converted the DMP files to TAP with dc2nconv.

From DUMP1310.TAP (broken pattern is in square brackets):

0001AA10 45 1A 45 1A 45 1A 44 1B 45 1A 46 1A 46 19 46 19 E.E.E.D.E.F.F.F.
0001AA20 46 18 48 16 49 16 49[15 36 12 12 40]41 43 43 45 F.H.I.I.6..@ACCE
0001AA30 43 42 43 44 44 43 43 43 43 42 43 43 43 43 43 43 CBCDDCCCCBCCCCCC

Relative file offsets in DUMP1310.TAP (broken pattern is in square brackets):

0000DA90 1B 44 1A 44 1B 45 1A 45 1A 45 1A 44 1B 45 1A 46 .D.D.E.E.E.D.E.F
0000DAA0 1A 46 19 46 19 46 18 48 16 49 16 49[15 36 12 12 .F.F.F.H.I.I.6..
0000DAB0 40]41 43 43 45 43 42 43 44 44 43 43 43 43 42 43 @ACCECBCDDCCCCBC
0000DAC0 43 43 43 43 43 43 43 42 43 43 42 43 42 41 43 42 CCCCCCCBCCBCBACB
0000DAD0 47 1B 45 1A 44 1A 44 1A 44 1A 45 1A 44 1A 44 1B G.E.D.D.D.E.D.D.
             ^- reference

Relative file offsets in DUMP1311.TAP (correct pattern in square brackets):

0000DA98 19 46 19 45 19 46 19 46 19 46 19 45 19 46 19 46 .F.E.F.F.F.E.F.F
0000DAA8 1A 46 19 46 19 46 19 46 19 45 19 45[19 46 19 42].F.F.F.F.E.E.F.B
0000DAB8 42 42 43 43 43 43 43 43 42 43 43 44 44 43 42 43 BBCCCCCCBCCDDCBC
0000DAC8 43 43 43 42 43 42 43 43 43 43 43 42 42 43 43 48 CCCBCBCCCCCBBCCH
0000DAD8 19 46 18 45 19 45 19 46 19 46 19 46 19 46 19 46 .F.E.E.F.F.F.F.F
          ^- reference

Therefore [15 36 12 12 40] has to become [19 46 19 42] (the reference pulse tells us that the broken pattern contains split pulses so it’s longer than what it should be).

Moving on to the DMP file DUMP1310.DMP, using the above results:

00035830 95 01 70 04 91 01 77 04 88 01 95 04 6C 01 9A 04 ..p...w.....l...
00035840 64 01 A5 04[51 01 72 03 29 01 2B 01 10 04]21 04 d...Q.r.).+...!.
00035850 42 04 3D 04 5F 04 3F 04 33 04 39 04 4D 04 55 04 B.=._.?.3.9.M.U.

The pattern in brackets needs to change to:

[95 01 A0 04 95 01 A0 04]

C’est voilà. Job done 🙂

This entry was posted in Retrocomputing and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s