View Single Post
Old 12 October 2017, 08:55   #5
Jeff_HxC2001
Registered User
 
Join Date: Sep 2008
Location: Paris / France
Posts: 649
Quote:
Originally Posted by mark_k View Post
Thanks for that link! Some questions...

In direct_access_status_sector:
What are the power-on defaults for lba_base and number_of_sector?
0x00000000

Quote:
Originally Posted by mark_k View Post
What happens if a read/write is attempted that would overrun the end of the USB drive?
Error reported (SD flag changed)

Quote:
Originally Posted by mark_k View Post
In direct_access_cmd_sector struct, is cmd_checksum used? I couldn't see where the Amiga selector code sets that.
No. Just rely on the sector CRC.

Quote:
Originally Posted by mark_k View Post
CMD_SET_LBA: Does parameter_4 do anything on Gotek hardware? What happens if parameter_5 value is not valid?
You can't clear the read only flag. nothing more.

Quote:
Originally Posted by mark_k View Post
CMD_SET_TRACK_POS (command 0x02): What is that used for? I guess it's to set the track number at which the hardware responds to "special" commands/access. Does Gotek hardware support emulation of two drives simultaneously, or is that only for HxC hardware?
Fast direct access mode exit. The file images are then ready to be used faster.
2 drives on the real HxC only.

Quote:
Originally Posted by mark_k View Post
What is the name of command 0x03? I think there's a typo in the PDF, it has CMD_SET_TRACK_POS twice.
something like CMD_FORCE_300RPM. Must check.

Quote:
Originally Posted by mark_k View Post
In the examples, to e.g. read sector 0x00100004, you change LBA to 0x00100000 first. Is it required for the base LBA to be a multiple of 8? Or could you instead change LBA to 0x00100004 and read sector#1?
No, no special alignment required, you can do what you want. Just think that a write to change the LBA cost time, so if you can avoid to change the LBA for each sector, this is better

Quote:
Originally Posted by mark_k View Post
What are the timing limits (min/max) for stepping heads? For support in WinUAE or other emulator it will be best to match what real hardware/firmware requires.

The Amiga selector uses 80us or 8us step delay when checking for presence of floppy emulator in test_drive(). Then jumptotrack() uses 1ms.

test_drive() steps to track 0 with 80us step delay (too small for a real floppy drive). Needs max 260 steps until track0 signal.

Then it steps inward 40 times (source comment says 30 though?) with 8us step delay. Wait 200us then step outward (towards track 0) 40 times (again comment says 30). Need to have track0 signal after the 40th step.
No special timing required. I just do this to check that the drive is the emulator before stepping to track 255... The emulator can accept faster step rate...

Quote:
Originally Posted by mark_k View Post
Edit to add: is there any way for the Amiga to determine the USB drive capacity?
The size detection is based on the FAT partition informations.

Why all these questions ? Just to ask or something is planned ?
Jeff_HxC2001 is offline  
 
Page generated in 0.07342 seconds with 11 queries