// 512B 18 sectors per track from Micropolis1300 controller manual
// http://www.bitsavers.org/pdf/adaptec/ACB-4000/400003-00A_ACB-4000A_Users_Manual_Oct85.pdf
DEF_EXTERN TRK_L trk_micropolis_1300_512b[]
#ifdef DEF_DATA
=
{ { 10, TRK_FILL, 0x4e, NULL },
{ 18, TRK_SUB, 0x00,
(TRK_L [])
{
{12, TRK_FILL, 0x00, NULL},
{10, TRK_FIELD, 0x00,
(FIELD_L []) {
{1, FIELD_A1, 0xa1, OP_SET, 0, NULL},
{1, FIELD_FILL, 0xfe, OP_SET, 1, NULL},
{0, FIELD_MARK_CRC_START, 0, OP_SET, 2, NULL},
// This adds upper 3 bits of cylinder to bits 4-6 of
// byte 3 and the rest in byte 2.
{0, FIELD_CYL, 0x00, OP_SET, 11,
(BIT_L []) {
{ 25, 3}, // Byte 3 bits 6-4 gets upper 3 bits
{ 16, 8}, // byte 2 gets lower 8 bits
{ -1, -1},
}
},
// Add head to lower bits
{1, FIELD_HEAD, 0x00, OP_XOR, 3, NULL},
{1, FIELD_SECTOR, 0x00, OP_SET, 4, NULL},
{1, FIELD_FILL, 0x00, OP_SET, 5, NULL},
{4, FIELD_HDR_CRC, 0x00, OP_SET, 6, NULL},
{-1, 0, 0, 0, 0, NULL}
}
},
// 3+12 Gap2
{3, TRK_FILL, 0x00, NULL},
{12, TRK_FILL, 0x00, NULL},
{518, TRK_FIELD, 0x00,
(FIELD_L []) {
{1, FIELD_A1, 0xa1, OP_SET, 0, NULL},
{1, FIELD_FILL, 0xf8, OP_SET, 1, NULL},
{0, FIELD_MARK_CRC_START, 0, OP_SET, 2, NULL},
{512, FIELD_SECTOR_DATA, 0x00, OP_SET, 2, NULL},
{4, FIELD_DATA_CRC, 0x00, OP_SET, 514, NULL},
{0, FIELD_NEXT_SECTOR, 0x00, OP_SET, 0, NULL},
{-1, 0, 0, 0, 0, NULL}
}
},
// 2+9 Gap3
{2, TRK_FILL, 0x00, NULL},
{9, TRK_FILL, 0x4e, NULL},
{-1, 0, 0, NULL},
}
},
{102, TRK_FILL, 0x4e, NULL},
{-1, 0, 0, NULL},
}
#endif
;