IPF support and tests

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2809
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

IPF support and tests

Postby AtariZoll » Tue May 28, 2013 1:54 pm

I start new thread, as is recommended.
Converting ST/MSA to IPF. as Npomarede wants : I don't see some enough detailed IPF description where we have infos about gaps etc - correct me if I'm wrong. So, solution would be to use existing IPF images of not copy protected games. There is a lot with standard 9 and 10 sector/track formats.
We need practically only to replace sector data areas (CRC likely not, if it is flagged as unprotected). With doing track read of couple tracks from IPF image, we can see gaps very accurately, so will know is it with standard values.
Then just need some simple SW which will automatically write all sectors from ST or MSA into IPF. Any comments ?
I will make it very soon if idea is not totally dumb :D
Negative feedback has usually positive effect.

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Wed May 29, 2013 8:51 am

AtariZoll wrote:I start new thread, as is recommended.
Converting ST/MSA to IPF. as Npomarede wants : I don't see some enough detailed IPF description where we have infos about gaps etc - correct me if I'm wrong. So, solution would be to use existing IPF images of not copy protected games. There is a lot with standard 9 and 10 sector/track formats.
We need practically only to replace sector data areas (CRC likely not, if it is flagged as unprotected). With doing track read of couple tracks from IPF image, we can see gaps very accurately, so will know is it with standard values.
Then just need some simple SW which will automatically write all sectors from ST or MSA into IPF. Any comments ?
I will make it very soon if idea is not totally dumb :D

Hello
I agree with you on the method, I had the same idea : build a kind of skeleton based on studying several non protected games and insert the ST/MSA data in place. I think that CRC would need to be computed, else caps library / read sector command will complain when reading this custom made file and the emulated FDC will get a CRC error in status register. But at least, updating the CRC will not change any pointer and the file size will remain the same, so it should be rather easy to do.
I don't have time to work on this at the moment, so that's great if you can do it.
Nicolas

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 12:57 pm

DrCoolZic-says-by-error wrote:Sorry to say but it looks like you do not have a good understanding of the IPF format :roll:

What you describe is unfortunately not feasible. An IPF file does not contain directly any data byte information like ST/MSA/STX etc. The information stored is at "the flux transition level" so in order to get bytes you have to "decode" them. This is why it is probably more complex that you think.

Sorry my mistake IPF indeed does contains data bytes

SPS does not provide a nice documentation about IPF format and therefore I have created a preliminary document http://info-coach.fr/atari/software/pro ... tation.pdf

Go to this page http://info-coach.fr/atari/software/projects/IPF.php (not much but a starting point) to get interesting links and also a description of the CAPS lib.
other links
http://forum.kryoflux.com/viewtopic.php?f=7&t=365
http://forum.kryoflux.com/viewtopic.php?f=7&t=324
Last edited by DrCoolZic on Wed May 29, 2013 2:54 pm, edited 1 time in total.

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Wed May 29, 2013 1:05 pm

Sorry, but I'm not sure you're 100% correct. I had a look at some unprotected disk image, and I can tell you the 512 byte sector are clearly visible and stored as 512 bytes. The address ID field is also in "plain" format as 6 bytes.
So, my understanding of the format is that in the case where the track has no particularity, it is stored as a rather compact block of decoded bytes, without flux transition.

At least, that what I see when viewing several different IPF files in a hex editor.

Nicolas

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 1:17 pm

Before I stopped to work on Atari stuff I was working on a different approach: To provide an FDC interface similar to the one provided by the CAPS library but that would be able to read all Atari formats.
I already have a program that can read Kryoflux Stream files, IPF files and partially STX files (I was expecting some information from Ijor that I did not get).

The difficult part to read Stream/IPF files is that you have to convert the bit flux transitions to bytes. I am using an algorithm based on Patent US4780844 http://info-coach.fr/atari/documents/ge ... 780844.pdf that I have developed long time ago for the discovery cartridge because this algorithm (or similar) is used in WD1772.

You can look at the KFAnalyze program user’s manual http://info-coach.fr/atari/software/pro ... nalyze.pdf "Inner Working section” to better understand how the internal PLL algorithm works. I also have a similar program not yet published called IPFAnalyze program that does exactly the same thing but from IPF file, and I was working on a STXAnalyze program that guess what works from STX file.

Unfortunately I am not familiar with simulation/emulation techniques and I am lost in Steem. But I guess my work can probably be used in this context.

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 1:22 pm

npomarede wrote:Sorry, but I'm not sure you're 100% correct. I had a look at some unprotected disk image, and I can tell you the 512 byte sector are clearly visible and stored as 512 bytes. The address ID field is also in "plain" format as 6 bytes.
So, my understanding of the format is that in the case where the track has no particularity, it is stored as a rather compact block of decoded bytes, without flux transition.

At least, that what I see when viewing several different IPF files in a hex editor.

Nicolas

You may be right :) I have not looked at these things for quite some time and I may be confused between Stream (which for sure is at flux level) and IPF
I will check and sorry if I provided false information.

Edit: Yes you are right the IPF file contains already decoded bytes in the DATA records. However the overall format is not that easy ...

Edit/Edit Further looking the proposed method should work but is a bit ugly I would prefer to use what is described here http://forum.kryoflux.com/viewtopic.php?f=7&t=324
Last edited by DrCoolZic on Wed May 29, 2013 2:47 pm, edited 2 times in total.

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 2:00 pm

Another topic that was raised is the problem of precision of the timing in Steem using Normal(ST/MSA) / STX / IPF files versus real Atari.

Back in 2008 I have developed a program called PANZER (Protection ANalyZER) that runs on Atari (and therefore on Steem) and provides a lot of timing information. It is for example possible to know the exact position in microsec of a sector in reference to the index or sector/track lengh and to some degree value of byte width in a sector to detect long/short sectors or intra sector variation. For that matter I have developed a FDC library that interact directly with the HW and provide timing information not available from std lib. To get maximum precision I have even written a tiny part of the lib in higly optimized 68000 ASM (interesting as I am not at all an ASM guy). :lol:

