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

Function sys_command_read

src/blkdev.cpp:1017–1036  ·  view source on GitHub ↗

read block */

Source from the content-addressed store, hash-verified

1015
1016/* read block */
1017int sys_command_read (int unitnum, uae_u8 *data, int block, int size)
1018{
1019 int v;
1020 if (failunit (unitnum))
1021 return 0;
1022 if (!getsem (unitnum))
1023 return 0;
1024 if (state[unitnum].device_func->read == NULL) {
1025 uae_u8 cmd[12] = { 0xa8, 0, 0, 0, 0, 0, (uae_u8)(size >> 24), (uae_u8)(size >> 16), (uae_u8)(size >> 8), (uae_u8)(size >> 0), 0, 0 };
1026 cmd[2] = (uae_u8)(block >> 24);
1027 cmd[3] = (uae_u8)(block >> 16);
1028 cmd[4] = (uae_u8)(block >> 8);
1029 cmd[5] = (uae_u8)(block >> 0);
1030 v = do_scsi (unitnum, cmd, sizeof cmd, data, size * 2048);
1031 } else {
1032 v = state[unitnum].device_func->read (unitnum, data, block, size);
1033 }
1034 freesem (unitnum);
1035 return v;
1036}
1037
1038/* write block */
1039int sys_command_write (int unitnum, uae_u8 *data, int offset, int size)

Callers 1

command_readFunction · 0.85

Calls 5

failunitFunction · 0.85
getsemFunction · 0.85
do_scsiFunction · 0.85
freesemFunction · 0.85
readMethod · 0.45

Tested by

no test coverage detected