Author Topic: arnoldemu's testbench fdctest "2D:FAIL 01"  (Read 1002 times)

0 Members and 1 Guest are viewing this topic.

Offline freemac

  • 464 Plus
  • *****
  • Posts: 374
  • Country: 00
  • Liked: 268
  • Likes Given: 272
arnoldemu's testbench fdctest "2D:FAIL 01"
« on: 09:46, 04 August 17 »
Comparing test 2D with 2E :
  • test 2D does read track with MT (multitrack) starting side 0
  • test 2E does read track with MT (multitrack) starting side 1
Here I'm a lot confused between "head" from second param of command instruction (command instruction being first param :p), and "head" from CHRN params following.
It's said first "head" is about physical head, and second "head" is about logical head (one read from sector-info (sector-id...))
But here in the test, command "read track" (so "I don't care about logical informations" (comparing it to read data command)), physical head is switched in test 2E and also in 2E result so... I don't know if finally the result head (in CHRN) is logical or else physical one... and so then I don't know if the test 2E does result sectors in the same order than test 2D or not...........

May someone help me ? Mayday !

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2283
  • Likes Given: 3478
Re: arnoldemu's testbench fdctest "2D:FAIL 01"
« Reply #1 on: 15:53, 04 August 17 »
It's said first "head" is about physical head, and second "head" is about logical head (one read from sector-info (sector-id...))
Command is 1 byte, followed by drive and head.

Head here is physical head, it is the /SIDE output from 765. drive is the physical drive output from 765 (US0 and US1).

In the command are C,H,R,N values. These are matched against ID in the data on the track.

MFM track has:

gap data, sync bytes, id marker, C,H,R,N,crc, gap data, sync bytes, data field code (data or deleted data), data bytes, crtc.

So in command, C,H,R,N are starting values and are matched against the data in the id field.
When that data matches it reads from the data field.

With multi-track, physical head is changed AND logical head is changed.

FDC reads R, then R+1 until R=EOT, then it will change physical head and logical head to read the 2nd side.

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