I was thinking that it could be interesting to take one game and measure timing info on real Atari with Panzer and use the IPF and STX verstion of the game to measure the same timings in Steem.

As I have not used Steem or Atari for over a year and therefore I will need to setup a test environment to check this program.

Yesterday I have finally compiled Steem using Visual Studio 2012 (I am waiting for 3.5.1 to do real work) and therefore I should be able to test also the program using Steem.

Steven Seagal has published Blood money in STX and IPF format and I have the Floppy at home. So this game might be a good candidate to perform some tests.
By the way I wonder where he got that from as this game has not been published anywhere??? As I mentioned somewhere else I have never received any IPF file for the 80+ games that I have submitted to SPS people (about 2 years ago)

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Wed May 29, 2013 2:13 pm

DrCoolZic wrote:Another topic that was raised is the problem of precision of the timing in Steem using Normal(ST/MSA) / STX / IPF files versus real Atari.

Back in 2008 I have developed a program called PANZER (Protection ANalyZER) that runs on Atari (and therefore on Steem) and provides a lot of timing information. It is for example possible to know the exact position in microsec of a sector in reference to the index or sector/track lengh and to some degree value of byte width in a sector to detect long/short sectors or intra sector variation. For that matter I have developed a FDC library that interact directly with the HW and provide timing information not available from std lib. To get maximum precision I have even written a tiny part of the lib in higly optimized 68000 ASM (interesting as I am not at all an ASM guy). :lol:

I was thinking that it could be interesting to take one game and measure timing info on real Atari with Panzer and use the IPF and STX verstion of the game to measure the same timings in Steem.

That's exactly what I intend to. Problem is that in my case I don't have a disk avaible at the same time as a real floppy disk, an ST/MSA image, an IPF image or an STX image.
By being able to convert a standard ST/MSA file into a standard floppy disk (regarding gaps) and into the equivalent IPF file, I would be able to perform precise tests of the same data under real and emulated HW.
Of course, this would not be enough to study complex format with weak bits and so on, but being able to presicely measure standard accesses would allow to have some reference values and could help improving emulation
As I have not used Steem or Atari for over a year and therefore I will need to setup a test environment to check this program.

Yesterday I have finally compiled Steem using Visual Studio 2012 (I am waiting for 3.5.1 to do real work) and therefore I should be able to test also the program using Steem.

Steven Seagal has published Blood money in STX and IPF format and I have the Floppy at home. So this game might be a good candidate to perform some tests.
By the way I wonder where he got that from as this game has not been published anywhere??? As I mentioned somewhere else I have never received any IPF file for the 80+ games that I have submitted to SPS people (about 2 years ago)

I found nearly all the Atari IPF files listed in SPS using google ; look for torrent or things like that, some sites are hosting them.

Nicolas

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 2:43 pm

npomarede wrote: Problem is that in my case I don't have a disk available at the same time as a real floppy disk, an ST/MSA image, an IPF image or an STX image.

Does that mean you do not have Kryoflux?
If you have Kryoflux you can use an IPF file and create a FD from it and from the FD you can do an STX

I found nearly all the Atari IPF files listed in SPS using google ; look for torrent or things like that, some sites are hosting them.

They have a list of 305 games for Atari (did not change for years) and I have 304 of them ;)
and my mistake Blood money is there :)

I have just run PANZER (using Steem) on a FD with track 0 with 10 sectors with sector 10 partially unformatted (classic protection) and here are the results.
Notice that it gives position and lenght of all ID/DATA/GAPs block as well as bytes width
Look specially at block 10 as it is unformatted (something like what describe here http://info-coach.fr/atari/software/pro ... is.php#d50)
You will see that the PLL of the WD1772 get crazy and returns out of bounds byte width 8)

Code: Select all

Layout of track 0 head 0 - 6240 bytes 10 sectors - GAP1 99 bytes
---+--------+---------------+--------+-------+--------------------+---------
Sct|GAP2    |ID             |GAP3A   |GAP3B  |DATA                |GAP4
#  |Pos  Bt |Pos  Start  CRC|Pos  Bt |Pos  Bt|Pos  Bt   Time   CRC|Pos  Bt
---+--------+---------------+--------+-------+--------------------+---------
1  |99    15|114  3673    OK|121   22|143  15|158  515  16571   OK|673  35 
2  |708   15|723  23273    ?|730   24|754  14|768  515  16590    ?|1283 33 
3  |1316  15|1331 42844   OK|1338  22|1360 15|1375 515  16583   OK|1890 35 
4  |1925  15|1940 62452   OK|1947  22|1969 15|1984 515  16575   OK|2499 35 
5  |2534  15|2549 82046   OK|2556  22|2578 15|2593 515  16579   OK|3108 35 
6  |3143  15|3158 101654  OK|3165  22|3187 15|3202 515  16571   OK|3717 35 
7  |3752  15|3767 121255  OK|3774  22|3796 16|3812 515  16593    ?|4327 34 
8  |4361  15|4376 140875  OK|4383  22|4405 15|4420 515  16569   OK|4935 35 
9  |4970  15|4985 160475  OK|4992  22|5014 15|5029 515  16576   OK|5544 35 
10 |5579  15|5594 180080  OK|5601  22|5623 15|5638 515  16579    ?|6153 87 
---+--------+---------------+--------+-------+--------------------+---------
*** Protection Analysis Results: 3 ***
Track 0 Head 0 Sector 10 SBD FZS LGS

Description of track 0 head 0 - 6240 bytes - 10 sectors
+ GAP1 99 bytes length=3194 usec
  00000 508.63  01 01 00 01 01 00 00 00 00 00 00 00 00 00 00 01  ................
  00016 508.63  01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01  ................
  00032 508.63  01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 01  ................
  00048 512.69  01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01  ................
  00064 508.63  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 01  ................
  00080 512.69  01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01  ................
  00096 508.63  01 01 01                                         ...
