MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / atapi_set_size

Function atapi_set_size

src/ide.cpp:859–883  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

857}
858
859static bool atapi_set_size (struct ide_hdf *ide)
860{
861 int size;
862 size = ide->data_size;
863 ide->data_offset = 0;
864 if (!size) {
865 ide->packet_state = 0;
866 ide->packet_transfer_size = 0;
867 return false;
868 }
869 if (ide->packet_state == 2) {
870 if (size > ide->packet_data_size)
871 size = ide->packet_data_size;
872 if (size > ATAPI_MAX_TRANSFER)
873 size = ATAPI_MAX_TRANSFER;
874 ide->packet_transfer_size = size & ~1;
875 ide->regs.ide_lcyl = size & 0xff;
876 ide->regs.ide_hcyl = size >> 8;
877 } else {
878 ide->packet_transfer_size = 12;
879 }
880 if (IDE_LOG > 1)
881 write_log (_T("ATAPI data transfer %d/%d bytes\n"), ide->packet_transfer_size, ide->data_size);
882 return true;
883}
884
885static void atapi_packet (struct ide_hdf *ide)
886{

Callers 3

atapi_packetFunction · 0.85
do_packet_commandFunction · 0.85

Calls 1

write_logFunction · 0.70

Tested by

no test coverage detected