Need 16 bit targa images extracted from proprietary floppy

Do you need consulting from ImageMagick experts and are willing to pay for their expertise? Or are you well versed in ImageMagick and offer paid consulting? If so, post here otherwise post elsewhere for free assistance.
Post Reply
rmay635703
Posts: 4
Joined: 2014-04-07T15:09:41-07:00
Authentication code: 6789

Need 16 bit targa images extracted from proprietary floppy

Post by rmay635703 » 2014-04-07T15:38:53-07:00

I have an antique QLT Futura Computer Portrait system (innovion PGSIII) this was used for early animations and also by people like me for photography in ages long gone.

I would like a simple utility that downloads the targa image file off the proprietary 720k IDos III disk from the Futura.

I am able to read images and copy this disks using various disk imaging programs and have manually gotten the "image" out of the disk but the images always end up with the color maps messed up.

I am thinking a simple program that dumps the disk and extracts the targa file out would be ideal, not a whole lot of money in it but I can provide an image of one or two of the photo disks (slow connection here, if you have a place to place the files for download it would be great), really simple to copy and dump using herne data systems old software.

The disk basically has some extraneous data then the targa file and then nothing, easy to see in a hex editor but not sure how to image a non-dos disk and dump the right part to a file all in one simple step.

Anyone think imagemagick could do this? I couldn't find anything that would "find" the image since its just a bunch of hex without any real headers.

Thanx
Ryan

User avatar
dlemstra
Posts: 1554
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: Need 16 bit targa images extracted from proprietary flop

Post by dlemstra » 2014-04-07T15:47:19-07:00

You could post your image on dropbox. And do you have some more info on how you manually detected the location of the file? And how many disks are you planning to convert? Might be cheaper to do it manually.
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate

rmay635703
Posts: 4
Joined: 2014-04-07T15:09:41-07:00
Authentication code: 6789

Re: Need 16 bit targa images extracted from proprietary flop

Post by rmay635703 » 2014-04-07T15:50:39-07:00

Cheaper to do manually but I will probably do several hundred images.
It literally should only take 15 minutes for the right person to make a program to dump the disk, I found the image location by looking at the disk in HEX, I dumped it to a file, changed the extension and deleted the useless bits so it would match up to the targa header requirement. Voila I can see the image and vaguely know what it is but sadly its all pseudo colors.

One guy gave me a bit of C code that should have dumped the disk to a file and I just needed to provide the locations of the info, sadly I couldn't get it to compile and work (my antique Hi-c may not have been up to the task, that and I only had one C++ coarse and probably botched something)

Ah well.

User avatar
dlemstra
Posts: 1554
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: Need 16 bit targa images extracted from proprietary flop

Post by dlemstra » 2014-04-07T15:56:27-07:00

What is the operating system you are working on and how do you access the disk?
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate

rmay635703
Posts: 4
Joined: 2014-04-07T15:09:41-07:00
Authentication code: 6789

Re: Need 16 bit targa images extracted from proprietary flop

Post by rmay635703 » 2014-04-07T16:04:55-07:00

Right now I am dumping the disk using an antique program called herne data systems maxidisk.

In the past I have used other imaging programs, not sure what the best one is to dump it clean in original format.

This program basically images the whole floppy to a file, I then use a random hex editor to remove what I don't want, but this method results in a viewable but useless file because the colors are jacked up.

Right now I am playing under Windows 98 but I would prefer to be able to do it in Windows 2k or XP but 9x is OK if it needs to be done that way.

Thanx
Ryan

rmay635703
Posts: 4
Joined: 2014-04-07T15:09:41-07:00
Authentication code: 6789

Re: Need 16 bit targa images extracted from proprietary flop

Post by rmay635703 » 2014-04-07T16:12:55-07:00

been sitting on this a while, not sure it could dump a floppy with no file system though

#include <iostream>

#include <fstream>



int main ()

{

const size_t OFFSET = 0x2400;

const std::streamsize IMGSIZE = 720 * 1024 - OFFSET;



const char header [] =

{

0xDE, 0xAD, 0xC0, 0xDE, 0xDE, 0xAD, 0xC0, 0xDE,

0xDE, 0xAD, 0xC0, 0xDE, 0xDE, 0xAD, 0xC0, 0xDE,

0xDE, 0xAD, 0xC0, 0xDE, 0xDE, 0xAD, 0xC0, 0xDE,

0xDE, 0xAD, 0xC0, 0xDE, 0xDE, 0xAD, 0xC0, 0xDE

};



char buffer [IMGSIZE];

std::ifstream img;

std::streamoff length;



img.exceptions (std::ios::failbit | std::ios::badbit);

try

{

img.open ("\\\\.\\A:", std::ios::in);



img.seekg (OFFSET, std::ios::beg);

img.read (buffer, sizeof (buffer));

length = img.tellg ();

if (length == -1)

{

std::cerr << "Unable to determine the length of the "

"read-in data, aborting." << std::endl;

return 1;

}

else

length -= OFFSET;

img.close ();

}

catch (std::ifstream::failure &e)

{

std::cerr << "Unable to load the image: " << e.what () <<

std::endl;

return 2;

}



std::ofstream writeout;



writeout.exceptions (std::ios::failbit | std::ios::badbit);

try

{

writeout.open ("extracted.tga", std::ios::out);

writeout.write (header, sizeof (header));

writeout.write (buffer, length);

writeout.close ();



std::cout << "Wrote " << length + sizeof (header) <<

" bytes of data." << std::endl;

}

catch (std::ofstream::failure &e)

{

std::cerr << "Unable to write out the image: " << e.what () <<

std::endl;

return 3;

}



return 0;

}



The basic idea is that if you open \\.\A:, it works as a bag of bits. (The only time you need to bother with cylinders, heads and sectors is if you're writing a floppy bootloader, since the BIOS services to access a floppy disk only understand cylinders heads and sectors. For everything else, the BIOS supports the use of logical block addressing, i.e. LBA, which makes the device look like an array of sectors indexed by sector number. And all modern OSes let you access devices as bags of bits just like any other file.)

User avatar
dlemstra
Posts: 1554
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: Need 16 bit targa images extracted from proprietary flop

Post by dlemstra » 2014-04-07T16:38:11-07:00

Can you post the dump of the disk on dropbox (https://www.dropbox.com)?
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate

Post Reply