++GAP2 15 bytes position=99 start=3194 length=486 usec
  00099 508.63  01 00 00 00 00 00 00 00 00 00 00 00 01 01 01     ...............
==ID 7 bytes position=114 start=3680 lenght=222 usec (sct=1 sz=512) CRC OK
  00114 508.63  01 01 00 00 00 00 00                             .......
+ GAP3a 22 bytes position=121 start=3903 length=710 usec
  00121 508.63  00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00  ................
  00137 508.63  00 00 00 00 00 00                                ......
+ GAP3b 15 bytes position=143 start=4614 length=481 usec
  00143 508.63  01 01 00 00 01 00 00 00 00 00 00 00 00 00 00     ...............
--DATA 515 bytes position=158 start=5095 length=16571 usec CRC OK
  00158 508.63  00 00 90 40 85 07 8f 6d a8 e8 00 1e c8 2a 95 92  ...@...m.....*..
  00174 508.63  0e b3 27 91 2e 38 2c 0b 6c 9b 2a b3 b1 52 72 f2  ..'..8,.l.*..Rr.
  00190 508.63  de 29 0a 0a 60 cd eb 73 05 a0 6d 1a 0d b0 ff 60  .)..`..s..m....`
  00206 512.69  85 ae 1b 01 d0 38 79 1d c3 49 83 0f 83 54 0a 54  .....8y..I...T.T
  00222 508.63  37 99 37 56 c3 29 c4 02 47 c7 4b 9f f1 8f 97 d9  7.7V.)..G.K.....
  00238 512.69  6b 9a 7b 5c ff 91 78 1c db 8b 60 14 8b f0 0d 9e  k.{\..x...`.....
  00254 508.63  d4 85 44 83 88 a3 82 43 17 c6 e5 f6 a8 4e db d4  ..D....C.....N..
  00270 504.56  48 80 27 3b 22 ce 0f 6f 10 18 af 0f f2 b4 e3 a4  H.';"..o........
  00286 524.90  7c ea 18 f6 54 c3 8d dc 1d 44 c0 68 4d 74 26 8b  |...T....D.hMt&.
  00302 528.97+ 26 67 1e f6 22 74 28 00 d0 c9 53 48 df 22 f4 9c  &g.."t(...SH."..
  00318 524.90  78 d5 9d 9a d2 12 4f 95 00 69 e5 bb 0d 88 db 70  x.....O..i.....p
  00334 520.83  42 57 30 8d c7 0d a8 95 c1 e5 30 07 7b c5 88 aa  BW0.......0.{...
  00350 528.97+ d0 45 ba b6 21 15 2b 38 68 7d 3c b7 0d 1c 29 18  .E..!.+8h}<...).
  00366 520.83  1f 58 52 bf 98 21 fd e7 8b b4 3b 94 ed 20 68 d7  .XR..!....;.. h.
  00382 528.97+ 0b 5a 57 d1 76 5a 8c 8b ff c9 2d 26 7c ac 34 3d  .ZW.vZ....-&|.4=
  00398 524.90  6b 73 66 55 5e 06 89 ee c7 3e 50 b6 5e c7 9a ee  ksfU^....>P.^...
  00414 492.35- d2 00 5d 34 fd 64 dc 58 6a 14 31 ce 79 c5 a5 b8  ..]4.d.Xj.1.y...
  00430 484.21- b6 af 57 97 60 d6 b5 42 4d 8c 5c 35 f6 37 a8 ac  ..W.`..BM.\5.7..
  00446 488.28- cc 54 b2 a7 cc bc 80 65 54 26 7e f9 35 ee 29 35  .T.....eT&~.5.)5
  00462 492.35- 09 15 1b cd c7 88 eb ba 95 a5 45 dd dc fb d8 e5  ..........E.....
  00478 488.28- a3 51 3f 32 14 ea c2 7a 62 0a ae e5 d0 af 22 94  .Q?2...zb.....".
  00494 484.21- 0c ab 6b 3f b8 d5 1b 1f 45 91 f5 71 30 9b f4 5c  ..k?....E..q0..\
  00510 492.35- ff 04 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00526 488.28- e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00542 508.63  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00558 512.69  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00574 508.63  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00590 504.56  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00606 512.69  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00622 504.56  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00638 508.63  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5  ................
  00654 508.63  e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 5a  ...............Z
  00670 520.83  26 c3 b2                                         &..
++GAP4 35 bytes position=673 start=21 length=1127 usec
  00673 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  00689 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  00705 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=708 start=22794 length=485 usec
  00708 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=723 start=23280 lenght=222 usec (sct=2 sz=512) CRC BAD
  00723 508.63  fe 00 00 02 02 14 04                             .......
+ GAP3a 24 bytes position=730 start=23502 length=775 usec
  00730 508.63  19 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09  ................
  00746 508.63  09 09 09 09 09 09 0f f0                          ........
+ GAP3b 14 bytes position=754 start=24278 length=448 usec
  00754 508.63  00 00 00 00 00 00 00 00 00 00 00 0a a1 a1        ..............
