TeaRex wrote:DrCoolZic, if I understand correctly what IFW is saying there are actually TWO VERY DIFFERENT KINDS of NFA:
1.) Really no flux transitions are present on the disk, a normal FD controller sees random data.
2.) There are in fact flux transitions on the disk, but they're arranged in an ingenious way, so that a normal controller sees only zeros.
Since these are two very different things it is perhaps confusing to call both of them NFA.
This is a never ending debate among specialists
In my opinion the first one does not exist as it would require extremely specific drives with erase capability and as far as I know duplication machine like trace could not do that.
But as you and IFW mentioned by using clever flux transition sequence you end up with exactly the same thing: NO FLUX coming out from the drive
. So in both cases
the FDC does not receive any flux transitions (apart from possible random transitions due to the fact the ACG is boosted to a max but I have never seen this to happen on all samples that I have done)
As I understand IFW, Theme Park Mystery is 2.) above. And the library does emulate it by giving you zeros, which in an emulator should be passed as-is to the emulated controller and NOT replaced with random data. For case 1.) the library does indeed give you random data (if you call it the right way), which again should be passed as-is to the emulated controller.
I am sorry because I have created confusion
and this is due to the fact that a standard so called preservation format usually does not have the capability to store (and in most case to detect) NFA. So usually what is stored is what is read from a FDC that is fuzzy bits. These fuzzy bits are due to the fact that the internal DPLL of the FDC get lost (no more transition) and therefore when the flux come back the bits are not decoded correctly ....
KryouFlux and IPF format are smart and therefore they can detect and store the fact that there is a No Flux Area
and this information is directly passed to the client.
- if the client is for example a KryoFlux board that wants to write back the original disk, then the SW will generate specific transitions to create the NFA
- if the client is a machine emulator (FDC emulator) it will take this information and generate for example strings of 0 followed by fuzzy bits ...
Please correct me if I got this wrong. Also I wonder how you create 2.) above? Very short "blips" in magnetic flux?
IFW already replied: abuse of bit shifting
You can have a look at my web page http://info-coach.fr/atari/hardware/FD-Hard.php#writing
I need to write a more specific section on NFA