Re: [hatari-devel] IPF file format support (Kyroflux) (in addition to STX)

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


On 18/02/2012 17:55, Matthias Arndt wrote:
Hello,

it seems another storage scheme for copy protected disks is coming up.

There is also a sort of library for this:
http://www.atari-forum.com/viewtopic.php?f=95&t=21554

Maybe Hatari should feature a common API for adding the formats, so that
in the end only FDC wrappers are needed and they forward all access to
sublibraries which are then seperate for fileformats?

Basically put the existing code for ST/MSA/DIM into on sublibrary and
late add for STX and IPF?

Regards,
Matthias

Hello

regarding IPF format, I already contacted the authors some weeks ago ; they would interested in an ST emulator that would support their format and hopefully, they shouls send me a few code examples to see how to init the different structures (although I understand how their library work, I don't have time to figure out myself the correct way to init the different structures).

As for sperating the different formats in a more general abstraction, I already started working on this (for ST/MSA/DIM, it's not a huge work). I'm waiting for spare time to work on STX and/or IPF to finish this more generic abstraction.

But in the end STF/IPF are so much complex, that we would in fact need two kinds of "API" : one for simple formats like ST/MSA/DIM (fixed sector size, no special status register, ...) that would go in the current fdc.c code, and another one for complex formatz such as STX/IPF.

For these complex formats, the "API" is already here : intercept all access to $ff86xx and do the work outside of fdc.c :) This may look simplistic, but there's no way to make a common API (in the way of using common functions) when both formats have different logic and eventuallt mimic the full behaviour of the FDC.

Best approach is a low level interception of all accesses.

The only common code that would be shared would be the one for the dma disk that buffers bytes by blocks of 16.


Nicolas



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/