--DATA 515 bytes position=768 start=24727 length=16580 usec CRC BAD
  00768 508.63  fb f7 ff ff 03 40 00 05 60 00 07 80 00 09 a0 00  .....@..`.......
  00784 508.63  0b c0 00 0d e0 00 0f 00 01 11 20 01 13 40 01 15  .......... ..@..
  00800 508.63  60 01 17 f0 ff ff af 01 1b c0 01 1d e0 01 1f 00  `...............
  00816 512.69  02 21 20 02 23 40 02 25 60 02 27 80 02 14 0f fc  .! .#@.%`.'.....
  00832 508.63  c0 1f fc c0 0f fc c0 7f fc 46 4f fc 44 1f fc 40  ........FO.D..@
  00848 512.69  0f fc 40 3f fc 42 0f fc 00 10 7c 40 0f fc 40 7f  ..@?.B....|@..@
  00864 508.63  f9 9e 4f f9 9c 1f f9 98 0f f9 98 3f f9 92 0f f9  ..O........?....
  00880 504.56  90 1f f9 90 0f f9 90 7f f8 06 4f f8 04 1f f8 00  .........O.....
  00896 524.90  0f f8 00 3f f8 02 0f f8 00 1f f8 00 00 78 00 7f  ...?.........x.
  00912 528.97+ f8 8e 4f f8 8c 1f f8 88 0f f8 88 3f f8 82 0f f8  ..O........?....
  00928 524.90  80 1f f8 80 0f f8 80 7f f8 06 4f f8 04 1f f8 00  .........O.....
  00944 520.83  0f f8 00 3f f8 02 0f f8 00 1f f8 00 0f f8 00 00  ...?............
  00960 528.97+ 00 3e 4f f3 3c 1f f3 00 00 00 00 30 73 32 0f f3  .>O.<......0s2..
  00976 520.83  00 10 73 30 0f f3 30 7f f2 26 4f f2 24 1f f2 20  ..s0..0.&O.$..
  00992 528.97+ 0f f2 20 3f f2 22 0f f2 20 1f f2 20 0f f2 20 7f  .. ?.".. .. .. 
  01008 524.90  f0 0e 4f f0 0c 1f f0 08 0f f0 08 3f f0 02 0f f0  ..O........?....
  01024 492.35- 00 1f f0 00 0f f0 00 7f f0 06 4f f0 04 1f f0 00  .........O.....
  01040 484.21- 0f f0 00 3f f0 02 0f f0 00 1f f0 00 0f f0 00 7f  ...?...........
  01056 488.28- f1 1e 4f f1 1c 1f f1 18 0f f1 00 00 00 00 00 00  ..O.............
  01072 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01088 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01104 484.21- 00 00 00 00 00 70 7f ff ff ff ff ff ff ff ff ff  .....p.........
  01120 492.35- ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01136 488.28- ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01152 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01168 512.69  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01184 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01200 504.56  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01216 512.69  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01232 504.56  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01248 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01264 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  01280 520.83  ff 20 0c                                         . .
++GAP4 33 bytes position=1283 start=41 length=1062 usec
  01283 508.63  00 dc 84 84 84 84 84 84 84 84 84 84 84 84 84 84  ................
  01299 508.63  84 84 84 84 84 84 84 84 84 84 84 84 84 84 84 84  ................
  01315 508.63  87                                               .
++GAP2 15 bytes position=1316 start=42370 length=486 usec
  01316 508.63  ff ff ff ff ff ff ff ff ff ff ff f8 c2 a1 a1     ...............
==ID 7 bytes position=1331 start=42856 lenght=224 usec (sct=3 sz=512) CRC OK
  01331 508.63  fe 00 00 03 02 ac 0d                             .......
+ GAP3a 22 bytes position=1338 start=43081 length=709 usec
  01338 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  01354 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=1360 start=43790 length=480 usec
  01360 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=1375 start=44270 length=16578 usec CRC OK
  01375 508.63  fb 00 00 00 00 00 00 00 00 70 ff 00 00 00 00 00  .........p......
  01391 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01407 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01423 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01439 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01455 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01471 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01487 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01503 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01519 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01535 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01551 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01567 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01583 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01599 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01615 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01631 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01647 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01663 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01679 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01695 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01711 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01727 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01743 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01759 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01775 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01791 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01807 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01823 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01839 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01855 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01871 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  01887 520.83  00 ad 88                                         ...
++GAP4 35 bytes position=1890 start=60 length=1126 usec
  01890 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  01906 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  01922 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=1925 start=61975 length=479 usec
  01925 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=1940 start=62455 lenght=222 usec (sct=4 sz=512) CRC OK
  01940 508.63  fe 00 00 04 02 35 9a                             .....5.
+ GAP3a 22 bytes position=1947 start=62678 length=703 usec
  01947 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  01963 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=1969 start=63381 length=484 usec
  01969 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=1984 start=63866 length=16582 usec CRC OK
  01984 508.63  fb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02000 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02016 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02032 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02048 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02064 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02080 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02096 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02112 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02128 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02144 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02160 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02176 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02192 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02208 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02224 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02240 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02256 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02272 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02288 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02304 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02320 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02336 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02352 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02368 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02384 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02400 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02416 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02432 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02448 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02464 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02480 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02496 520.83  00 da 6e                                         ..n
++GAP4 35 bytes position=2499 start=80 length=1126 usec
  02499 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  02515 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  02531 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=2534 start=81575 length=481 usec
  02534 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=2549 start=82057 lenght=226 usec (sct=5 sz=512) CRC OK
  02549 508.63  fe 00 00 05 02 06 ab                             .......
+ GAP3a 22 bytes position=2556 start=82283 length=706 usec
  02556 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  02572 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=2578 start=82990 length=487 usec
  02578 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=2593 start=83478 length=16578 usec CRC OK
  02593 508.63  fb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02609 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02625 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02641 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02657 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02673 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02689 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02705 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02721 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02737 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02753 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02769 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02785 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02801 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02817 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02833 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02849 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02865 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02881 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02897 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02913 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02929 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02945 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02961 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02977 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  02993 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03009 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03025 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03041 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03057 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03073 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03089 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03105 520.83  00 da 6e                                         ..n
++GAP4 35 bytes position=3108 start=100 length=1120 usec
  03108 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03124 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03140 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=3143 start=101177 length=482 usec
  03143 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=3158 start=101660 lenght=224 usec (sct=6 sz=512) CRC OK
  03158 508.63  fe 00 00 06 02 53 f8                             .....S.
