874 |
|
WriteMacInt32(pb + csParam + 4, FOURCC('c','d','r','m')); |
875 |
|
break; |
876 |
|
case FOURCC('i','n','t','f'): // Interface type |
877 |
< |
WriteMacInt32(pb + csParam + 4, FOURCC('b','a','s','i')); |
877 |
> |
WriteMacInt32(pb + csParam + 4, EMULATOR_ID_4); |
878 |
|
break; |
879 |
|
case FOURCC('s','y','n','c'): // Only synchronous operation? |
880 |
|
WriteMacInt32(pb + csParam + 4, 0x01000000); |
917 |
|
|
918 |
|
// Drive-specific codes |
919 |
|
switch (code) { |
920 |
+ |
case 6: // Return format list |
921 |
+ |
if (ReadMacInt16(pb + csParam) > 0) { |
922 |
+ |
uint32 adr = ReadMacInt32(pb + csParam + 2); |
923 |
+ |
WriteMacInt16(pb + csParam, 1); // 1 format |
924 |
+ |
WriteMacInt32(adr, SysGetFileSize(info->fh) / 512); // Number of blocks |
925 |
+ |
WriteMacInt32(adr + 4, 0); // heads/track/sectors |
926 |
+ |
return noErr; |
927 |
+ |
} else |
928 |
+ |
return paramErr; |
929 |
+ |
|
930 |
|
case 8: // DriveStatus |
931 |
|
Mac2Mac_memcpy(pb + csParam, info->status, 22); |
932 |
|
return noErr; |