|
|
| version 1.1, 2003/10/16 17:58:29 | version 1.2, 2005/02/07 14:46:09 |
|---|---|
| Line 1 | Line 1 |
| enum { | |
| D88_TRACKMAX = 164, | |
| D88_HEADERSIZE = 0x20 + (D88_TRACKMAX * 4) | |
| }; | |
| #if defined(__GNUC__) | #if defined(__GNUC__) |
| // D88ヘッダ (size: 2b0h bytes) | // D88ヘッダ (size: 2b0h bytes) |
| typedef struct { | typedef struct { |
| BYTE fd_name[17]; // Disk Name | UINT8 fd_name[17]; // Disk Name |
| BYTE reserved1[9]; // Reserved | UINT8 reserved1[9]; // Reserved |
| BYTE protect; // Write Protect bit:4 | UINT8 protect; // Write Protect bit:4 |
| BYTE fd_type; // Disk Format | UINT8 fd_type; // Disk Format |
| BYTE fd_size[4]; // Disk Size | UINT8 fd_size[4]; // Disk Size |
| BYTE trackp[164][4]; // Track_pointer | UINT8 trackp[D88_TRACKMAX][4]; |
| } __attribute__ ((packed)) _D88HEAD, *D88HEAD; | } __attribute__ ((packed)) _D88HEAD, *D88HEAD; |
| // D88セクタ (size: 16bytes) | // D88セクタ (size: 16bytes) |
| typedef struct { | typedef struct { |
| BYTE c; | UINT8 c; |
| BYTE h; | UINT8 h; |
| BYTE r; | UINT8 r; |
| BYTE n; | UINT8 n; |
| BYTE sectors[2]; // Sector Count | UINT8 sectors[2]; // Sector Count |
| BYTE mfm_flg; // sides | UINT8 mfm_flg; // sides |
| BYTE del_flg; // DELETED DATA | UINT8 del_flg; // DELETED DATA |
| BYTE stat; // STATUS (FDC ret) | UINT8 stat; // STATUS (FDC ret) |
| BYTE seektime; // Seek Time | UINT8 seektime; // Seek Time |
| BYTE reserved[3]; // Reserved | UINT8 reserved[3]; // Reserved |
| BYTE rpm_flg; // rpm 0:1.2 1:1.44 | UINT8 rpm_flg; // rpm 0:1.2 1:1.44 |
| BYTE size[2]; // Sector Size | UINT8 size[2]; // Sector Size |
| } __attribute__ ((packed)) _D88SEC, *D88SEC, D88_SECTOR; | } __attribute__ ((packed)) _D88SEC, *D88SEC; |
| #else | #else |
| #pragma pack(push, 1) | #pragma pack(push, 1) |
| // D88ヘッダ (size: 2b0h bytes) | // D88ヘッダ (size: 2b0h bytes) |
| typedef struct { | typedef struct { |
| BYTE fd_name[17]; // Disk Name | UINT8 fd_name[17]; // Disk Name |
| BYTE reserved1[9]; // Reserved | UINT8 reserved1[9]; // Reserved |
| BYTE protect; // Write Protect bit:4 | UINT8 protect; // Write Protect bit:4 |
| BYTE fd_type; // Disk Format | UINT8 fd_type; // Disk Format |
| BYTE fd_size[4]; // Disk Size | UINT8 fd_size[4]; // Disk Size |
| BYTE trackp[164][4]; // Track_pointer | UINT8 trackp[D88_TRACKMAX][4]; |
| } _D88HEAD, *D88HEAD; | } _D88HEAD, *D88HEAD; |
| // D88セクタ (size: 16bytes) | // D88セクタ (size: 16bytes) |
| typedef struct { | typedef struct { |
| BYTE c; | UINT8 c; |
| BYTE h; | UINT8 h; |
| BYTE r; | UINT8 r; |
| BYTE n; | UINT8 n; |
| BYTE sectors[2]; // Sector Count | UINT8 sectors[2]; // Sector Count |
| BYTE mfm_flg; // sides | UINT8 mfm_flg; // sides |
| BYTE del_flg; // DELETED DATA | UINT8 del_flg; // DELETED DATA |
| BYTE stat; // STATUS (FDC ret) | UINT8 stat; // STATUS (FDC ret) |
| BYTE seektime; // Seek Time | UINT8 seektime; // Seek Time |
| BYTE reserved[3]; // Reserved | UINT8 reserved[3]; // Reserved |
| BYTE rpm_flg; // rpm 0:1.2 1:1.44 | UINT8 rpm_flg; // rpm 0:1.2 1:1.44 |
| BYTE size[2]; // Sector Size | UINT8 size[2]; // Sector Size |
| } _D88SEC, *D88SEC, D88_SECTOR; | } _D88SEC, *D88SEC; |
| #pragma pack(pop) | #pragma pack(pop) |
| #endif | #endif |