+ GAP3a 22 bytes position=3165 start=101884 length=712 usec
  03165 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03181 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=3187 start=102596 length=478 usec
  03187 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=3202 start=103075 length=16572 usec CRC OK
  03202 508.63  fb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03218 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03234 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03250 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03266 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03282 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03298 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03314 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03330 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03346 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03362 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03378 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03394 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03410 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03426 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03442 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03458 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03474 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03490 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03506 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03522 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03538 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03554 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03570 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03586 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03602 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03618 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03634 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03650 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03666 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03682 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03698 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  03714 520.83  00 da 6e                                         ..n
++GAP4 35 bytes position=3717 start=119 length=1129 usec
  03717 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03733 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03749 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=3752 start=120777 length=482 usec
  03752 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=3767 start=121259 lenght=224 usec (sct=7 sz=512) CRC OK
  03767 508.63  fe 00 00 07 02 60 c9                             .....`.
+ GAP3a 22 bytes position=3774 start=121484 length=712 usec
  03774 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  03790 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 16 bytes position=3796 start=122196 length=511 usec
  03796 508.63  00 00 00 00 00 00 00 00 00 00 00 00 01 14 a1 a1  ................
--DATA 515 bytes position=3812 start=122707 length=16583 usec CRC BAD
  03812 508.63  fb f7 ff ff 03 40 00 05 60 00 07 80 00 09 a0 00  .....@..`.......
  03828 508.63  0b c0 00 0d e0 00 0f 00 01 11 20 01 13 40 01 15  .......... ..@..
  03844 508.63  60 01 17 f0 ff ff af 01 1b c0 01 1d e0 01 1f 00  `...............
  03860 512.69  02 21 20 02 23 40 02 25 60 02 27 80 02 14 0f fc  .! .#@.%`.'.....
  03876 508.63  c0 1f fc c0 0f fc c0 7f fc 46 4f fc 44 1f fc 40  ........FO.D..@
  03892 512.69  0f fc 40 3f fc 42 0f fc 00 10 7c 40 0f fc 40 7f  ..@?.B....|@..@
  03908 508.63  f9 9e 4f f9 9c 1f f9 98 0f f9 98 3f f9 92 0f f9  ..O........?....
  03924 504.56  90 1f f9 90 0f f9 90 7f f8 06 4f f8 04 1f f8 00  .........O.....
  03940 524.90  0f f8 00 3f f8 02 0f f8 00 1f f8 00 00 78 00 7f  ...?.........x.
  03956 528.97+ f8 8e 4f f8 8c 1f f8 88 0f f8 88 3f f8 82 0f f8  ..O........?....
  03972 524.90  80 1f f8 80 0f f8 80 7f f8 06 4f f8 04 1f f8 00  .........O.....
  03988 520.83  0f f8 00 3f f8 02 0f f8 00 1f f8 00 0f f8 00 00  ...?............
  04004 528.97+ 00 3e 4f f3 3c 1f f3 00 00 00 00 30 73 32 0f f3  .>O.<......0s2..
  04020 520.83  00 10 73 30 0f f3 30 7f f2 26 4f f2 24 1f f2 20  ..s0..0.&O.$..
  04036 528.97+ 0f f2 20 3f f2 22 0f f2 20 1f f2 20 0f f2 20 7f  .. ?.".. .. .. 
  04052 524.90  f0 0e 4f f0 0c 1f f0 08 0f f0 08 3f f0 02 0f f0  ..O........?....
  04068 492.35- 00 1f f0 00 0f f0 00 7f f0 06 4f f0 04 1f f0 00  .........O.....
  04084 484.21- 0f f0 00 3f f0 02 0f f0 00 1f f0 00 0f f0 00 7f  ...?...........
  04100 488.28- f1 1e 4f f1 1c 1f f1 18 0f f1 00 00 00 00 00 00  ..O.............
  04116 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04132 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04148 484.21- 00 00 00 00 00 70 7f ff ff ff ff ff ff ff ff ff  .....p.........
  04164 492.35- ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04180 488.28- ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04196 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04212 512.69  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04228 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04244 504.56  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04260 512.69  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04276 504.56  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04292 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04308 508.63  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
  04324 520.83  ff 20 0c                                         . .
++GAP4 34 bytes position=4327 start=139 length=1094 usec
  04327 508.63  00 a2 42 42 42 42 42 42 42 42 42 42 42 42 42 42  ..BBBBBBBBBBBBBB
  04343 508.63  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42  BBBBBBBBBBBBBBBB
  04359 508.63  42 43                                            BC
++GAP2 15 bytes position=4361 start=140385 length=486 usec
  04361 508.63  ff ff ff ff ff ff ff ff ff ff ff fc c2 a1 a1     ...............
==ID 7 bytes position=4376 start=140871 lenght=227 usec (sct=8 sz=512) CRC OK
  04376 508.63  fe 00 00 08 02 70 f7                             .....p.
+ GAP3a 22 bytes position=4383 start=141099 length=706 usec
  04383 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  04399 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=4405 start=141806 length=483 usec
  04405 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=4420 start=142289 length=16571 usec CRC OK
  04420 508.63  fb 00 00 00 00 00 00 00 00 70 ff 00 00 00 00 00  .........p......
  04436 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04452 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04468 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04484 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04500 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04516 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04532 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04548 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04564 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04580 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04596 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04612 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04628 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04644 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04660 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04676 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04692 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04708 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04724 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04740 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04756 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04772 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04788 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04804 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04820 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04836 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04852 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04868 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04884 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04900 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04916 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  04932 520.83  00 ad 88                                         ...
++GAP4 35 bytes position=4935 start=158 length=1127 usec
  04935 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  04951 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  04967 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=4970 start=159988 length=483 usec
  04970 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=4985 start=160471 lenght=227 usec (sct=9 sz=512) CRC OK
  04985 508.63  fe 00 00 09 02 43 c6                             .....C.
