|
|
1.1 ! root 1: /* ! 2: Hatari ! 3: ! 4: ST Disc support ! 5: */ ! 6: ! 7: #include "main.h" ! 8: #include "file.h" ! 9: ! 10: #define SAVE_TO_ST_IMAGES ! 11: ! 12: /* ! 13: .ST FILE FORMAT ! 14: --===============------------------------------------------------------------- ! 15: ! 16: The file format of the .ST image files used by PaCifiST is simplicity itself; ! 17: they are just straight images of the disk in question, with sectors stored in ! 18: the expected logical order. So, on a sector basis the images run from sector ! 19: 0 (bootsector) to however many sectors are on the disk. On a track basis the ! 20: layout is the same as for MSA files but obviously the data is raw, no track ! 21: header or compression or anything like that. ! 22: ! 23: TRACK 0, SIDE 0 ! 24: TRACK 0, SIDE 1 ! 25: TRACK 1, SIDE 0 ! 26: TRACK 1, SIDE 1 ! 27: TRACK 2, SIDE 0 ! 28: TRACK 2, SIDE 1 ! 29: */ ! 30: ! 31: ! 32: //----------------------------------------------------------------------- ! 33: /* ! 34: Load .ST file into memory, return number of bytes loaded ! 35: */ ! 36: int ST_ReadDisc(char *pszFileName,unsigned char *pBuffer) ! 37: { ! 38: void *pSTFile; ! 39: long ImageSize=0; ! 40: ! 41: // Just load directly into buffer, and set ImageSize accordingly(no need to free memory) ! 42: pSTFile = File_Read(pszFileName,pBuffer,&ImageSize,NULL); ! 43: if (!pSTFile) ! 44: ImageSize = 0; ! 45: ! 46: return(ImageSize); ! 47: } ! 48: ! 49: //----------------------------------------------------------------------- ! 50: /* ! 51: Save .ST file from memory buffer. Returns TRUE is all OK ! 52: */ ! 53: BOOL ST_WriteDisc(char *pszFileName,unsigned char *pBuffer,int ImageSize) ! 54: { ! 55: #ifdef SAVE_TO_ST_IMAGES ! 56: ! 57: // Just save buffer directly to file ! 58: return( File_Save(/*hWnd,*/pszFileName,pBuffer,ImageSize,FALSE) ); ! 59: ! 60: #else //SAVE_TO_ST_IMAGES ! 61: ! 62: // Oops, cannot save ! 63: return(FALSE); ! 64: ! 65: #endif //SAVE_TO_ST_IMAGES ! 66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.