News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Is there CDT to Dsk Convertor Tool?

Started by dcdrac, 00:56, 17 March 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dcdrac

is there a tool to convert CDT files to DSK files that works with Windows 7?

Neil79

Wish there was, imagine playing DSK files through your mobile using the cassette input!
The latest in Indie & Retro News!!! IndieRetroNews - Indie Retro News on twitter

Cholo

I guess the trouble with CDTs is that that all those commercial games is protected in many many different ways. Infact even making working CDT from the real tapes can be really difficult (bordering on impossible in some cases). So doing the next step from CDT to DSK is just as difficult if not more as youll need to "crack" the data as well.

Luckily you can say that its a "old" problem as people also wanted their tape games converted to disc format back in the days. So even if there isnt a easy windows tool to do it, you can still emulate what they did back in the old days. Good emulators like WinApe can even emulate hardware like Multiface II that made making backups of protected games a bit easier in some cases. Still gonna require a fair amount of manual work in a emulator. Still copying something unprotected like a Elite Software game aka Commando, Ghost N Goblins, 1942 only takes a quick 5 mins with Amsback & CPCE due to the tape speedup.

EgoTrip

Providing that the format of the CDT allows it, you could always simply load up a program like JL Copy (it was on an AA tape), and use that to copy your tape to disk in an emulator.

The vast majority of commercial stuff already exists as DSK files though, so maybe its better to just download if they already exist.

pelrun

#4
Quote from: Neil79 on 15:28, 19 March 14
Wish there was, imagine playing DSK files through your mobile using the cassette input!


Oh man, that innocuous comment sent me on a quest to write something incredibly silly.  ::)


I now have a toolchain that converts a DSK to a CDT that writes the image to the disk in drive A when it's run. Obviously, it's ridiculously slow, but you only need a tape cable to use it, unlike my original PC2CPC from the mid-90's that used the old parallel transfer cable.


Right now I'm spooling Tau Ceti into an emulator, in a couple more hours I might be able to test it.  8)


Edit: and it *almost* worked. I've tracked down the problem to 2cdt - certain files don't get properly written to the CDT, with a chunk of bytes at the beginning of the file going missing.


Edit 2: 0x80 bytes go missing... *facepalm* the sectors that are failing are the ones that contain the start of a file, so they've got a valid AMSDOS header in them... and 2cdt is being too clever by half and parsing it.

redbox

Quote from: pelrun on 13:54, 01 April 14
I now have a toolchain that converts a DSK to a CDT that writes the image to the disk in drive A when it's run. Obviously, it's ridiculously slow, but you only need a tape cable to use it, unlike my original PC2CPC from the mid-90's that used the old parallel transfer cable.

This would appear incredibly futile, but I simply love the concept (and execution!) purely because you've actually tried it  ;D

pelrun

If there was any futility in what I've done, it was when I used this in an emulator - because I just ended up with another DSK at the end of it  ;D



Time to try it on my 6128...

arnoldemu

#7
you got me worried about 2cdt then ;)

yes it recognises amsdos headers etc.

btw, although people think this tool is useless I do not.



Question about the tool:

This tool takes the data from a disk and a description of the sector ids and puts them into a file using 2cdt?

Then when it's run on a real cpc it reads it in and re-creates the dsk by formatting then writing the data?

Another question:

Does it recognise empty sectors and do any kind of compression to reduce the amount of data it needs to transfer? I think with discs that have few files on them it will not need to transfer much data.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

redbox

Quote from: arnoldemu on 09:20, 02 April 14
btw, although people think this tool is useless I do not.

I don't think it's useless either - I said it appears futile, but infact isn't.  :)

I can imagine several scenarios where it would be very useful.  And as for having the time and dedication to make it - I admire the tool all the more for that...!

arnoldemu

Quote from: redbox on 11:41, 02 April 14
I don't think it's useless either - I said it appears futile, but infact isn't.  :)
sorry, my misunderstanding.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

pelrun