+ GAP3a 22 bytes position=4992 start=160699 length=703 usec
  04992 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  05008 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=5014 start=161403 length=478 usec
  05014 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=5029 start=161881 length=16571 usec CRC OK
  05029 508.63  fb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05045 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05061 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05077 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05093 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05109 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05125 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05141 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05157 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05173 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05189 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05205 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05221 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05237 520.83  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05253 528.97+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05269 524.90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05285 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05301 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05317 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05333 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05349 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05365 484.21- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05381 492.35- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05397 488.28- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05413 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05429 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05445 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05461 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05477 512.69  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05493 504.56  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05509 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05525 508.63  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05541 520.83  00 da 6e                                         ..n
++GAP4 35 bytes position=5544 start=178 length=1125 usec
  05544 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  05560 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  05576 508.63  4e 4e 4e                                         NNN
++GAP2 15 bytes position=5579 start=179578 length=485 usec
  05579 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
==ID 7 bytes position=5594 start=180063 lenght=227 usec (sct=10 sz=512) CRC OK
  05594 508.63  fe 00 00 0a 02 16 95                             .......
+ GAP3a 22 bytes position=5601 start=180291 length=706 usec
  05601 508.63  4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e  NNNNNNNNNNNNNNNN
  05617 508.63  4e 4e 4e 4e 4e 4e                                NNNNNN
+ GAP3b 15 bytes position=5623 start=180997 length=482 usec
  05623 508.63  00 00 00 00 00 00 00 00 00 00 00 00 14 a1 a1     ...............
