News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_freemac

arnoldemu's testbench fdctest "33:FAIL 01"

Started by freemac, 07:35, 04 August 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

freemac

Because I'm implementing a NEC FDC :p, I just continue this test bench :picard2:

I compare test 33 and 35 :

       
  • 33 does test read_data with MT (multitrack), from sector id 41 to 49, each side having sector id 41 to 49.
  • 35 does test read_data with MT (multitrack), from sector id 1 to 9, each side having sector id 1 to 9.
Test 33 does read 9 tracks.
Test 35 does read 9*2 tracks.

Is FDC clever enough to detect sort of dsk format ?
And how clever ? is it just memorizing last passed sector ID and ignore the next same one ? or else does it memorize all of them ? Or does it follow a simple written rule (if sectors on first side are 4X and in another are 0X then it's a double side multitrack) ?

arnoldemu

Quote from: freemac on 07:35, 04 August 17
Because I'm implementing a NEC FDC :p, I just continue this test bench :picard2:

I compare test 33 and 35 :

       
  • 33 does test read_data with MT (multitrack), from sector id 41 to 49, each side having sector id 41 to 49.
  • 35 does test read_data with MT (multitrack), from sector id 1 to 9, each side having sector id 1 to 9.
Test 33 does read 9 tracks.
Test 35 does read 9*2 tracks.

Is FDC clever enough to detect sort of dsk format ?
And how clever ? is it just memorizing last passed sector ID and ignore the next same one ? or else does it memorize all of them ? Or does it follow a simple written rule (if sectors on first side are 4X and in another are 0X then it's a double side multitrack) ?
read data with multi-track:

This will read from R to EOT, then it will set R=1 and toggle bit 0 of H and then attempt to read R to EOT again.

In the case of 41-49 and 1-9 (R=41, EOT=49), it will read 41-49, then read 1-9 (H^=1) and then error because it can't find R=A.

In the case of 1-9 and 1-9 (R=1, EOT=9), it will read 1-9, then H^=1 and then read 1-9 and finish with success.

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

arnoldemu

BTW I have started to update the fdc tests in my "acid tests".
I added
1. scrolling message to tell you when to press a key (because test pauses when it has filled screen with results and data)
2. I started to add option to use a test disk.

NOTE:

The tests need more than 1 test disk. Seek tests needs 2 test disks, one for single sided drives and 1 for double sided drives, the same is true for the other tests.

Also using the test disk is not a guarantee for success because "dsk" is not accurate enough to store the information for some of the tests. I do not have hardware to create high-quality disks from IPF or similar so I can't make a test disk like this.





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

Powered by SMFPacks Menu Editor Mod