PDI <> DMK Converter analyser and extractor

Page 1/2
| 2

By tcm1998

Expert (120)

tcm1998's picture

07-04-2017, 22:04

It took me quite a bit longer than expected, but my PDI - DMK converter is finally ready

It can ...
- Convert PDI to DMK and vice versa
- Analyse both PDI and DMK to check for overlapped sectors, crc-errors, unformatted tracks, etc
- Extract sectors from either PDI or DMK (just a little helptool for myself)

It was tested by
- Converting all PDI's into DMK and testing them in openMSX (almost 100% succes *)
- Converting all DMK's I have to PDI and back and testing them in openMSX (100% succes)

*) One disk version of Nemesis doesn't seem to work on openMSX, but it was verified that the copy protection was succesfuly converted.

Sources included.

Download link: https://www.dropbox.com/s/p7gmlyk387ucx24/PDT.zip?dl=0

I will submit it for the MRC downloads aswell.

Login or register to post comments

By Louthrax

Prophet (2082)

Louthrax's picture

08-04-2017, 00:36

So we now have a way to write-back DMK images to real disks with DSK-PRO? That was impossible before if I'm not mistaking. That's great!

Can all DMK images be converted to PDI (no limitations due to the PDI / DMK format differences ?)

By tcm1998

Expert (120)

tcm1998's picture

08-04-2017, 05:12

Louthrax wrote:

So we now have a way to write-back DMK images to real disks with DSK-PRO? That was impossible before if I'm not mistaking. That's great!

Can all DMK images be converted to PDI (no limitations due to the PDI / DMK format differences ?)

So far, I haven't found any limitations in the pdi format itself, however there are still limítations to what diskpro can process. And with the knowledge I have now, I can easily come up with a protection that won't fit the format. Whether there are disks around that actually use such a protection, I don't know, but thanks to Manuel, my testset was quite extensive and contained products from parallax, bcf, bit2, fac, microcabin and a few others. I can give the full testset list if you want, but not right now, because I'm not going to type it on my phone.

By tcm1998

Expert (120)

tcm1998's picture

08-04-2017, 15:23

Minor update. There was a closing bracket missing in the explanation section (Thanks to Manuel for pointing that out). And in the sources there was a .cs file that was no longer used, which could cause confusion.

Download link is still the same

By wernerkai

Champion (357)

wernerkai's picture

06-05-2017, 04:03

Very Nice ! Are there any hardware specifications/limitations to run your tool in the PC's ?

By Manuel

Ascended (15756)

Manuel's picture

06-05-2017, 11:09

The tool can only convert between file formats, not write to physical disk. For that you need to use dskpro, with the limitations TCM mentioned.

By wernerkai

Champion (357)

wernerkai's picture

07-05-2017, 01:15

Sorry, I missed this point. I will test the tool. Thanks. Smile

By wernerkai

Champion (357)

wernerkai's picture

07-05-2017, 01:22

I have one IMD disk image of Nemesis. In my PC running Windows XP Pro 2002 SP3 @ AMD Athlon X2 Dual Core 4400+ it crashed at command prompt:

C:\>pdt a NEMESIS1.IMD
Legend:
T: tracknumber in sector header
H: headnumber in sector header
S: sectornumber in sector header
RS: real size of sector
CRChi: header CRC as found in the image
CRChc: calculated header CRC
E: Error code (0x8 = Data CRC error, 0x18 = Header CRC error, 0x20 = DAM deleted

CRCdi: data CRC as found in the image (only valid when created in hardmode
CRCdc: calculated data CRC
CRCM: Quickview which CRC(s) don't match

Processing NEMESIS1.IMD

Exceção Sem Tratamento: System.NullReferenceException: Referência de objeto não
definida para uma instância de um objeto.
em PDT.ProtectedDiskImage.PrintAnalysis()
em PDT.Program.HandleAnalysis(DiskContents dc, String[] args)
em PDT.Program.HandleFiles(HandleFile handler, String[] args)
em PDT.Program.HandleCLArguments(String[] args)
em PDT.Program.Main(String[] args)

By wernerkai

Champion (357)

wernerkai's picture

07-05-2017, 01:29

Same for convert. I will try it in MS-DOS 6.22

C:\>pdt c nemesis1.imd nemesis1.dmk
Processing nemesis1.imd

Exceção Sem Tratamento: System.NullReferenceException: Referência de objeto não
definida para uma instância de um objeto.
em PDT.ProtectedDiskImage.FindMaxTrackSize()
em PDT.DMKImage.WriteDMK(String DMKName)
em PDT.DMKImage.Write()
em PDT.Program.HandleConvert(DiskContents dc, String[] args)
em PDT.Program.HandleFiles(HandleFile handler, String[] args)
em PDT.Program.HandleCLArguments(String[] args)
em PDT.Program.Main(String[] args)

By tcm1998

Expert (120)

tcm1998's picture

07-05-2017, 09:05

PDT uses the file extension to determine how to read the source disk. Please rename it to .dsk, .pdi or .dmk and try again Smile

By wernerkai

Champion (357)

wernerkai's picture

07-05-2017, 10:17

Sorry, I completely missed the topic... In my mind I thought it was for IMD <> DMK files. I don't use PDI format since DSKPRO has many limitations. Thanks...

Page 1/2
| 2