--DATA 515 bytes position=5638 start=181480 length=16584 usec CRC BAD
  05638 508.63  fb 01 01 00 00 01 00 00 00 00 00 00 00 00 00 00  ................
  05654 508.63  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05670 508.63  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05686 512.69  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05702 508.63  01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05718 512.69  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05734 508.63  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05750 504.56  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05766 524.90  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
  05782 528.97+ 01 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00  ................
  05798 524.90  00 90 40 85 01 07 18 90 46 bc 22 1c 08 56 85 10  ..@.....F."..V..
  05814 520.83  94 53 cc 4c 41 10 c4 0e 44 01 9d a5 36 e0 4a 50  .S.LA...D...6.JP
  05830 528.97+ 44 08 40 c0 b5 90 04 00 16 80 98 82 02 03 10 06  D.@.............
  05846 520.83  d0 19 84 12 56 04 00 88 55 40 20 4c 33 44 84 08  ....V...U@ L3D..
  05862 528.97+ 01 11 02 0a 95 0e 34 00 25 6c 80 12 04 08 20 e9  ......4.%l.... .
  05878 524.90  08 04 80 09 21 e4 c0 84 2d 88 61 05 6e 0b 06 03  ....!...-.a.n...
  05894 492.35- 20 81 4a 1c 00 23 1a 4a 31 20 0a 00 00 04 04 2e   .J..#.J1 ......
  05910 484.21- 43 a6 23 99 48 bb 01 63 2e 01 11 46 86 80 0a 21  C.#.H..c...F...!
  05926 488.28- 2a b0 00 52 28 32 03 0b 05 78 71 30 e0 5a 89 82  *..R(2...xq0.Z..
  05942 492.35- 41 18 64 5c 00 64 11 0c 61 90 da 41 5c 0a 02 42  A.d\.d..a..A\..B
  05958 488.28- 00 69 e0 52 08 30 82 14 24 0e 00 20 60 58 80 04  .i.R.0..$.. `X..
  05974 484.21- 4c 41 06 00 c1 a4 27 42 42 05 85 41 00 4a 92 02  LA....'BB..A.J..
  05990 492.35- e5 02 c0 80 d3 c0 03 da 2a 21 cc 89 22 c8 06 01  ........*!.."...
  06006 488.28- 41 2f 0a 34 b3 18 29 52 24 88 8a 8f 01 81 84 44  A/.4..)R$......D
  06022 508.63  cc 00 7c 93 21 6a 5c 08 50 fc a8 80 08 14 55 11  ..|.!j\.P.....U.
  06038 512.69  24 84 a0 00 00 59 04 a1 18 06 41 24 00 10 28 94  $....Y....A$..(.
  06054 508.63  a8 a0 89 20 10 00 d6 06 6a c1 1b 40 f8 43 24 a6  ... ....j..@.C$.
  06070 504.56  82 48 45 62 80 14 47 d8 89 24 b0 24 8b 45 24 82  .HEb..G..$.$.E$.
  06086 512.69  40 02 c2 60 c1 48 90 8c 16 90 54 0a 71 12 1c 04  @..`.H....T.q...
  06102 504.56  02 22 91 10 83 06 0d a0 32 56 4c 02 35 24 54 04  ."......2VL.5$T.
  06118 508.63  00 0b 09 3c 0c 28 64 13 80 a1 96 88 01 c3 1d 28  ...<.(d........(
  06134 508.63  68 28 66 88 8d 11 44 0e 20 40 08 73 43 0e 06 40  h(f...D. @.sC..@
  06150 520.83  a4 0e 73                                         ..s
++GAP4 87 bytes position=6153 start=198 length=22559 usec
  06153 508.63  26 22 4e b1 04 80 80 46 58 58 10 02 fc 40 08 23  &"N....FXX...@.#
  06169 508.63  88 1c a6 41 8d 10 64 40 90 93 09 00 40 26 d2 30  ...A..d@....@&.0
  06185 508.63  46 04 1a 11 1e 00 b1 18 00 00 04 10 26 38 81 30  F...........&8.0
  06201 512.69  04 04 52 62 17 2b 80 08 8f 14 09 4a 26 94 20 d7  ..Rb.+.....J&. .
  06217 508.63  10 94 04 09 02 5c 25 e8 80 1a 8c 08 a2 34 e8 26  .....\%......4.&
  06233 512.69  00 0a 52 01 01 ab 02                             ..R....

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Wed May 29, 2013 2:53 pm

DrCoolZic wrote:
npomarede wrote: Problem is that in my case I don't have a disk available at the same time as a real floppy disk, an ST/MSA image, an IPF image or an STX image.

Does that mean you do not have Kryoflux?
If you have Kryoflux you can use an IPF file and create a FD from it and from the FD you can do an STX

No, I don't have a kryoflux board. That why in my case the only option for now is to measure standard floppy as I can format/create them with my STF.

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 2:57 pm

npomarede wrote:No, I don't have a kryoflux board. That why in my case the only option for now is to measure standard floppy as I can format/create them with my STF.

And I guess you do not have a FD of one of the 305 games in IPF format?

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Wed May 29, 2013 3:02 pm

DrCoolZic wrote:
npomarede wrote:No, I don't have a kryoflux board. That why in my case the only option for now is to measure standard floppy as I can format/create them with my STF.

And I guess you do not have a FD of one of the 305 games in IPF format?

You guess right :) I was mostly interested in demos coding back in those day and didn't play game that much on ST. I have a few games' FD, but none that match the current IPF released so far.

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2809
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

Re: IPF support and tests

Postby AtariZoll » Wed May 29, 2013 4:38 pm

In case of simple, unprotected floppies, sector data is well separable, and is same as in ST images.
I will use F19 Stealth Fighter as base for 10 s/t 2S floppy. Only want for now to do simple conversion of ST format to IPF, for testing purposes.
Later will look for 9 s/t ...

I see that there is checksum for track data, what mast be recalculated when we change sector contents (will look later for CRCs) .
DrCoolZic do you know details of IPF checksum calculation ?
If I just change some byte(s) in 1 sector, whole track is reported as not existing, bad, no sectors - what was to expect.
Negative feedback has usually positive effect.

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Wed May 29, 2013 9:09 pm

Each block of data in an IPF file is associated with a CRC32 value that allows to verify that the block of data read has not been corrupted.
see page 9 of my doc

AtariZoll
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2809
Joined: Mon Feb 20, 2012 4:42 pm
Contact:

Re: IPF support and tests

Postby AtariZoll » Thu May 30, 2013 8:28 am

Sorry, I can't find it on your site. I DL-ed it at KryoFlux forum, and there are only 8 pages. v00 from Jan 16 2012 . I really don't see where to get newer version.
Negative feedback has usually positive effect.

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Thu May 30, 2013 9:14 am

AtariZoll wrote:Sorry, I can't find it on your site. I DL-ed it at KryoFlux forum, and there are only 8 pages. v00 from Jan 16 2012 . I really don't see where to get newer version.

This is strange you should find it at http://info-coach.fr/atari/software/projects/IPF.php follow the IPF documentation link http://info-coach.fr/atari/software/pro ... tation.pdf
Let me know if this work for you.

As far as coding I would recommend you use the CAPS lib code. You can find my documentation here:
.h file http://info-coach.fr/atari/software/pro ... ource.html
.cpp file http://info-coach.fr/atari/software/pro ... ource.html

Let me know if you have problem

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Fri May 31, 2013 8:24 am

DrCoolZic wrote:Another topic that was raised is the problem of precision of the timing in Steem using Normal(ST/MSA) / STX / IPF files versus real Atari.

Back in 2008 I have developed a program called PANZER (Protection ANalyZER) that runs on Atari (and therefore on Steem) and provides a lot of timing information. It is for example possible to know the exact position in microsec of a sector in reference to the index or sector/track lengh and to some degree value of byte width in a sector to detect long/short sectors or intra sector variation. For that matter I have developed a FDC library that interact directly with the HW and provide timing information not available from std lib. To get maximum precision I have even written a tiny part of the lib in higly optimized 68000 ASM (interesting as I am not at all an ASM guy). :lol:


I was looking for Panzer on your site, but can't find it. Where can it be downloaded ?

Nicolas

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Fri May 31, 2013 10:22 am

npomarede wrote:I was looking for Panzer on your site, but can't find it. Where can it be downloaded ?
Nicolas

I do not think I have published it anywhere because I felt it was an unfinished utility (missing features) ...
If I look at the date in the user's guide it says 2008 :) so long long time on hold :(
May be it is time to resurrect it :)

Give me one or two days to check documentation and perform basic tests and I will publish on Atari-Forum
In fact I think I will start a new thread called "Timing Information Tool for emulators" where I can put Panzer / KFAnalyzer / IPFAnalyzer (I beleive never published) where we can perform some test about timing for different format/platform combination.
I will aslso put IPFCheck (may be modified to IPFAtari) that allow to check you are using a proper IPF file for Atari. "Real IPF" files created and blessed by SPS are using specific information that indicates originator of the file. If someone is working on converter from ST/MSA to IPF some fields will need to be set to specific values so we know this is not an SPS file.

I have also finished a new version of my Pasti Internal format doc + dump code. Very interesting information :mrgreen: I have sent a copy to Ijor with questions but not received any feedback at this point :roll:
I was thinking of making an IPF to Pasti converter (easy but you are probably not interested) and eventually a Pasti to IPF converter (difficult but more interesting for you?)
Pasti is a probably more reasonable format for Atari than IPF. It has some quirks for historical reasons (non anticipated protections discovered later . I do not think that you have support for it in Hatari because Ijor only provided a DLL
Last edited by DrCoolZic on Fri May 31, 2013 11:56 am, edited 1 time in total.

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Fri May 31, 2013 11:54 am

DrCoolZic wrote:
npomarede wrote:I was looking for Panzer on your site, but can't find it. Where can it be downloaded ?
Nicolas

I do not think I have published it anywhere because I felt it was an unfinished utility (missing features) ...
If I look at the date in the user's guide it says 2008 :) so long long time on hold :(
May be it is time to resurrect it :)

Give me one or two days to check documentation and perform basic tests and I will publish on Atari-Forum

At the moment, I'm writing some programs to measure such timings. Seeing the output you posted, it could be interesting to use panzer to compare HW / emulation.
If you can release your program, it would save me time instead of reinventing the wheel :)
By the way, do you know some other Atari ST programs / copiers that provide this kind of analysis (gap length or things like that), even if it's not as detailled as your program ?
I have also finished a new version of my Pasti Internal format doc + dump code. Very interesting information :mrgreen: I have sent a copy to Ijor with questions but not received any feedback at this point :roll:
I was thinking of making an IPF to Pasti converter (easy but you are probably not interested) and eventually a Pasti to IPF converter (difficult but more interesting for you?)
Pasti is a reasonable format for Atari. It has some quirks for historical reasons (non anticipated protections discovered later) probably more than IPF. I do not think that you have support for it in Hatari because Ijor only provide a DLL

Yes, pasti is interesting and I'd really like to have native support for it in Hatari. Having a pasti to ipf converter could be interesting as it would at least allow to use the huge list of pasti disks under Hatari (even if most of those disks/games already exist in game compilations by Automation, FOF, Pompey Pirates, ...)

Nicolas

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Fri May 31, 2013 12:23 pm

npomarede wrote:At the moment, I'm writing some programs to measure such timings. Seeing the output you posted, it could be interesting to use panzer to compare HW / emulation.
If you can release your program, it would save me time instead of reinventing the wheel :)
By the way, do you know some other Atari ST programs / copiers that provide this kind of analysis (gap length or things like that), even if it's not as detailled as your program ?
Nicolas