Quote from: arnoldemu on 09:20, 02 April 14
you got me worried about 2cdt then ;)

yes it recognises amsdos headers etc.
Sorry about the scare :) It's certainly an unexpected case to have a file with a valid amsdos header that isn't *actually* the header for the file. I stuck a quick option in there to write the raw file to the cdt, without any parsing (although I then moved to whole tracks instead of individual sectors, so the problem went away.)

Quote from: arnoldemu on 09:20, 02 April 14Question about the tool:

This tool takes the data from a disk and a description of the sector ids and puts them into a file using 2cdt?

Then when it's run on a real cpc it reads it in and re-creates the dsk by formatting then writing the data?

It pretty much puts the whole DSK file into the CDT almost unadulterated, with a small program at the start to read it in, parse it, and recreate the disk.


Quote from: arnoldemu on 09:20, 02 April 14
Another question:

Does it recognise empty sectors and do any kind of compression to reduce the amount of data it needs to transfer? I think with discs that have few files on them it will not need to transfer much data.

Not yet. I've downloaded Exomizer with a mind to compressing the tracks; but initially I've changed the CDT layout to minimise the number of separate files, put them in headerless and at 4000 baud, and used cngsoft's nice CALLBCA1 routine to read them in. Now only 13 seconds per track! New flashy border! (makes it faster, obviously!)


pelrun

And now I've got Exomizer jammed in there too. It's definitely worth it; a track filled with only one byte goes from 4k+ to 77 bytes!
The worst tracks on my test image were still about 1k smaller. One disk side only takes a few minutes to spool in now. Probably faster than the original game took to load off tape  :P



arnoldemu

Quote from: pelrun on 01:50, 03 April 14
Sorry about the scare :) It's certainly an unexpected case to have a file with a valid amsdos header that isn't *actually* the header for the file. I stuck a quick option in there to write the raw file to the cdt, without any parsing (although I then moved to whole tracks instead of individual sectors, so the problem went away.)

was it all zeros?

I need to fix that case in the tool.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

Quote from: pelrun on 08:53, 03 April 14
And now I've got Exomizer jammed in there too. It's definitely worth it; a track filled with only one byte goes from 4k+ to 77 bytes!
The worst tracks on my test image were still about 1k smaller. One disk side only takes a few minutes to spool in now. Probably faster than the original game took to load off tape  :P
You could preprocess it, then a track filled with 1 byte would become close to 1 byte ;)
(excluding the ids LOL )
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

pelrun

Quote from: arnoldemu on 09:26, 03 April 14
was it all zeros?

No, it was a sector containing the beginning of a file. So it starts with the amsdos header of the file in the sector, but it's not the header of the sector file itself.


Quote from: arnoldemu on 09:29, 03 April 14
You could preprocess it, then a track filled with 1 byte would become close to 1 byte ;)
(excluding the ids LOL )
What's the point? The leader on the block is already far longer than the block itself. I'm trying to make a useful (if silly) tool, not a demonstration of optimization masturbation  ;D

Devilmarkus

I once begun coding a DSK tool in Java.
Goal was to transfer files from/to DSK.
Sadly it only supports 40 tracks DATA format yet...

But you can drag & drop CDT files into it and it then will extract all files from CDT to a blank DSK (Create new DSK first!)

Of course this only works for regular tapes (With regular headers)

JAR file!
If it doesnt open by default (double click) put a .bat file with content like:

java -jar DSKTool.jar

Have fun with it (Alpha, never finished)

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

dcdrac

I see a lot of class files but no jar files

pelrun

Rename the .zip to .jar and you should be good to go.

Devilmarkus

Quote from: dcdrac on 22:15, 03 April 14
I see a lot of class files but no jar files

Well when you download and unzip the file I attached, you will see a jar file:

[attachimg=1]

When you unzipped it, and the DSKTool.jar opens up with your zip program, your registry entries are messed up and you need to put a .bat file into the folder... Containing: Java -jar DSKTool.jar
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

pelrun


Powered by SMFPacks Menu Editor Mod