No I am not aware of other program that report timing of FD layout info.

For information it took me some tome to reinvent the wheel myself for timing measurement. At the time I have been searching the Web and even asking Ijor about technique to measure FDC byte rate transfer. But everybody is very evasive on the subject ... yes it is possible, but it is complex, it goes beyond your knowledge, etc ... Sounds like a secret story.
But if you spend time to look at the problem there is (I believe) only one possible solution that can be implemented differently: measure timing between DMA burst.
After I got it to work, and only after, Ijor told me that this was what he was using in Pasti imaging tool :)
If you are interested I describe the process in my FD programming doc at the end of document page 33/34 "Measurement of FDC bytes time-width"

I never had time to publish my FDLib code (full of trade secrets with even ONE function in assembly - this is sacrilege for me :lol: :lol: :lol: ) and also because I am in middle of adding support to HD :mrgreen:
By the way I need to check how IPF is handled in Steem: not sure that when you use IPF you still get Pasti and the HD emulation?
The HD emulation is important and was very well implemented by Ijor (just missing ICD extension). It provides a reasonable DMA emulation which is week in original Steem ...

Will try to publish Panzer today because wont be here for the week-end :(

User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Fri May 31, 2013 12:33 pm

DrCoolZic wrote:No I am not aware of other program that report timing of FD layout info.
For information it took me some tome to reinvent the wheel myself for timing measurement. At the time I have been searching the Web and even asking Ijor about technique to measure FDC byte rate transfer. But everybody is very evasive on the subject ... yes it is possible, but it is complex, it goes beyond your knowledge, etc ... Sounds like a secret story.
But if you spend time to look at the problem there is (I believe) only one possible solution that can be implemented differently: measure timing between DMA burst.
After I got it to work, and only after, Ijor told me that this was what he was using in Pasti imaging tool :)
If you are interested I describe the process in my FD programming doc at the end of document page 33/34 "Measurement of FDC bytes time-width"

OK, I will wait for you to release panzer.
I already know how to measure this on real hardware, by mixing read track, read address and the changes in dma address values, it's just that I don't have time to code a whole program at the moment, due to working/fixing other parts of Hatari.
If you can publish panzer .prg without the sources, it would be enough for me :)

User avatar
simonsunnyboy
Moderator
Moderator
Posts: 4852
Joined: Wed Oct 23, 2002 4:36 pm
Location: Friedrichshafen, Germany
Contact:

Re: IPF support and tests

Postby simonsunnyboy » Fri May 31, 2013 1:38 pm

Backporting .STX images could have benefits. Pasti images can be made on normal ST hardware without special cards or drives or imaging hardware.
This way more Kryoflux compatible software could be made available and Hatari would benefit from having those originals without having to wait for PASTI incase IPF support can be done sooner.
Simon Sunnyboy/Paradize - http://paradize.atari.org/ - STOT: http://www.npoi.de/stot/

Stay cool, stay Atari!

1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Jabber: simonsunnyboy@atari-jabber.org

User avatar
DrCoolZic
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2144
Joined: Mon Oct 03, 2005 7:03 pm
Location: France
Contact:

Re: IPF support and tests

Postby DrCoolZic » Fri May 31, 2013 1:45 pm


User avatar
npomarede
Atari God
Atari God
Posts: 1166
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: IPF support and tests

Postby npomarede » Fri May 31, 2013 1:50 pm

DrCoolZic wrote:OK done look at viewtopic.php?f=94&t=25114

Great, I will give it a look with some standard 10 sectors disks to see if Hatari reports the same timings as my 520 STF.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1952
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: IPF support and tests

Postby Steven Seagal » Sat Jun 01, 2013 6:00 pm

DrCoolZic wrote:By the way I need to check how IPF is handled in Steem: not sure that when you use IPF you still get Pasti and the HD emulation?
The HD emulation is important and was very well implemented by Ijor (just missing ICD extension). It provides a reasonable DMA emulation which is week in original Steem ...

(


It's a long topic, I'll just reply to this for now.

When Pasti is in charge, it manages its format STX and ST, MSA, and a "hard disk", not IPF.
It takes over DMA emulation. Changing this behaviour is involved.
CAPS only does IPF and not DMA, only WD1772.
So in Steem, Pasti is an option in disk manager, while to load an IPF disk you click as it was MSA. You can't have a STX disk image in A: and IPF in B:.
But you can "procopy" (write track) an IPF disk to a ST image in Steem!
And Steem's HD emu (not low level) is compatible with IPF like ST, MSA.


I made some DMA improvements when adding IPF support to Steem, on the floppy side, and some others for v3.5.1.


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest